code: private static boolean isImmutableType(Object thing) {
      return ((thing == null)
          || (thing instanceof String)
          || (thing instanceof Integer)
          || (thing instanceof Long));
    }
docs: Contains a collection of supported immutable types for copying.
  Only keep the types that are worth supporting as record types.
  @param thing: an Object being checked
  @return true if supported immutable type, false otherwise