code: @NonNull
      public List<Result> allResults() {
          final List<Result> results = new ArrayList<>();
          Result result;
          while ((result = next()) != null) { results.add(result); }
          return results;
      }
docs: Return List of Results. List is unmodifiable and only supports
  int get(int index), int size(), boolean isEmpty() and Iterator<Result> iterator() methods.
  Once called allResults(), next() method return null. Don't call next() and allResults()
  together.
  
  @return List of Results