@Override public <T> List<T> execute() throws QueryException { return getExecuter().execute(this); }
@Override public <T> List<T> execute(Query query) throws QueryException { if (query.isNamed()) { return this.namedQueryExecutorProvider.get().execute(query); } else { try { return this.componentManagerProvider.get() .<QueryExecutor>getInstance(QueryExecutor.class, query.getLanguage()).execute(query); } catch (ComponentLookupException e) { throw new QueryException("Fail to lookup query executor", query, e); } } }