docs: public void writeObject(Object o) throws IOException {
          ObjectOutputStream oos = AnonymousClassWarnings.checkingObjectOutputStream(out);
          oos.writeObject(o);
          // don't close oss, which will close the underlying stream
          // no need to flush either, given the way oos is implemented
      }