@Override
  public @NotNull VirtualFile createChildDirectory(Object requestor, @NotNull VirtualFile parent, @NotNull String name) throws IOException {
    FSDir fsDir = convertDirectory(parent);
    FSItem existing = fsDir.findChild(name);
    if (existing == null) {
      fsDir.addChild(name, new FSDir());
    }
    else if (!existing.isDirectory()) {
      throw new IOException("File " + name + " already exists in " + parent.getPath());
    }
    return new FakeVirtualFile(parent, name);
  }
@Override
  public @NotNull VirtualFile createChildDirectory(Object requestor, @NotNull VirtualFile parent, @NotNull String name)