/**
  * Done parsing.
  *
  * @throws SAXException if there is a parsing error.
  */
 protected void doneParsing() throws SAXException {
   final LinkedMap map = (LinkedMap) parameters.getObject();
   staticDataFactory = new NamedStaticDataFactory();
   if (map.isEmpty()) {
     staticDataFactory.setQuery(queryName, className + '#' + methodName);
   } else {
     String query = className + '#' + methodName + '(';
     final Object[] objects = map.keys();
     for (int i = 0; i < objects.length; i++) {
       if (i != 0) {
         query += ",";
       }
       query += String.valueOf(objects[i]);
     }
     staticDataFactory.setQuery(queryName, query);
   }
 }
 /**
  * Returns a clone of the factory.
  *
  * @return the clone.
  */
 public NamedStaticDataFactory clone() {
   final NamedStaticDataFactory nds = (NamedStaticDataFactory) super.clone();
   nds.querymappings = (LinkedHashMap<String, String>) querymappings.clone();
   return nds;
 }