assertTrue("has third field def", fieldDefIt.hasNext());
fieldDef = fieldDefIt.next();
assertEquals("third fieldDef.alias", "SUM", fieldDef.getAlias());
assertTrue("third is FieldDefValue", fieldDef instanceof FieldDefValue);
FieldDefValue fdv = (FieldDefValue) fieldDef;
assertTrue("third fieldDefValue.staticValue is FunctionCall", fdv.getValue() instanceof FunctionCall);
FunctionCall fc = (FunctionCall) fdv.getValue();
assertEquals("third arg count", 1, fc.getArgCount());
Iterator<Value> valueIt = fc.iterator();
assertTrue("third args hasNext", valueIt.hasNext());
Value argValue = valueIt.next();
assertTrue("third first arg is FieldValue", argValue instanceof FieldValue);