docs: public static String serializeAsString(Object o) throws IOException {
          try {
              JsonStructure builtJsonObject = findFieldsToSerialize(o).mainObject;
              return builtJsonObject.toString();
          } catch (IllegalStateException ise) {
              // the reflective attempt to build the object failed.
              throw new IOException("Unable to build JSON for Object", ise);
          } catch (JsonException e) {
              throw new IOException("Unable to build JSON for Object", e);
          }
      }