code: public final void merge(final Record oldRecord, final Record newRecord) {
  
          Preconditions.checkNotNull(oldRecord);
  
          for (final URI property : newRecord.getProperties()) {
              if (appliesTo(property)) {
                  oldRecord.set(property,
                          merge(property, oldRecord.get(property), newRecord.get(property)));
              }
          }
      }
docs: Merges all supported properties in common to the old and new record specified, storing the
  results in the old record.
  
  @param oldRecord
  the record containing old property values, not null; results of the merging
  operation are stored in this record, possibly replacing old values of affected
  properties (if this behavious is not desired, clone the old record in advance)
  @param newRecord
  the record containing new property values, not null