public void run(){
		if(! hasStarted()){
			Property<String> outputFileProp = getFirstProperty("output-file");
			if((outputFileProp == null) || (outputFileProp.getValue() == null)){
				die("OutputAdapter requires an output-file property.");
			}
			File outputFile = new File(outputFileProp.getValue());
			
			String           characterSet = "UTF-8";
			Property<String> charSetProp  = getFirstProperty("character-set");
			if((charSetProp != null) && (charSetProp.getValue() != null)){
				characterSet = charSetProp.getValue();
			}
			
			try {
				writer = new OutputStreamWriter(new FileOutputStream(outputFile), characterSet);
			}
			catch (UnsupportedEncodingException uee) {
				die("OutputAdapter given invalid character encoding.  Exception caught: '" + uee + "'.");
			}
			catch (FileNotFoundException fnfe) {
				die("OutputAdapter can't find file to write.  Exception caught: '" + fnfe + "'.");
			}
		}
		
		super.run();
	}