code: public ProductPartitionNode removeChild(ProductDimension childDimension) {
      if (!children.containsKey(childDimension)) {
        throw new IllegalArgumentException(String.format(
            "Attempted to remove child %s but no such child exists", toString(childDimension)));
      }
      children.remove(childDimension);
      return this;
    }
docs: Removes the child with the specified dimension.
  
  @param childDimension required - the child dimension
  @return this node
  @throws IllegalArgumentException if no such child exists