@abc.abstractmethod<EOL><INDENT>def reassign_proficiency_to_objective_bank(self, proficiency_id, from_objective_bank_id, to_objective_bank_id):<DEDENT>
pass<EOL>
Moves a ``Proficiency`` from one ``ObjectiveBank`` to another.

        Mappings to other ``ObjectiveBanks`` are unaffected.

        :param proficiency_id: the ``Id`` of the ``Proficiency``
        :type proficiency_id: ``osid.id.Id``
        :param from_objective_bank_id: the ``Id`` of the current ``ObjectiveBank``
        :type from_objective_bank_id: ``osid.id.Id``
        :param to_objective_bank_id: the ``Id`` of the destination ``ObjectiveBank``
        :type to_objective_bank_id: ``osid.id.Id``
        :raise: ``NotFound`` -- ``proficiency_id, from_objective_bank_id,`` or ``to_objective_bank_id`` not found or ``proficiency_id`` not mapped to ``from_objective_bank_id``
        :raise: ``NullArgument`` -- ``proficiency_id, from_objective_bank_id,`` or ``to_objective_bank_id`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

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