In 2.0.3 there wasn't hashCode implemented in TextPosition, and for me that was fine. Same instance, same hashCode.
In 2.0.6 the hashCode is now checking the fields values, which is reasonable. But, the hashCode in the same instance can have different results.
The problem is in the `direction` field, which is -1.0 and initialised only when getDir is called the first time.
For now as workaround, anytime (or just the first time) I need the textPosition's hashCode I call getDir before that.
I don't know the reason of the late assignment to direction, but if that is necessary, I would say that the hashCode should call getDir() instead of using the field.