code: public WebElement augment(RemoteWebElement element) {
      // TODO(simon): We should really add a "SelfDescribing" interface for this
      RemoteWebDriver parent = (RemoteWebDriver) element.getWrappedDriver();
      if (parent == null) {
        return element;
      }
  
      return create(parent, elementAugmentors, element);
    }
docs: Enhance the interfaces implemented by this instance of WebElement iff that instance is a
  {@link org.openqa.selenium.remote.RemoteWebElement}.
  
  The WebElement that is returned may well be a dynamic proxy. You cannot rely on the concrete
  implementing class to remain constant.
  
  @param element The driver to enhance.
  @return A class implementing the described interfaces.