question: public static String mapToStr ( Map < ? extends Object , ? extends Object > map ) { if ( map == null ) return null ; StringBuilder buf = new StringBuilder ( ) ; boolean first = true ; for ( Map . Entry < ? extends Object , ? extends Object > entry : map . entrySet ( ) ) { Object key = entry . getKey ( ) ; Object value = entry . getValue ( ) ; if ( ! ( key instanceof String ) || ! ( value instanceof String ) ) continue ; String encodedName = null ; try { encodedName = URLEncoder . encode ( ( String ) key , "UTF-8" ) ; } catch ( UnsupportedEncodingException e ) { Debug . logError ( e , module ) ; } String encodedValue = null ; try { encodedValue = URLEncoder . encode ( ( String ) value , "UTF-8" ) ; } catch ( UnsupportedEncodingException e ) { Debug . logError ( e , module ) ; } if ( first ) first = false ; else buf . append ( "|" ) ; buf . append ( encodedName ) ; buf . append ( "=" ) ; buf . append ( encodedValue ) ; } return buf . toString ( ) ; }
target:  Creates an encoded String from a Map of name/value pairs (MUST BE STRINGS!)