<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_objective_required(self, objective_id=None, required_objective_id=None):
 """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. """

        if objective_id is None or required_objective_id is None:
            raise NullArgument()
        requisite_objective_ids = list()
        for requisite in self.get_all_requisite_objectives(objective_id):
            requisite_objective_ids.append(requisite.get_id())
        return required_objective_id in requisite_objective_ids