private static @NotNull ShredImpl createShred(@NotNull PlaceInfo info, @NotNull StringBuilder outChars, @NotNull PsiFile hostPsiFile) {
    decode(info, outChars);

    TextRange relevantRange = info.rangeInHostElement;

    TextRange hostTextRange = info.host.getTextRange();
    TextRange relevantRangeInHostFile = relevantRange.shiftRight(hostTextRange.getStartOffset());
    SmartPointerManagerImpl manager = (SmartPointerManagerImpl)SmartPointerManager.getInstance(hostPsiFile.getProject());
    return new ShredImpl(manager.createSmartPsiFileRangePointer(hostPsiFile, relevantRangeInHostFile, true),
                         manager.createSmartPsiElementPointer(info.host, hostPsiFile, true),
                         info.prefix, info.suffix, info.rangeInDecodedPSI, false, info.myEscaper.isOneLine());
  }
private static @NotNull ShredImpl createShred(@NotNull PlaceInfo info, @NotNull StringBuilder outChars, @NotNull PsiFile hostPsiFile)