public virtual bool Calculate() { if ((LeftTerm == null) && (RightTerm == null)) { return(false); } if (LeftTerm == null) { return(RightTerm.Calculate()); } if (RightTerm == null) { return(LeftTerm.Calculate()); } return(BoolOperator()); } // Calculate
} // constructor protected override bool BoolOperator() { return(LeftTerm.Calculate() || RightTerm.Calculate()); } // BoolOperator