def Add(self, value, *optional):
        """
        Overload ROOT's basic TList::Add to support supplying
        TListItemWithOption
        """
        if isinstance(value, TListItemWithOption):
            if optional:
                raise RuntimeError(
                    "option specified along with "
                    "TListItemWithOption. Specify one or the "
                    "other but not both.")
            return super(List, self).Add(value.item, value.option)
        return super(List, self).Add(value, *optional)