NodeBuilder finish() { assert copyFrom != null; int copyFromKeyEnd = getKeyEnd(copyFrom); if (buildKeyPosition + buildChildPosition > 0) { // only want to copy if we've already changed something, otherwise we'll return the original copyKeys(copyFromKeyEnd); if (!isLeaf(copyFrom)) copyChildren(copyFromKeyEnd + 1); } return isRoot() ? null : ascend(); }
NodeBuilder finish() { assert copyFrom != null; int copyFromKeyEnd = getKeyEnd(copyFrom); if (buildKeyPosition + buildChildPosition > 0) { // only want to copy if we've already changed something, otherwise we'll return the original copyKeys(copyFromKeyEnd); if (!isLeaf(copyFrom)) copyChildren(copyFromKeyEnd + 1); } return isRoot() ? null : ascend(); }
NodeBuilder finish() { assert copyFrom != null; int copyFromKeyEnd = getKeyEnd(copyFrom); if (buildKeyPosition + buildChildPosition > 0) { // only want to copy if we've already changed something, otherwise we'll return the original copyKeys(copyFromKeyEnd); if (!isLeaf(copyFrom)) copyChildren(copyFromKeyEnd + 1); } return isRoot() ? null : ascend(); }
NodeBuilder finish() { assert copyFrom != null; int copyFromKeyEnd = getKeyEnd(copyFrom); if (buildKeyPosition + buildChildPosition > 0) { // only want to copy if we've already changed something, otherwise we'll return the original copyKeys(copyFromKeyEnd); if (!isLeaf(copyFrom)) copyChildren(copyFromKeyEnd + 1); } return isRoot() ? null : ascend(); }
NodeBuilder finish() { assert copyFrom != null; int copyFromKeyEnd = getKeyEnd(copyFrom); if (buildKeyPosition + buildChildPosition > 0) { // only want to copy if we've already changed something, otherwise we'll return the original copyKeys(copyFromKeyEnd); if (!isLeaf(copyFrom)) copyChildren(copyFromKeyEnd + 1); } return isRoot() ? null : ascend(); }