@ Override public void report ( ) { for ( Map . Entry < KeyType , Map < String , Map < String , List < SourceInfo > > > > entry : parmInfo . entrySet ( ) ) { KeyType type = entry . getKey ( ) ; Map < String , Map < String , List < SourceInfo > > > typeMap = entry . getValue ( ) ; for ( Map < String , List < SourceInfo > > parmCaseInfo : typeMap . values ( ) ) { if ( parmCaseInfo . size ( ) > 1 ) { BugInstance bi = new BugInstance ( this , type . getDescription ( ) , NORMAL_PRIORITY ) ; for ( Map . Entry < String , List < SourceInfo > > sourceInfos : parmCaseInfo . entrySet ( ) ) { for ( SourceInfo sourceInfo : sourceInfos . getValue ( ) ) { bi . addClass ( sourceInfo . clsName ) ; bi . addMethod ( sourceInfo . clsName , sourceInfo . methodName , sourceInfo . signature , sourceInfo . isStatic ) ; bi . addSourceLine ( sourceInfo . srcLine ) ; bi . addString ( sourceInfos . getKey ( ) ) ; } } bugReporter . reportBug ( bi ) ; } } } parmInfo . clear ( ) ; }
implements the visitor to look for the collected parm names and look for duplicates that are different in casing only .