/**
  * @param dTypes
  * @return
  */
 List<String> filterDirectTypes(List<String> dTypes) {
   List<String> filteredList = new ArrayList();
   List<String> toRemove = new ArrayList();
   if (dTypes != null && dTypes.size() > 1) {
     // Map<String, Set<String>> subClasses = ontology2Map.getSubClasses();
     List<String> copyOfDtypes = new ArrayList();
     copyOfDtypes.addAll(dTypes);
     for (String classUri : dTypes) {
       Set<String> subClassesOfThis =
           luceneAnnotator.findSubClasses(classUri); // subClasses.get(classUri);
       for (String uri : copyOfDtypes) {
         if (subClassesOfThis.contains(uri) && !classUri.equals(uri)) {
           // remove this
           toRemove.add(uri);
         }
       }
       // classUri subclass DTypes[i]; ostaje
       // classUri superclass DTypes[i]; remove classUri
       // OVO NE TREBA DA BUDE OVDE; PROBAJ DA TO UBACIS TAMO KAD TRAZIS
       // SUGGESTIONS ILI RAZMISLI GDE JE VEC NAJBOLJE
     }
   }
   filteredList.addAll(dTypes);
   filteredList.removeAll(toRemove);
   return filteredList;
 }