private void pushNode(Node node) { RootEntry entry = getCurrentRoot(); if (entry.root == null) entry.root = node; else { ExpressionNode enode = (ExpressionNode) entry.root; if (enode.opcode == OP_NOT) enode.right = node; else { if (enode.left == null) enode.left = node; else enode.right = node; } } }
private void replaceRoot(ExpressionNode newRoot) { RootEntry entry = getCurrentRoot(); if (entry.root != null) newRoot.left = entry.root; entry.root = newRoot; }