code: public static Map<String, Object> computePatch(Object patched, Object original) {
      FieldsMask fieldsMask = new FieldsMask();
      ArrayMap<String, Object> result = computePatchInternal(fieldsMask, patched, original);
      if (fieldsMask.numDifferences != 0) {
        result.put("@gd:fields", fieldsMask.buf.toString());
      }
      return result;
    }
docs: Compute the patch object of key/value pairs from the given original and patched objects, adding
  a {@code @gd:fields} key for the fields mask.
  
  @param patched patched object
  @param original original object
  @return patch object of key/value pairs