// parse identifier
final String id = parseIdentifier(tokens);
final AstNode procedureNode = getNodeFactory().node(id,
parentNode,
(procedure ? TeiidDdlLexicon.CreateProcedure.PROCEDURE_STATEMENT : TeiidDdlLexicon.CreateProcedure.FUNCTION_STATEMENT));
procedureNode.setProperty(TeiidDdlLexicon.SchemaElement.TYPE, schemaElementType.toDdl());
// must have parens after identifier and may have one or more parameters
parseProcedureParameters(tokens, procedureNode);
// may have a returns clause