code: private QueryData queryDataFromParameters(String query, String rawCorpusNames)
      throws WebApplicationException
    {
      List<String> corpusNames = splitCorpusNamesFromRaw(rawCorpusNames);
      
      // we don't care in which order the corpus list was given, we always sort the names
      // this ensures a stable ordering and less surprises when the UI changes it's behavior
      Collections.sort(corpusNames);
      
      List<Long> corpusIDs = queryDao.mapCorpusNamesToIds(
        corpusNames);
      if (corpusIDs.size() != corpusNames.size())
      {
        throw new WebApplicationException(
          Response.status(Response.Status.NOT_FOUND).type(
          "text/plain").entity("one ore more corpora are unknown to the system").
          build());
      }
      return queryDao.parseAQL(query, corpusIDs);
    }
docs: Get the {@link QueryData} from a query and the corpus names
  
  @param query The AQL query.
  @param rawCorpusNames The name of the toplevel corpus names seperated by
  ",".
  @return calculated {@link QueryData} for the given parametes.
  
  @throws WebApplicationException Thrown if some corpora are unknown to the
  system.