class ParseRESTCommand extends ParseRequest<JSONObject> {

  public void resolveLocalIds() {
    try {
      ArrayList<JSONObject> localPointers = new ArrayList<>();
      getLocalPointersIn(jsonParameters, localPointers);
      for (JSONObject pointer : localPointers) {
        String localId = (String) pointer.get("localId");
        String objectId = getLocalIdManager().getObjectId(localId);
        if (objectId == null) {
          throw new IllegalStateException(
              "Tried to serialize a command referencing a new, unsaved object.");
        }
        pointer.put("objectId", objectId);
        pointer.remove("localId");
      }
      maybeChangeServerOperation();
    } catch (JSONException e) {
      // Well, nothing to do here...
    }
  }

  public  ParseRESTCommand(
      String httpPath,
      ParseHttpRequest.Method httpMethod,
      Map<String, ?> parameters,
      String sessionToken);
  public  ParseRESTCommand(
      String httpPath,
      ParseHttpRequest.Method httpMethod,
      JSONObject jsonParameters,
      String sessionToken);
  private  ParseRESTCommand(
      String httpPath,
      ParseHttpRequest.Method httpMethod,
      JSONObject jsonParameters,
      String localId, String sessionToken);
    ParseRESTCommand(Init<?> builder);

}