internal override bool DetectAnd() { // Read the state of the current node bool detectedAnd = this.PossibleAndCollision; // Reset the flags on the current node this.PossibleAndCollision = false; // Process the children of the node if preset bool detectAndRChild = false; bool detectAndLChild = false; if (RightChild != null) { detectAndRChild = RightChild.DetectAnd(); } if (LeftChild != null) { detectAndLChild = LeftChild.DetectAnd(); } return(detectedAnd || detectAndRChild || detectAndLChild); }