def as_list_with_options(self):
        """
        Similar to list(self) except elements which have an option associated
        with them are returned as a ``TListItemWithOption``
        """
        it = ROOT.TIter(self)
        elem = it.Next()
        result = []
        while elem:
            if it.GetOption():
                result.append(TListItemWithOption(elem, it.GetOption()))
            else:
                result.append(elem)
            elem = it.Next()
        return result
Similar to list(self) except elements which have an option associated
        with them are returned as a ``TListItemWithOption``