code: @Override
  	public Iterator<? extends T> iterator(final long first, final long count)
  	{
  		List<T> result = new ArrayList<>(sort());
  		if (result.size() > (first + count))
  		{
  			result = result.subList((int)first, (int)first + (int)count);
  		}
  		else
  		{
  			result = result.subList((int)first, result.size());
  		}
  		return result.iterator();
  	}
docs: {@inheritDoc}