DataFile dataFile = new DataFile(document, toAppName(fileName));
DataFile dataFile = new DataFile(document, converter.toAppName(fileName));
	public static void main(String[] argv) throws Exception {		// Expand any option files		argv = CommandLine.expandOptionFiles(argv, true, true);		// Parse command line arguments		C2ACommandLine commandLine = new C2ACommandLine();		int argCount = commandLine.parse(argv);		if (argCount > argv.length - 3) {			commandLine.printUsage(System.err);			System.exit(1);		}		String relationName = argv[argCount++];		String outputFileName = argv[argCount++];		// Create the converter		ConvertToARFF converter = commandLine.getConverter();		if (converter.getNumAttributes() == 0) {			throw new IllegalArgumentException("No attributes specified!");		}		// Open output file		Writer out = new OutputStreamWriter(new BufferedOutputStream(			new FileOutputStream(outputFileName)));		// Read documents,		// scan documents to find ranges of attributes		List<DataFile> dataFileList = new ArrayList<DataFile>();		while (argCount < argv.length) {			String fileName = argv[argCount++];			// Read input file as dom4j tree			SAXReader reader = new SAXReader();			Document document = reader.read(fileName);			DataFile dataFile = new DataFile(document, toAppName(fileName));			dataFileList.add(dataFile);			converter.scan(dataFile.getDocument(), dataFile.getAppName());		}		// Generate ARFF header		converter.generateHeader(relationName, out);		// Generate instances from each document		for (Iterator<DataFile> i = dataFileList.iterator(); i.hasNext(); ) {			DataFile dataFile = i.next();			converter.generateInstances(dataFile.getDocument(), dataFile.getAppName(), out);		}		out.close();	}