public boolean validateParameters()
    {
	// First check that the provided parameters are
	// valid, i.e. file paths actually lead to a file etc.
	//
	// This class requires the following variables to be correct
	// before proceeding.
	//
	// Requires: Path to a previously saved neural network, the path to the data to be classified, 
	//           and the path to the file to output results to.
	// Optional: Type of clustering technique to use.

	// Check the path to an existing neural network to use for classification
	// points to a real file.
	if(!Common.fileExist(this.input.getPathToSavedNetwork()))
	{
	    System.out.println("Error: Invalid neural network file");
	    return false;
	}

	// Check the path to the file containing classification data is valid.
	// This file may not be file, but may be one of four possible things...
	//
	// 1. A file containing links to OTHER files that contain classification data. 
	// 2. A file containing classification data.
	// 3. A path to a directory holding files containing classification data
	// 4. No file path, or directory path may be provided. But file paths
	//    may be piped in from a unix terminal. In this case, these paths
	//    will be stored in a different variable, so we must check this too.
	if(!Common.fileExist(this.input.getPathToClassificationFile()) & // No valid file of any kind
		!Common.isPathValid(this.input.getPathToClassificationFile()) & // No valid directory path
		this.input.getExtraParams().size() < 1) // No parameters passed in from unix terminal
	{
	    System.out.println("Error: File\\Directory containing data for classification invalid");
	    return false;
	}

	// Check the path that the user wants to write output data to is valid.
	if(!Common.isPathValid(this.input.getPathToOutputFile()))
	{
	    System.out.println("Error: The path to output classifications to is invalid");
	    return false;
	}

	return true;
    }