def get_next_properties(self, n):
if n > self.available():<EOL><INDENT>raise IllegalState('<STR_LIT>')<EOL><DEDENT>else:<EOL><INDENT>next_list = []<EOL>x = <NUM_LIT:0><EOL>while x < n:<EOL><INDENT>try:<EOL><INDENT>next_list.append(self.next())<EOL><DEDENT>except Exception:  <EOL><INDENT>raise OperationFailed()<EOL><DEDENT>x = x + <NUM_LIT:1><EOL><DEDENT>return next_list<EOL><DEDENT>
Gets the next set of ``Property`` elements in this list which must be less than or equal to the number returned from ``available()``.

        :param n: the number of ``Property`` elements requested which should be less than or equal to ``available()``
        :type n: ``cardinal``
        :return: an array of ``Property`` elements.The length of the array is less than or equal to the number specified.
        :rtype: ``osid.Property``
        :raise: ``IllegalState`` -- no more elements available in this list
        :raise: ``OperationFailed`` -- unable to complete request

        *compliance: mandatory -- This method must be implemented.*