code: public <O> List<O> evaluateAll(@NonNull Resource resource, @NonNull Evaluator<? extends O> evaluator) throws ParseException {
        ExpressionIterator iterator = parse(resource);
        List<O> evaluationResults = new ArrayList<>();
        while (iterator.hasNext()) {
           try {
              evaluationResults.add(evaluator.eval(iterator.next()));
           } catch (Exception e) {
              throw new ParseException(e);
           }
        }
        return evaluationResults;
     }
docs: <p>Parses the given resource and evaluates it with the given evaluator.</p>
  
  @param <O>       the return type of the evaluator
  @param resource  the resource to evaluate
  @param evaluator the evaluator to use for transforming expressions
  @return A list of objects relating to the transformation of expressions by the given evaluator.
  @throws ParseException Something went wrong parsing