@Override
    public LightFilePath read(@NotNull ByteBuffer input) throws IOException {
      int rootIndex = input.getInt();
      VirtualFile root = myRoots.get(rootIndex);
      if (root == null) throw new IOException("Can not read root for index " + rootIndex + ". All roots " + myRoots);

      byte[] dst = new byte[input.remaining()];
      input.get(dst);
      var path = new String(dst, UTF_8);

      return new LightFilePath(root, path);
    }
@Override
    public LightFilePath read(@NotNull ByteBuffer input)