@Override
    public void moveCaretTo(int offset) {
      myPositionUpdated = true;
      PsiLanguageInjectionHost host = myTracker.getHostCopy();
      if (host != null) {
        InjectedLanguageManager instance = InjectedLanguageManager.getInstance(myTracker.myProject);
        PsiFile file = findInjectedFile(instance, host);
        offset = instance.mapUnescapedOffsetToInjected(file, offset);
        offset = instance.injectedToHost(file, offset);
      }
      myCaretOffset = myCaretVirtualEnd = offset;
      if (!mySelection.containsOffset(offset)) {
        mySelection = TextRange.create(offset, offset);
      }
    }
@Override
    public void moveCaretTo(int offset)