@Override
    public boolean preLoadBuffers( LinkedList<byte[]> bufferList )
    {
        // Stream buffers can only be queued for streaming sources:
        if( errorCheck( channelType != SoundSystemConfig.TYPE_STREAMING,
                        "Buffers may only be queued for streaming sources." ) )
            return false;
        
        // Make sure we have a SourceDataLine:
        if( errorCheck( sourceDataLine == null,
                        "SourceDataLine null in method 'preLoadBuffers'." ) )
            return false;
        
        sourceDataLine.start();

        if( bufferList.isEmpty() )
            return true;

        // preload one stream buffer worth of data:
        byte[] preLoad = bufferList.remove( 0 );
        
        // Make sure we have some data:
        if( errorCheck( preLoad == null,
                        "Missing sound-bytes in method 'preLoadBuffers'." ) )
            return false;
        
        // If we are using more than one stream buffer, pre-load the 
        // remaining ones now:
        while( !bufferList.isEmpty() )
        {
            streamBuffers.add( new SoundBuffer( bufferList.remove( 0 ),
                                                myFormat ) );
        }
        
        // Pre-load the first stream buffer into the dataline:
        sourceDataLine.write( preLoad, 0, preLoad.length );


        processed = 0;
        
        return true;
    }