def is_objective_required(self, objective_id=None, required_objective_id=None):
if objective_id is None or required_objective_id is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>requisite_objective_ids = list()<EOL>for requisite in self.get_all_requisite_objectives(objective_id):<EOL><INDENT>requisite_objective_ids.append(requisite.get_id())<EOL><DEDENT>return required_objective_id in requisite_objective_ids<EOL>
Tests if an objective is required before proceeding with an
        objective.

        arg:    objective_id (osid.id.Id): Id of the dependent Objective
        arg:    required_objective_id (osid.id.Id): Id of the required
                Objective
        return: (boolean) - true if objective_id depends on
                required_objective_id, false otherwise
        raise:  NotFound - objective_id not found
        raise:  NullArgument - objective_id is null
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        compliance: mandatory - This method must be implemented.