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;
}

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 ; }
returns the number of matches between the list of recommended tags ( really a misnomer ) and the provided tags
