Set ancestors = reason.retrieveAncestorClasses(clazz,equivalent,parents);
Set childs = reason.retrieveDirectSubClasses(clazz,equivalent);
Set decendants = reason.retrieveDescendantClasses(clazz,equivalent,childs);
SortedSet candidates = new TreeSet();
candidates.addAll(getServicesFromSet(false,equivalent,clazz,SimilarityMatchmaker.EXACT) );
candidates.addAll(getServicesFromSet(false,childs,clazz,SimilarityMatchmaker.PLUGIN) );
candidates.addAll(getServicesFromSet(false,decendants,clazz,SimilarityMatchmaker.SUBSUMES) );
candidates.addAll(getServicesFromSet(false,parents,clazz,SimilarityMatchmaker.SUBSUMED_BY) );
candidates.addAll(getServicesFromSet(false, reason.retrieveRemainingClasses(clazz, equivalent, parents, ancestors, childs, decendants),clazz,SimilarityMatchmaker.NEAREST_NEIGHBOUR) );