docs: public void extractChild( AstNode child ) {
          if (child.getChildCount() == 0) {
              removeChild(child);
          } else {
              AstNode grandChild = child.getFirstChild();
              replaceChild(child, grandChild);
          }
      }