public override Node Clone() { return(new BasicBlock() { TrueBranch = TrueBranch?.Clone() as BasicBlock, FalseBranch = FalseBranch?.Clone() as BasicBlock, TerminatingBlock = TerminatingBlock, Instructions = Instructions?.Clone() as Instructions, }); }