code: public void writeValue(Object value) throws IOException
      {
          if (value == null) {
              writeNullValue();
              return;
          }
          _writeValue(value, _writerLocator.findSerializationType(value.getClass()));
      }
docs: Main entry point for non-blueprint instances: called for the root value to
  write it out.