public LeftTuple(final LeftTuple leftTuple, LeftTupleSink sink, boolean leftTupleMemoryEnabled) { this.index = leftTuple.index; this.parent = leftTuple.parent; this.recency = leftTuple.recency; this.handle = leftTuple.handle; this.hashCode = leftTuple.hashCode(); if (leftTupleMemoryEnabled) { this.leftParent = leftTuple; this.leftParentNext = leftTuple.children; if (this.leftParentNext != null) { this.leftParentNext.leftParentPrevious = this; } this.leftParent.children = this; } this.sink = sink; }