code: def iterator(self, *argv):
          
          for arg in argv:
              if hasattr(self, arg):
                  for item in getattr(self, arg):
                      yield item
docs: Iterator returning any list of elements via attribute lookup in `self`
  
          This iterator retains the order of the arguments