protected static WebElement findElement(GrapheneContext context, final GrapheneProxy.FutureTarget target) {
final WebElement element = GrapheneProxy.getProxyForFutureTarget(context, target, WebElement.class, Locatable.class,
WrapsElement.class, FindsByClassName.class, FindsByCssSelector.class, FindsById.class, FindsByLinkText.class,
FindsByName.class, FindsByTagName.class, FindsByXPath.class);
final GrapheneProxyInstance elementProxy = (GrapheneProxyInstance) element;
InterceptorBuilder b = new InterceptorBuilder();
b.interceptInvocation(WrapsElement.class, new WrapsElementInterceptor(elementProxy)).getWrappedElement();
elementProxy.registerInterceptor(b.build());
elementProxy.registerInterceptor(new StaleElementInterceptor());
elementProxy.registerInterceptor(new SearchContextInterceptor());
return element;
}