public static <T> TypeAdapter<T> nullSafeClone(@NonNull final TypeAdapter<T> delegate) {
    return new TypeAdapter<T>() {
      @Nullable @Override public T readFromParcel(@NonNull Parcel source) {
        return readNullable(source, delegate);
      }

      @Override public void writeToParcel(@Nullable T value, @NonNull Parcel dest, int flags) {
        writeNullable(value, dest, flags, delegate);
      }
    };
  }
public static < T > TypeAdapter < T > nullSafeClone ( @ NonNull final TypeAdapter < T > delegate ) { return new TypeAdapter < T > ( ) { @ Nullable @ Override public T readFromParcel ( @ NonNull Parcel source ) { return readNullable ( source , delegate ) ; } @ Override public void writeToParcel ( @ Nullable T value , @ NonNull Parcel dest , int flags ) { writeNullable ( value , dest , flags , delegate ) ; } } ; }
Returns a type adapter equal to this type adapter, but with support for reading and writing
{@code null} values.