RAStreamBuffer buffer = (RAStreamBuffer)bufferMap.get( offset );
Long offsetKey = new Long(offset); RAStreamBuffer buffer = (RAStreamBuffer)bufferMap.get( offsetKey );
	private RAStreamBuffer getBuffer( long offset ) throws IOException	{		// If we already have a buffer allocated for that offset, just 		// return it.		RAStreamBuffer buffer = (RAStreamBuffer)bufferMap.get( offset );		if ( buffer != null )			return buffer;		// If not, and MAX_NUMBER_OF_STREAM_BUFFER has not been reached, 		// allocate a new buffer for it.		if ( totalBuffer < IOUtil.MAX_NUMBER_OF_STREAM_BUFFER )		{			buffer = new RAStreamBuffer( this.randomFile );			buffer.resetBuffer( offset );			totalBuffer ++;			bufferList.add( buffer );			bufferMap.put(offset, buffer);			return buffer;		}				// If no buffer has been found, and MAX_NUMBER_OF_STREAM_BUFFER has		// been reached, reuse the buffer from the beginning of the list and		// put the buffer to the end of the list.		buffer = (RAStreamBuffer)bufferList.get( 0 );		buffer.flushBuffer();		bufferMap.remove( buffer.getOffset());		buffer.resetBuffer( offset ); 		bufferMap.put( offset, buffer);		bufferList.remove( 0 );		bufferList.add( buffer );				return buffer;	}