code: public List evaluate(Record record) {
      // fast path (not functionally necessary):
      if (fields.size() == 1) {
        Object first = fields.get(0);
        if (first instanceof String) {
          return Collections.singletonList(first);
        } else {
          String ref = ((Field) first).getName();
          if (ref.length() != 0) {
            List resolvedValues = record.get(ref);
            return resolvedValues;
          }
        }
      }
  
      // slow path:
      ArrayList<Object> results = new ArrayList<Object>(1);
      evaluate2(0, record, new StringBuilder(), results);
      return results;
    }
docs: Returns the values of a {@link Record} referred to by the given field expression