if (options.replaceRepeatedFields()) { destination.setField(field, source.getField(field)); } else { if (options.replaceMessageFields()) { if (!source.hasField(field)) { destination.clearField(field); if (source.hasField(field) || !options.replacePrimitiveFields()) { destination.setField(field, source.getField(field)); } else {
/** * Merges fields specified by a FieldMask from one message to another. */ public static void merge(FieldMask mask, Message source, Message.Builder destination) { merge(mask, source, destination, new MergeOptions()); } }