code: public SearchRunResults<SolutionType> getRun(String problemID, String searchID, int i){
          if(!results.containsKey(problemID)){
              throw new UnknownIDException("Unknown problem ID " + problemID + ".");
          }
          if(!results.get(problemID).containsKey(searchID)){
              throw new UnknownIDException("Unknown search ID " + searchID + " for problem " + problemID + ".");
          }
          return results.get(problemID).get(searchID).get(i);
      }
docs: Get the results of the i-th performed run of the given search when solving the given problem.
  
  @param problemID ID of the problem
  @param searchID ID of the applied search
  @param i search run index
  @return results of i-th run of the given search when solving the given problem
  @throws UnknownIDException if an unknown problem or search ID is given
  @throws IndexOutOfBoundsException if there is no i-th run for this search and problem