class ParseQuery {

  public static <T extends ParseObject> ParseQuery<T> or(List<ParseQuery<T>> queries) {
    if (queries.isEmpty()) {
      throw new IllegalArgumentException("Can't take an or of an empty list of queries");
    }

    List<State.Builder<T>> builders = new ArrayList<>();
    for (ParseQuery<T> query : queries) {
      builders.add(query.getBuilder());
    }
    return new ParseQuery<>(State.Builder.or(builders));
  }

  public  ParseQuery(Class<T> subclass);
  public  ParseQuery(String theClassName);
  public  ParseQuery(ParseQuery<T> query);
    ParseQuery(State.Builder<T> builder);

}