<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_next_relationships(self, n=None):
 """Gets the next set of ``Relationships`` elements in this list. The specified amount must be less than or equal to the return from ``available()``. arg: n (cardinal):
 the number of ``Relationship`` elements requested which must be less than or equal to ``available()`` return: (osid.relationship.Relationship) - an array of ``Relationship`` elements.The length of the array is less than or equal to the number specified. raise: IllegalState - no more elements available in this list raise: OperationFailed - unable to complete request *compliance: mandatory -- This method must be implemented.* """

        if n > self.available():
            # !!! This is not quite as specified (see method docs) !!!
            raise IllegalState('not enough elements available in this list')
        else:
            next_list = []
            x = 0
            while x < n:
                try:
                    next_list.append(next(self))
                except Exception:  # Need to specify exceptions here!
                    raise  # OperationFailed()
                x = x + 1
            return next_list