docs: def save(self):
          """
          Attempts to move the node using the selected target and
          position.
  
          If an invalid move is attempted, the related error message will
          be added to the form's non-field errors and the error will be
          re-raised. Callers should attempt to catch ``InvalidNode`` to
          redisplay the form with the error, should it occur.
          """
          try:
              self.node.move_to(self.cleaned_data['target'],
                                self.cleaned_data['position'])
              return self.node
          except InvalidMove, e:
              self.errors[NON_FIELD_ERRORS] = ErrorList(e)
              raise