QueryFacade implements Query { @Override public QueryResult execute() throws RepositoryException { QueryResult internal = delegate.execute(); return new QueryResultFacade<>(internal, session); } QueryFacade(final @NotNull Q delegate, final @NotNull SessionFacade<S> session); @Override QueryResult execute(); @Override void setLimit(long limit); @Override void setOffset(long offset); @Override String getStatement(); @Override String getLanguage(); @Override String getStoredQueryPath(); @Override void bindValue(String varName, Value value); @Override String[] getBindVariableNames(); @Override final Node storeAsNode(String absPath);  }
@Test public void testExecute() throws Exception { new FacadeGetterMapping.Tester<>(Query.class, this::getFacade) .testFacadeGetter(QueryResult.class, QueryResultFacade.class, Query::execute); }