{
List<ExprDotEval> methodEvals = new ArrayList<ExprDotEval>();
ExpressionReturnType currentInputType = inputType;
EnumMethodEnum lastLambdaFunc = null;
ExprChainedSpec lastElement = chainSpec.isEmpty() ? null : chainSpec.get(chainSpec.size() - 1);
ExprDotNodeFilterAnalyzerDesc filterAnalyzerDesc = null;
Deque<ExprChainedSpec> chainSpecStack = new ArrayDeque<ExprChainedSpec>(chainSpec);
while (!chainSpecStack.isEmpty()) {
ExprChainedSpec chainElement = chainSpecStack.removeFirst();
lastLambdaFunc = null; // reset