@Nullable
    @Override
    protected Iterable<? extends Crumb> computeCrumbs(int offset) {
      Pair<Integer, Side> pair = transferOffsetToTwoside(offset);
      if (pair == null) return null;

      Side side = pair.second;
      int twosideOffset = pair.first;

      VirtualFile file = side.select(myFile1, myFile2);
      FileBreadcrumbsCollector collector = side.select(findCollector(myFile1), findCollector(myFile2));
      if (file == null || collector == null) return null;

      Iterable<? extends Crumb> crumbs = collector.computeCrumbs(file, getDocument(side), twosideOffset, null);
      return ContainerUtil.map(crumbs, it -> it instanceof NavigatableCrumb ? new UnifiedNavigatableCrumb((NavigatableCrumb)it, side) : it);
    }
@Nullable
    @Override
    protected Iterable<? extends Crumb> computeCrumbs(int offset)