protected virtual void OptionalSemicolon(AstNode pos)
{
// Look if there's a semicolon after the current node, and insert it if it exists.
while (pos != null && pos.NodeType == NodeType.Whitespace) {
pos = pos.PrevSibling;
}
if (pos != null && pos.Role == Roles.Semicolon) {
Semicolon();
}
}