log.info("Querying topicmap " + tm.getBaseLocator().getAddress() + ": \n" + query);
if(log.isDebugEnabled()){ log.debug("Querying topicmap " + tm.getBaseLocator().getAddress() + ": \n" + query); }
  protected void doQuery() throws JellyTagException {    TopicMap tm = getTopicMap();        log.info("Querying topicmap " + tm.getBaseLocator().getAddress() + ": \n" +             query);    QueryEvaluator qE = QueryEvaluatorFactory.newQueryEvaluator(tm);    if (qE == null) {      String s = "Unable to get QueryEvaluator for TopicMap " + tm;      throw new JellyTagException(s);    }    // evaluate the query    TologResultsSet results = null;    try {      results = qE.execute(query);      log.info("result set returned with " + results.getNumRows() + " rows.");      context.setVariable(getVar(), new TologResultSetWrapper(results));    } catch (TologParserException e1) {      String s = "Caught " + e1.getClass() + " - " + e1.getStackTrace();      s += (" while evaluating query " + query);      log.error(s, e1);      throw new UnsupportedOperationException(s);    } catch (TologProcessingException e1) {      String s = "Caught " + e1.getClass() + " - " + e1.getStackTrace();      s += (" while evaluating query " + query);      log.error(s, e1);      throw new UnsupportedOperationException(s);    }  }