protected virtual void Semicolon()
{
Role role = containerStack.Peek().Role;
// get the role of the current node
if (!(role == ForStatement.InitializerRole || role == ForStatement.IteratorRole || role == UsingStatement.ResourceAcquisitionRole)) {
WriteToken(Roles.Semicolon);
NewLine();
}
}