private void mergeItem ( final Set < String > supers , final Set < SourceLineAnnotation > sla , final OpcodeStack . Item addItm ) throws ClassNotFoundException { if ( supers . isEmpty ( ) ) { return ; } Set < String > s = new HashSet <> ( ) ; addNewItem ( s , addItm ) ; if ( s . isEmpty ( ) ) { return ; } intersection ( supers , s ) ; if ( supers . isEmpty ( ) ) { BugInstance bug = new BugInstance ( this , BugType . UCC_UNRELATED_COLLECTION_CONTENTS . name ( ) , NORMAL_PRIORITY ) . addClass ( this ) ; if ( addItm . getRegisterNumber ( ) != - 1 ) { bug . addMethod ( this ) ; } for ( SourceLineAnnotation a : sla ) { bug . addSourceLine ( a ) ; } bugReporter . reportBug ( bug ) ; } }
intersects the set of possible superclass that this collection might have seen before with this one . If we find that there is no commonality between superclasses report it as a bug .