protected void initOptions(SVNCommandLine commandLine) throws SVNException {
    super.initOptions(commandLine);
    if (getCommand().getClass() == SVNDumpFilterHelpCommand.class) {
      return;
    }

    List arguments = getArguments();

    myPrefixes = new LinkedList();
    if (arguments != null) {
      for (Iterator prefixesIter = arguments.iterator(); prefixesIter.hasNext(); ) {
        String prefix = (String) prefixesIter.next();
        prefix = prefix.replace(File.separatorChar, '/');
        prefix = SVNPathUtil.canonicalizePath(prefix);

        if (!prefix.startsWith("/")) {
          prefix = "/" + prefix;
        }
        myPrefixes.add(prefix);
      }
    }

    if (myTargetsFile != null) {
      File targetsFile = new File(myTargetsFile);
      String contents = new String(readFromFile(targetsFile));
      for (StringTokenizer tokens = new StringTokenizer(contents, "\n\r");
          tokens.hasMoreTokens(); ) {
        String prefix = tokens.nextToken();
        myPrefixes.add(prefix);
      }
    }

    if (myPrefixes.isEmpty()) {
      SVNErrorMessage err =
          SVNErrorMessage.create(SVNErrorCode.CL_INSUFFICIENT_ARGS, "Error: no prefixes supplied.");
      SVNErrorManager.error(err, SVNLogType.CLIENT);
    }
  }