code: @SuppressWarnings("unchecked")
      public <T> T deserialize(String body, Type returnType) {
          try {
              return gson.fromJson(body, returnType);
          } catch (JsonParseException e) {
              // Fallback processing when failed to parse JSON form response body:
              // return the response body string directly for the String return
              // type;
              // parse response body into date or datetime for the Date return
              // type.
              if (returnType.equals(String.class))
                  return (T) body;
              // else if (returnType.equals(Date.class))
              // return (T) apiClient.parseDateOrDatetime(body);
              else
                  throw (e);
          }
      }
docs: Deserialize the given JSON string to Java object.
  
  @param body
  The JSON string
  @param returnType
  The type to deserialize inot
  @return The deserialized Java object