private @NotNull String calcText() {
    StringBuilder text = new StringBuilder();
    CharSequence hostText = myDelegate.getCharsSequence();
    synchronized (myLock) {
      for (PsiLanguageInjectionHost.Shred shred : myShreds) {
        Segment hostRange = shred.getHostRangeMarker();
        if (hostRange != null) {
          text.append(shred.getPrefix());
          text.append(hostText, hostRange.getStartOffset(), hostRange.getEndOffset());
          text.append(shred.getSuffix());
        }
      }
    }
    return text.toString();
  }
private @NotNull String calcText()