code: def get_next_property(self):
          
          try:
              next_object = self.next()
          except StopIteration:
              raise IllegalState('no more elements available in this list')
          except Exception:  # Need to specify exceptions here!
              raise OperationFailed()
          else:
              return next_object
docs: Gets the next ``Property`` in this list.
  
          :return: the next ``Property`` in this list. The ``has_next()`` method should be used to test that a next ``Property`` is available before calling this method.
          :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.*