code: @Override
      public JsonNode visit(JmesPathSubExpression subExpression, JsonNode input) throws InvalidTypeException {
          JsonNode prelimnaryResult = subExpression.getExpressions().get(0).accept(this, input);
          for (int i = 1; i < subExpression.getExpressions().size(); i++) {
              prelimnaryResult = subExpression.getExpressions().get(i).accept(this, prelimnaryResult);
          }
          return prelimnaryResult;
      }
docs: Evaluates a subexpression by evaluating the expression on
  the left with the original JSON document and then evaluating
  the expression on the right with the result of the left
  expression evaluation.
  
  @param subExpression JmesPath subexpression type
  @param input         Input json node against which evaluation is done
  @return Result of the subexpression evaluation
  @throws InvalidTypeException