private ArrayList<RemoteObject> deserializeArrayAsJson(String queryScope, String input) {
    ArrayList<RemoteObject> objects = new ArrayList<RemoteObject>();

    JsonParser parser = new JsonParser(input);
    JsonArray parent =
        ((JsonElement)
                parser.parse(
                    HttpAdapter.createResponseWrangling(queryScope, this).getCollectionSelector(),
                    JsonElement.class))
            .getAsJsonArray();
    for (int i = 0; i < parent.size(); i++) {
      objects.add(deserialize(queryScope, new JsonParser(parent.get(i))));
    }

    return objects;
  }
 private Parser createJsonParser(String queryScope, String input) {
   Parser parser = new JsonParser(input);
   if (!HttpAdapter.createResponseWrangling(queryScope, this).getRecordSelector().isEmpty()) {
     ((JsonParser) parser)
         .setRootElement(
             parser.parse(
                 HttpAdapter.createResponseWrangling(queryScope, this).getRecordSelector(),
                 JsonElement.class));
   }
   return parser;
 }