code: protected final JSON _with(int features,
              TokenStreamFactory jsonF, TreeCodec trees,
              JSONReader reader, JSONWriter writer,
              PrettyPrinter pp)
      {
          if (getClass() != JSON.class) {
              throw new IllegalStateException("Sub-classes MUST override _with(...)");
          }
          return new JSON(jsonF, trees, features, reader, writer, pp);
      }
docs: /*
  ********************************************************************
  /* Methods sub-classes must override
  ********************************************************************