public static void doCheckout(@NotNull Project project,
                                @NotNull File target,
                                @NotNull Url url,
                                Revision revision,
                                Depth depth,
                                boolean ignoreExternals,
                                @Nullable Listener listener) {
    if (!target.exists()) {
      target.mkdirs();
    }

    final WorkingCopyFormat selectedFormat = promptForWCopyFormat(target, project);
    // UNKNOWN here means operation was cancelled
    if (selectedFormat != UNKNOWN) {
      checkout(project, target, url, revision, depth, ignoreExternals, listener, selectedFormat);
    }
  }
public static void doCheckout(@NotNull Project project,
                                @NotNull File target,
                                @NotNull Url url,
                                Revision revision,
                                Depth depth,
                                boolean ignoreExternals,
                                @Nullable Listener listener)