private static Clip getClipFromFile(File inputFile) throws GameException 
	{
	//	UnsupportedAudioFileException, IOException, LineUnavailableException
		
		if(preLoadedSounds!= null && preLoadedSounds.containsKey(inputFile.getPath()))
		{
			return preLoadedSounds.get(inputFile.getPath());
		}
		
		FileInputStream fis					= null;
		InputStream bufferedIn				= null;
		AudioInputStream audioInputStream 	= null;
		DataLine.Info info					= null;
		Clip newClip						= null;
		
		try{
			fis 				= new FileInputStream(inputFile);
			bufferedIn 			= new BufferedInputStream(fis);
			audioInputStream 	= AudioSystem.getAudioInputStream(bufferedIn);
    		info 				= new DataLine.Info(Clip.class, audioInputStream.getFormat());
    		newClip 			= (Clip) AudioSystem.getLine(info);
    		newClip.open(audioInputStream);
		}
		catch(UnsupportedAudioFileException e)
		{
			throw new GameException(GameException.ERROR_NOT_A_VALID_SOUNDFILE_FORMAT);	
		}
		catch(IOException e)
		{
			throw new GameException(GameException.ERROR_NOT_A_VALID_SOUNDFILE);	
		} 
		catch(LineUnavailableException e)
		{
			throw new GameException(GameException.ERROR_SOUNDFILE_IN_USE);	
		}
		return newClip;
	}