protected static void lubPrimaries(Map<AnnotationMirror,AnnotationMirror> lubOfPrimaries,Map<AnnotationMirror,Set<AnnotationMirror>> subtypeAnnos,Set<? extends AnnotationMirror> tops,QualifierHierarchy qualifierHierarchy){
  lubOfPrimaries.clear();
  for (  final AnnotationMirror top : tops) {
    final Set<AnnotationMirror> annosInHierarchy=subtypeAnnos.get(top);
    if (annosInHierarchy != null && !annosInHierarchy.isEmpty()) {
      lubOfPrimaries.put(top,leastUpperBound(annosInHierarchy,qualifierHierarchy));
    }
  }
}

protected static void lubPrimaries ( Map < AnnotationMirror , AnnotationMirror > lubOfPrimaries , Map < AnnotationMirror , Set < AnnotationMirror > > subtypeAnnos , Set < ? extends AnnotationMirror > tops , QualifierHierarchy qualifierHierarchy ) { lubOfPrimaries . clear ( ) ; for ( final AnnotationMirror top : tops ) { final Set < AnnotationMirror > annosInHierarchy = subtypeAnnos . get ( top ) ; if ( annosInHierarchy != null && ! annosInHierarchy . isEmpty ( ) ) { lubOfPrimaries . put ( top , leastUpperBound ( annosInHierarchy , qualifierHierarchy ) ) ; } } }
for each qualifier hierarchy in tops , take the lub of the annos in subtypeannos that correspond to that hierarchy place the lub in lubofprimaries
