private static String buildQuery( MultiMap<String,String> query ) {
		
		if ( query == null || query.isEmpty( ) )
			return null;
		
		StringBuilder sb = new StringBuilder( );
		boolean first = true;
		for ( String key : query.keySet( ) ) {
			for ( String value : query.get( key ) ) {
			
				if ( !first )
					sb.append( '&' );
				
				sb.append( key );
				if ( value != null ) {
					sb.append( '=' );
					try {
						sb.append( URLEncoder.encode( value, Charset.defaultCharset( ).name( ) ) );
					} catch( UnsupportedEncodingException e ) {
						throw new RuntimeException( e );
					}
				}
				first = false;
			}
		}
		
		return sb.toString( );
	}