code: def add(self, *filenodes):
          
          # Check if not already marked as *added* first
          for node in filenodes:
              if node.path in (n.path for n in self.added):
                  raise NodeAlreadyAddedError("Such FileNode %s is already "
                      "marked for addition" % node.path)
          for node in filenodes:
              self.added.append(node)
docs: Marks given ``FileNode`` objects as *to be committed*.
  
          :raises ``NodeAlreadyExistsError``: if node with same path exists at
            latest changeset
          :raises ``NodeAlreadyAddedError``: if node with same path is already
            marked as *added*