## 🐛 Bug Report

Running with java binding and Firefox, the framework occasionally throws NullPointerException on the isDisplayed call.

**Please see https://github.com/mozilla/geckodriver/issues/1825 for more information.** As stated from geckodriver team, the issue is apparently related to the custom JS that is executed with this method. The ticket also contains trace logs. 

## To Reproduce

Hard to provide steps, as it happens "randomly".

## Expected behavior

Should not throw exception..

## Environment

OS: Windows 10
Browser: Firefox
Browser version: 84.0.1
Browser Driver version: geckodriver 0.28.0 (c00d2b6acd3f 2020-11-03 16:29 +0200)
Language Bindings version: java 3.141.59

WebElement other = (WebElement) obj;
    while (other instanceof WrapsElement) {
      other = ((WrapsElement) other).getWrappedElement();
    }
    if (!(other instanceof RemoteWebElement)) {
      return false;
    }
    RemoteWebElement otherRemoteWebElement = (RemoteWebElement) other;
    return id.equals(otherRemoteWebElement.id);
  }
  /**
   * @return This element's hash code, which is a hash of its internal opaque ID.
   */
  @Override
  public int hashCode() {
    return id.hashCode();
  }
  /*
   * (non-Javadoc)
   *
   * @see org.openqa.selenium.internal.WrapsDriver#getWrappedDriver()
   */
  @Override
  public WebDriver getWrappedDriver() {
    return parent;
  }
  @Override
  public boolean isDisplayed() {
    Object value = execute(DriverCommand.IS_ELEMENT_DISPLAYED(id))
      .getValue();