public ProgramChunkBranch(Equality equality, ProgramChunkExpressionTerm termFirst, IProgramChunk trueChunk,
     ProgramChunkExpressionTerm termSecond, IProgramChunk falseChunk)
 {
     this.equality = equality;
     this.termFirst = termFirst;
     this.termSecond = termSecond;
     this.trueChunk = trueChunk;
     this.falseChunk = falseChunk;
 }
        public ProgramChunkExpression(ProgramChunkExpressionTerm firstTerm, Operand oper, ProgramChunkExpressionTerm secondTerm)
        {
            FirstTerm = firstTerm;
            SecondTerm = secondTerm;
            Oper = oper;

            /*
            //HACK: simplify minus.
            if (oper == Operand.ADDITION && secondTerm is BlockConstant)
            {
                if (((BlockConstant)secondTerm).Constant < 0)
                {
                    ((BlockConstant)secondTerm).Constant = Math.Abs(((BlockConstant)secondTerm).Constant);
                    oper = Operand.SUBTRACTION;
                }
            }
            */
        }