## 🐛 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

throw new UnsupportedOperationException("`findElement` has been replaced by usages of " + By.Remotable.class);
  }
  /**
   * @deprecated Rely on using {@link By.Remotable} instead
   */
  @Deprecated
  protected List<WebElement> findElements(String using, String value) {
    throw new UnsupportedOperationException("`findElement` has been replaced by usages of " + By.Remotable.class);
  }
  protected Response execute(CommandPayload payload) {
    try {
      return parent.execute(payload);
    } catch (WebDriverException ex) {
      ex.addInfo("Element", this.toString());
      throw ex;
    }
  }
  protected Response execute(String command, Map<String, ?> parameters) {
    try {
      return parent.execute(command, parameters);
    } catch (WebDriverException ex) {
      ex.addInfo("Element", this.toString());
      throw ex;
    }
  }
  @Override
  public boolean equals(Object obj) {
    if (!(obj instanceof WebElement)) {
      return false;
    }