docs: public <T> TypeAdapter<T> getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken<T> type) {
      // Hack. If the skipPast factory isn't registered, assume the factory is being requested via
      // our @JsonAdapter annotation.
      if (!factories.contains(skipPast)) {
        skipPast = jsonAdapterFactory;
      }
  
      boolean skipPastFound = false;
      for (TypeAdapterFactory factory : factories) {
        if (!skipPastFound) {
          if (factory == skipPast) {
            skipPastFound = true;
          }
          continue;
        }
  
        TypeAdapter<T> candidate = factory.create(this, type);
        if (candidate != null) {
          return candidate;
        }
      }
      throw new IllegalArgumentException("GSON cannot serialize " + type);
    }