public HashMap<String, Object> compile(String query, HashMap<String, Object> parameters) throws EXistException, PermissionDeniedException {
final HashMap<String, Object> ret = new HashMap<String, Object>();
DBBroker broker = null;
XQueryPool pool = null;
CompiledXQuery compiled = null;
final Source source = new StringSource(query);
try {
broker = factory.getBrokerPool().get(user);
final XQuery xquery = broker.getXQueryService();
pool = xquery.getXQueryPool();
compiled = compile(broker, source, parameters);