@abc.abstractmethod<EOL><INDENT>def update_commitment(self, commitment_form):<DEDENT>
pass<EOL>
Updates an existing commitment.

        :param commitment_form: the form containing the elements to be updated
        :type commitment_form: ``osid.calendaring.CommitmentForm``
        :raise: ``IllegalState`` -- ``commitment_form`` already used in an update transaction
        :raise: ``InvalidArgument`` -- the form contains an invalid value
        :raise: ``NullArgument`` -- ``commitment_form`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure
        :raise: ``Unsupported`` -- ``commitment_form`` did not originate from ``get_commitment_form_for_update()``

        *compliance: mandatory -- This method must be implemented.*