private static String memberValueToString(Object value){
  Class<?> type=value.getClass();
  if (!type.isArray())   return value.toString();
  if (type == byte[].class)   return Arrays.toString((byte[])value);
  if (type == char[].class)   return Arrays.toString((char[])value);
  if (type == double[].class)   return Arrays.toString((double[])value);
  if (type == float[].class)   return Arrays.toString((float[])value);
  if (type == int[].class)   return Arrays.toString((int[])value);
  if (type == long[].class)   return Arrays.toString((long[])value);
  if (type == short[].class)   return Arrays.toString((short[])value);
  if (type == boolean[].class)   return Arrays.toString((boolean[])value);
  return Arrays.toString((Object[])value);
}

private static String memberValueToString ( Object value ) { Class < ? > type = value . getClass ( ) ; if ( ! type . isArray ( ) ) return value . toString ( ) ; if ( type == byte [ ] . class ) return Arrays . toString ( ( byte [ ] ) value ) ; if ( type == char [ ] . class ) return Arrays . toString ( ( char [ ] ) value ) ; if ( type == double [ ] . class ) return Arrays . toString ( ( double [ ] ) value ) ; if ( type == float [ ] . class ) return Arrays . toString ( ( float [ ] ) value ) ; if ( type == int [ ] . class ) return Arrays . toString ( ( int [ ] ) value ) ; if ( type == long [ ] . class ) return Arrays . toString ( ( long [ ] ) value ) ; if ( type == short [ ] . class ) return Arrays . toString ( ( short [ ] ) value ) ; if ( type == boolean [ ] . class ) return Arrays . toString ( ( boolean [ ] ) value ) ; return Arrays . toString ( ( Object [ ] ) value ) ; }
translates a member value ( in " dynamic proxy return form " ) into a string
