code: public static <T> T deserializeObject(final Class<T> expectedType, final String json)
              throws IllegalArgumentException {
          final ClassFieldCache classFieldCache = new ClassFieldCache(/* resolveTypes = */ true,
                  /* onlySerializePublicFields = */ false);
          return deserializeObject(expectedType, json, classFieldCache);
      }
docs: Deserialize JSON to a new object graph, with the root object of the specified expected type. Does not work
  for generic types, since it is not possible to obtain the generic type of a Class reference.
  
  @param <T>
  The type that the JSON should conform to.
  @param expectedType
  The class reference for the type that the JSON should conform to.
  @param json
  the JSON string to deserialize.
  @return The object graph after deserialization.
  @throws IllegalArgumentException
  If anything goes wrong during deserialization.