public int hashCode()
	{
		int a = 1, b = 0, i = 0;
		int len = data.length;
	    while ( len > 0 ) 
	    {
	        int tlen = len > 5552 ? 5552 : len;
	        len -= tlen;
	        do 
	        {
	            a += data[i++];
	            b += a;
	        } while (--tlen > 0 );
	        a %= MOD_ADLER;
	        b %= MOD_ADLER;
		 }
		 return (b << 16) | a;
	}