boolean (@NotNull SmartPointerElementInfo other, @NotNull SmartPointerManagerImpl manager) { if (other instanceof AnchorElementInfo) { if (!getVirtualFile().equals(other.getVirtualFile())) return false; long packed1 = myStubElementTypeAndId; long packed2 = ((AnchorElementInfo)other).myStubElementTypeAndId; if (packed1 != -1 && packed2 != -1) { return packed1 == packed2; } if (packed1 != -1 || packed2 != -1) { return ReadAction.compute(() -> Comparing.equal(restoreElement(manager), other.restoreElement(manager))); } } return super.pointsToTheSameElementAs(other, manager); }