question: public int matchesRecommended ( Map < String , String > tagSet ) { if ( name . equals ( "Addresses" ) ) { Log . d ( DEBUG_TAG , "matching addresses recommended" ) ; } int matches = 0 ; for ( Entry < String , StringWithDescription [ ] > tag : recommendedTags . entrySet ( ) ) { String key = tag . getKey ( ) ; if ( tagSet . containsKey ( key ) ) { if ( getMatchType ( key ) == MatchType . NONE ) { break ; } if ( getMatchType ( key ) == MatchType . KEY ) { matches ++ ; break ; } String otherTagValue = tagSet . get ( key ) ; for ( StringWithDescription v : tag . getValue ( ) ) { if ( v . equals ( otherTagValue ) ) { matches ++ ; break ; } } } } return matches ; }
target:  Returns the number of matches between the list of recommended tags (really a misnomer) and the provided tags