question: public Set < PhysicalTable > filter ( Collection < PhysicalTable > candidateTables , List < PhysicalTableMatcher > matchers ) throws NoMatchFoundException { Collection < PhysicalTable > currentMatches = candidateTables ; for ( PhysicalTableMatcher matcher : matchers ) { currentMatches = matcher . matchNotEmpty ( currentMatches . stream ( ) ) ; } return new LinkedHashSet < > ( currentMatches ) ; }
target:  Filter a list of tables through each matcher using a list of matchers sequentially.