I see, but only semantic highlighting can mutate them. Synchronization is then needed for visibility from other threads. So does the JDT have a synchronized position subclass of their own? I'm trying to understand how different our use case is from "standard practice".