public @NotNull VirtualFile createChildDirectory(Object requestor, @NotNull @NonNls String name) throws IOException {
    if (!isDirectory()) {
      throw new IOException(CoreBundle.message("directory.create.wrong.parent.error"));
    }

    if (!isValid()) {
      throw new IOException(CoreBundle.message("invalid.directory.create.files"));
    }

    if (!getFileSystem().isValidName(name)) {
      throw new IOException(CoreBundle.message("directory.invalid.name.error", name));
    }

    if (findChild(name) != null) {
      throw new IOException(CoreBundle.message("file.create.already.exists.error", getUrl(), name));
    }

    return getFileSystem().createChildDirectory(requestor, this, name);
  }
public @NotNull VirtualFile createChildDirectory(Object requestor, @NotNull @NonNls String name)