Buggy code:
public class SourceLocationMapper { private static Map < String , Set < Integer > > variableRelatedTokens = Maps . newHashMap ( ) ; private static Map < Integer , Token > tokenNumberToTokenMap = Maps . newHashMap ( ) ; private static Map < Integer , Integer > tokenNumberToLineNumberMap = Maps . newHashMap ( ) ; public static interface LocationDescriptor { boolean matches ( FileLocation pFileLocation ) ; } public static class FileNameDescriptor implements SourceLocationMapper . LocationDescriptor { private final Optional < String > originFileName ; private final boolean matchBaseName ; public FileNameDescriptor ( String originFileName ) { } public FileNameDescriptor ( String originFileName , boolean matchBaseName ) { } private FileNameDescriptor ( Optional < String > originFileName , boolean matchBaseName ) { } @ Override public boolean matches ( FileLocation pFileLocation ) { if ( ! ( originFileName . isPresent ( ) ) ) { return true ; } String originFileName = this . originFileName . get ( ) ; String fileLocationFileName = pFileLocation . getFileName ( ) ; if ( matchBaseName ) { originFileName = getBaseName ( originFileName ) ; fileLocationFileName = getBaseName ( fileLocationFileName ) ; } return originFileName . equals ( fileLocationFileName ) ; } private String getBaseName ( String pOf ) { } @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object pObj ) { } @ Override public String toString ( ) { } protected Optional < String > getOriginFileName ( ) { } } public static class OriginLineDescriptor extends SourceLocationMapper . FileNameDescriptor implements SourceLocationMapper . LocationDescriptor { public final int originLineNumber ; public OriginLineDescriptor ( Optional < String > pOriginFileName , int pOriginLineNumber ) { } public OriginLineDescriptor ( Optional < String > pOriginFileName , int pOriginLineNumber , boolean pMatchBaseName ) { } @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object pObj ) { } @ Override public boolean matches ( FileLocation pFileLocation ) { <START_BUG> return ( super . matches ( pFileLocation ) ) && ( ( pFileLocation . getStartingLineNumber ( ) ) == ( originLineNumber ) ) ; <END_BUG> } @ Override public String toString ( ) { } } public static class OffsetDescriptor extends SourceLocationMapper . FileNameDescriptor implements SourceLocationMapper . LocationDescriptor { public final int offset ; public OffsetDescriptor ( Optional < String > pOriginFileName , int pOffset ) { } public OffsetDescriptor ( Optional < String > pOriginFileName , int pOffset , boolean pMatchBaseName ) { } @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object pObj ) { } @ Override public boolean matches ( FileLocation pFileLocation ) { return ( ( super . matches ( pFileLocation ) ) && ( ( pFileLocation . getNodeOffset ( ) ) <= ( offset ) ) ) && ( ( ( pFileLocation . getNodeOffset ( ) ) + ( pFileLocation . getNodeLength ( ) ) ) > ( offset ) ) ; } @ Override public String toString ( ) { } } public static Set < String > matchTokenNumbersToTokenStrings ( final Set < Integer > tokenNumbers ) { } public static void storeTokenInformation ( final Token token , final int lineNumber , final int tokenNumber ) { } private static void collectLine ( final SortedSet < Integer > target , final FileLocation loc , boolean overApproximateTokens ) { } public static Set < Integer > collectTokensFrom ( CAstNode astNode , boolean overApproximateTokens ) { } public static class RowAndColumn implements Comparable < SourceLocationMapper . RowAndColumn > { public final int row ; public final int column ; public RowAndColumn ( int row , int col ) { } @ Override public String toString ( ) { } @ Override public int compareTo ( SourceLocationMapper . RowAndColumn pO ) { } @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object obj ) { } } public static synchronized Set < SourceLocationMapper . RowAndColumn > collectRowsAndColsFrom ( CAstNode astNode , boolean overApproximateTokens ) { } public static synchronized Set < FileLocation > collectFileLocationsFrom ( CAstNode astNode ) { } public static synchronized Set < CAstNode > getAstNodesFromCfaEdge ( CFAEdge pEdge ) { } public static synchronized Set < FileLocation > getFileLocationsFromCfaEdge ( CFAEdge pEdge ) { } public static synchronized Set < SourceLocationMapper . RowAndColumn > getRowsAndColsFromCFAEdge ( CFAEdge pEdge , boolean overApproximateTokens ) { } public static synchronized Set < Integer > getAbsoluteTokensFromCFAEdge ( CFAEdge pEdge , boolean overApproximateTokens ) { } public static synchronized void getKnownToEdge ( CFAEdge edge ) { } public static Set < String > getEdgeVariableNames ( CFAEdge subject ) { } }

Fix:
return ( super . matches ( pFileLocation ) ) && ( ( pFileLocation . getStartingLineInOrigin ( ) ) == ( originLineNumber ) ) ;