public virtual object VisitLabelStatement(LabelStatement labelStatement, object data) {
			Debug.Assert((labelStatement != null));
			return null;
		}
		public sealed override object VisitLabelStatement(LabelStatement labelStatement, object data) {
			this.BeginVisit(labelStatement);
			object result = this.TrackedVisitLabelStatement(labelStatement, data);
			this.EndVisit(labelStatement);
			return result;
		}
		public virtual object VisitLabelStatement(LabelStatement labelStatement, object data) {
			throw new global::System.NotImplementedException("LabelStatement");
		}
		public virtual object TrackedVisitLabelStatement(LabelStatement labelStatement, object data) {
			return base.VisitLabelStatement(labelStatement, data);
		}
		public override object VisitLabelStatement(LabelStatement labelStatement, object data)
		{
			System.CodeDom.CodeLabeledStatement labelStmt = new CodeLabeledStatement(labelStatement.Label);
			
			// Add Statement to Current Statement Collection
			AddStmt(labelStmt);
			
			return labelStmt;
		}