code: def items(self, founditems=[]): #pylint: disable=dangerous-default-value
          
          l = []
          for e in self.data:
              if  e not in founditems: #prevent going in recursive loops
                  l.append(e)
                  if isinstance(e, AbstractElement):
                      l += e.items(l)
          return l
docs: Returns a depth-first flat list of *all* items below this element (not limited to AbstractElement)