def get_objective_banks_by_ids(self, objective_bank_ids=None):
if objective_bank_ids is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>banks = []<EOL>for i in objective_bank_ids:<EOL><INDENT>bank = None<EOL>url_path = construct_url('<STR_LIT>',<EOL>bank_id=i)<EOL>try:<EOL><INDENT>bank = self._get_request(url_path)<EOL><DEDENT>except (NotFound, OperationFailed):<EOL><INDENT>if self._objective_bank_view == PLENARY:<EOL><INDENT>raise<EOL><DEDENT>else:<EOL><INDENT>pass<EOL><DEDENT><DEDENT>if bank:<EOL><INDENT>if not (self._objective_bank_view == COMPARATIVE and<EOL>bank in banks):<EOL><INDENT>banks.append(bank)<EOL><DEDENT><DEDENT><DEDENT>return objects.ObjectiveBankList(banks)<EOL>
Gets a ObjectiveBankList corresponding to the given IdList.
        In plenary mode, the returned list contains all of the objective
        banks specified in the Id list, in the order of the list,
        including duplicates, or an error results if an Id in the
        supplied list is not found or inaccessible. Otherwise,
        inaccessible ObjectiveBank objects may be omitted from the list
        and may present the elements in any order including returning a
        unique set.
        arg:    objectiveBankIds (osid.id.IdList): the list of Ids to
                retrieve
        return: (osid.learning.ObjectiveBankList) - the returned
                ObjectiveBank list
        raise:  NotFound - an Id was not found
        raise:  NullArgument - objectiveBankIds is null
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        compliance: mandatory - This method must be implemented.