docs: public List<PlanNode> removeAllChildren() {
          if (this.children.isEmpty()) {
              return new ArrayList<PlanNode>(0);
          }
          List<PlanNode> copyOfChildren = new ArrayList<PlanNode>(this.children);
          for (Iterator<PlanNode> childIter = this.children.iterator(); childIter.hasNext();) {
              PlanNode child = childIter.next();
              childIter.remove();
              child.parent = null;
          }
          return copyOfChildren;
      }