private final void createSampleArrayCollection() {
		try {
			this.audioInputStream.mark(Integer.MAX_VALUE);
			this.audioInputStream.reset();
			
			int bufferSize = ( (int) this.getNumberOfFrames() ) * this.getFrameSize();
			
			byte[] bytes = new byte[bufferSize];
			
			try {
				this.audioInputStream.read(bytes);
			} catch (Exception e) {
				e.printStackTrace();
			}
			
			if(this.getBitsPerSample() == 8) {
				// Ensure the bytes are unsigned...
				this.ensure8bitUnsigned(bytes);
				this.samplesContainer = this.get8BitSampleArray(bytes);
			} else if(this.getBitsPerSample() == 24) {
				this.samplesContainer = this.get24BitSampleArray(bytes);
			} else {
				this.samplesContainer = this.get16BitSampleArray(bytes);
			}
			
			// Find biggest sample. Useful for interpolating the yScaleFactor (ex. drawing a waveform).
			if (this.sampleMax > this.sampleMin) {
				this.biggestSample = this.sampleMax;
			} else {
				this.biggestSample = Math.abs(((double) this.sampleMin));
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}