public override void CheckSemantics(TigerScope scope, Report report)
        {
            ContainingScope = scope;

            IsOK = true;

            //Check if break is in correct position
            var nodes = GetNodesToRoot().TakeWhile(x => !(x is MethodDeclarationNode)).ToList();

            Owner = (nodes.FirstOrDefault(x => x is IBreakableNode)) as IBreakableNode;

            if (Owner == null)
            {
                report.AddError(SemanticErrors.BreakInIncorrectPostion(this));
                return;
            }

            //Set containing InstructionSequenceNodes' types to void
            nodes.TakeWhile(x => !(x is IBreakableNode)).Where(n => n is InstructionSequenceNode).ToList()
            .ForEach(n => ((InstructionSequenceNode)n).TigerType = TigerType.Void);
        }