@utilities.arguments_not_none<EOL><INDENT>def move_objective_ahead(self, parent_objective_id, reference_objective_id, objective_id):<DEDENT>
raise errors.Unimplemented()<EOL>
Moves an objective ahead of a refrence objective under the given parent.

        arg:    parent_objective_id (osid.id.Id): the ``Id`` of the
                parent objective
        arg:    reference_objective_id (osid.id.Id): the ``Id`` of the
                objective
        arg:    objective_id (osid.id.Id): the ``Id`` of the objective
                to move ahead of ``reference_objective_id``
        raise:  NotFound - ``parent_objective_id,
                reference_objective_id,`` or ``objective_id`` not found,
                or ``reference_objective_id`` or ``objective_id`` is not
                a child of ``parent_objective_id``
        raise:  NullArgument - ``parent_objective_id,
                reference_objective_id,`` or ``id`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*