docs: public CmsTreeItem removeChild(final CmsTreeItem item) {
  
          item.setParentItem(null);
          item.setTree(null);
          if ((m_tree != null) && m_tree.isAnimationEnabled()) {
              // could be null if already detached
              // animate
              (new Animation() {
  
                  /**
                   * @see com.google.gwt.animation.client.Animation#onComplete()
                   */
                  @Override
                  protected void onComplete() {
  
                      super.onComplete();
                      m_children.removeItem(item);
                      onChangeChildren();
                  }
  
                  /**
                   * @see com.google.gwt.animation.client.Animation#onUpdate(double)
                   */
                  @Override
                  protected void onUpdate(double progress) {
  
                      item.getElement().getStyle().setOpacity(1 - progress);
                  }
              }).run(ANIMATION_DURATION);
          } else {
              m_children.removeItem(item);
              onChangeChildren();
          }
          return item;
      }