private List<FunctionTypeNode.ArgumentNode> ParameterList() 
            throws SyntaxException {
        
        try{
            List<FunctionTypeNode.ArgumentNode> args = 
                    new LinkedList<FunctionTypeNode.ArgumentNode>();

            args.addAll(ParameterDecl());
            while (iterator.current().type().is(Token.Type.COMMA)) {
                nextToken();
                args.addAll(ParameterDecl());
            }

            return args;
        } catch(SyntaxException ex) {
            throw ex;
        } catch(Exception ex) {
            throw (NonAnalysisException)new NonAnalysisException(ex)
                    .initPosition(iterator.current().coordinates().starting())
                    .Log("ru.bmstu.iu9.compiler.syntax");
        }
    }