code: public void initToken( String token )
  	{
  		values.clear();
  
  		if( token == null )
  			return;
  
  		String[] parts = token.split( "&" );
  		for( int i = 0; i < parts.length; i++ )
  		{
  			String[] sub = parts[i].split( "=" );
  			if( sub.length < 1 )
  				continue;
  			String name = sub[0];
  			String value = "";
  			if( sub.length >= 2 )
  				value = sub[1];
  
  			values.put( name, value );
  		}
  
  		String chksum = values.get( "z" );
  		if( !chksum.equals( chk() ) )
  		{
  			Window.alert( "Invalid link checksum " + chksum + " / " + chk() );
  			values.clear();
  		}
  	}
docs: decoding part