code: def content(self, collection=None, filter=Filter(), history=None):
          
          if collection is None:
              collection = []
          if history is None:
              history = []
          if self in history:
              return collection
          history.append(self)
          if self in filter:
              collection.append(self)
          for c in self.rawchildren:
              c.content(collection, filter, history[:])
          return collection
docs: Get a I{flattened} list of this nodes contents.
          @param collection: A list to fill.
          @type collection: list
          @param filter: A filter used to constrain the result.
          @type filter: L{Filter}
          @param history: The history list used to prevent cyclic dependency.
          @type history: list
          @return: The filled list.
          @rtype: list