public Clip loadAudioClip(InputStream file) {
		Clip playableClip = null;

		AudioInputStream inputStream;

		try {
			inputStream = AudioSystem.getAudioInputStream(file);

			DataLine.Info info = new DataLine.Info(Clip.class, inputStream.getFormat());

			playableClip = (Clip) AudioSystem.getLine(info);
			playableClip.addLineListener(this);
			playableClip.open(inputStream);
			playableClip.setFramePosition(0);
			inputStream.close();

			// This catch used to be a lovely multi catch statement.
			// Pretend it's still there.
		} catch (UnsupportedAudioFileException e) {
			logger.info(e, "died within loadAudioClip UnsupportedAudioFileException");
		} catch (IOException e) {
			logger.info(e, "died within loadAudioClip IOException");
		} catch (LineUnavailableException e) {
			logger.info(e, "died within loadAudioClip LineUnavailableException");
		}

		return playableClip;
	}