For the iterators we have to hack around a bit. The problem is as follows:
C++ does not allow specialisation of the inner class when the outer class is not specialized.
So I had to create a baseclass for the iterators which is not inside another class. This base class can then be specialized, and the real Iterator class inherits from it. I gave it the somewhat clumsy name RefinementSubEntityIteratorSpecial.