code: protected static int countMatchingFields(Tuple<? extends SemanticType.Field> lhsFields,
  			Tuple<? extends SemanticType.Field> rhsFields) {
  		int count = 0;
  		for (int i = 0; i != lhsFields.size(); ++i) {
  			for (int j = 0; j != rhsFields.size(); ++j) {
  				SemanticType.Field lhsField = lhsFields.get(i);
  				SemanticType.Field rhsField = rhsFields.get(j);
  				Identifier lhsFieldName = lhsField.getName();
  				Identifier rhsFieldName = rhsField.getName();
  				if (lhsFieldName.equals(rhsFieldName)) {
  					count = count + 1;
  				}
  			}
  		}
  		return count;
  	}
docs: Count the number of matching fields. That is, fields with the same name.
  
  @param lhsFields
  @param rhsFields
  @return