HttpUtils { public static Object attemptEncodeQueryParam(Object queryParam) { if (queryParam instanceof Date) { return HttpDateUtils.format((Date) queryParam); } if (queryParam instanceof String) { return urlPathSegmentEscaper().escape((String) queryParam); } return queryParam; }  static String encodePathSegment(@Nonnull String pathSegment); static String encodePathSegment(@Nonnull Number pathSegment); static String encodePathSegment(@Nonnull Boolean pathSegment); static String encodePathSegment(@Nonnull Character pathSegment); static String encodePathSegment(@Nonnull UUID pathSegment); static Object attemptEncodeQueryParam(Object queryParam); static WrappedWebTarget encodeMapQueryParam(
            WrappedWebTarget target, String prefix, Map<String, ?> queryParam); static WrappedWebTarget encodeCollectionFormatQueryParam(
            WrappedWebTarget target,
            String queryParamName,
            List<T> values,
            CollectionFormatType collectionFormatType);  }
@Test public void attemptEncodeQueryParam_notString() { Object o = new Object(); assertSame(o, HttpUtils.attemptEncodeQueryParam(o)); }
@Test public void attemptEncodeQueryParam_string() { assertEquals( "%251%253D%253F%2540%255B%255D%2541%20aaaa", HttpUtils.attemptEncodeQueryParam("%1%3D%3F%40%5B%5D%41 aaaa")); }