protected Set<AnnotationMirror> findBottoms(Map<AnnotationMirror,Set<AnnotationMirror>> supertypes){
  Set<AnnotationMirror> possibleBottoms=AnnotationUtils.createAnnotationSet();
  possibleBottoms.addAll(supertypes.keySet());
  for (  Set<AnnotationMirror> supers : supertypes.values()) {
    possibleBottoms.removeAll(supers);
  }
  return possibleBottoms;
}

protected Set < AnnotationMirror > findBottoms ( Map < AnnotationMirror , Set < AnnotationMirror > > supertypes ) { Set < AnnotationMirror > possibleBottoms = AnnotationUtils . createAnnotationSet ( ) ; possibleBottoms . addAll ( supertypes . keySet ( ) ) ; for ( Set < AnnotationMirror > supers : supertypes . values ( ) ) { possibleBottoms . removeAll ( supers ) ; } return possibleBottoms ; }
infer the bottoms of the subtype hierarchy . simple finds the qualifiers that are not supertypes of other qualifiers .
