docs: public boolean replaceChild( PlanNode child,
                                   PlanNode replacement ) {
          assert child != null;
          assert replacement != null;
          if (child.parent == this) {
              int i = this.children.indexOf(child);
              if (replacement.parent == this) {
                  // Swapping the positions ...
                  int j = this.children.indexOf(replacement);
                  this.children.set(i, replacement);
                  this.children.set(j, child);
                  return true;
              }
              // The replacement is not yet a child ...
              this.children.set(i, replacement);
              replacement.removeFromParent();
              replacement.parent = this;
              child.parent = null;
              return true;
          }
          return false;
      }