code: private static int extractNonMatchingFields(Tuple<Type.Field> lhsFields, Tuple<Type.Field> rhsFields,
  			Type.Field[] result, int index) {
  		outer: for (int i = 0; i != lhsFields.size(); ++i) {
  			for (int j = 0; j != rhsFields.size(); ++j) {
  				Type.Field lhsField = lhsFields.get(i);
  				Type.Field rhsField = rhsFields.get(j);
  				Identifier lhsFieldName = lhsField.getName();
  				Identifier rhsFieldName = rhsField.getName();
  				if (lhsFieldName.equals(rhsFieldName)) {
  					// This is a matching field. Therefore, continue on to the
  					// next lhs field
  					continue outer;
  				}
  			}
  			result[index++] = lhsFields.get(i);
  		}
  		return index;
  	}
docs: Extract fields from lhs which do not match any field in the rhs. That is,
  there is no field in the rhs with the same name.
  
  @param lhsFields
  @param rhsFields
  @param result
  @param index
  @return