This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 07c1eb277 Test modernization
07c1eb277 is described below

commit 07c1eb277a3e8534ffbc65ebe87167eff3d712f0
Author: James Bognar <james.bog...@salesforce.com>
AuthorDate: Sun Aug 24 14:32:19 2025 -0400

    Test modernization
---
 .../java/org/apache/juneau/BeanConfig_Test.java    | 1369 ++++++++++----------
 .../test/java/org/apache/juneau/BeanMapTest.java   |  193 +--
 .../apache/juneau/DynaBean_ComboRoundTripTest.java |   60 +-
 .../a/rttests/RoundTripTransformBeans_Test.java    |    9 +-
 .../org/apache/juneau/html/CommonParser_Test.java  |    9 +-
 .../java/org/apache/juneau/html/Common_Test.java   |   33 +-
 .../remote/Remote_FormDataAnnotation_Test.java     |  150 +--
 .../http/remote/Remote_HeaderAnnotation_Test.java  |  145 +--
 .../http/remote/Remote_PathAnnotation_Test.java    |  103 +-
 .../http/remote/Remote_QueryAnnotation_Test.java   |   98 +-
 .../org/apache/juneau/json/CommonParserTest.java   |    9 +-
 .../java/org/apache/juneau/json/CommonTest.java    |   32 +-
 .../juneau/jsonschema/JsonSchemaGeneratorTest.java |   16 +-
 .../juneau/objecttools/ObjectMerger_Test.java      |   14 +-
 .../java/org/apache/juneau/rest/Swagger_Test.java  |   15 +-
 .../rest/client/RestClient_BasicCalls_Test.java    |   45 +-
 .../client/RestClient_Config_BeanContext_Test.java |  139 +-
 .../apache/juneau/uon/CommonParser_UonTest.java    |    9 +-
 .../urlencoding/CommonParser_UrlEncodingTest.java  |   10 +-
 .../org/apache/juneau/xml/CommonParserTest.java    |    9 +-
 .../org/apache/juneau/xml/XmlCollapsedTest.java    |   83 +-
 .../apache/juneau/xml/XmlIgnoreComments_Test.java  |   12 +-
 .../test/java/org/apache/juneau/xml/XmlTest.java   |   11 +-
 23 files changed, 971 insertions(+), 1602 deletions(-)

diff --git a/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
index 2570bc392..f77c49966 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
@@ -1,702 +1,669 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau;
-
-import static org.apache.juneau.Visibility.*;
-import static org.apache.juneau.common.internal.Utils.*;
-import static org.apache.juneau.internal.CollectionUtils.map;
-import static org.junit.jupiter.api.Assertions.*;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.time.*;
-import java.util.*;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.collections.*;
-import org.apache.juneau.json.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.swap.*;
-import org.junit.jupiter.api.*;
-
-@SuppressWarnings("rawtypes")
-class BeanConfig_Test extends SimpleTestBase {
-
-       
//====================================================================================================
-       // testBasic
-       
//====================================================================================================
-       @Test void a01_basic() {
-
-               var bc = BeanContext.DEFAULT;
-
-               var p1 = new Person();
-               p1.setName("John Doe");
-               p1.setAge(25);
-
-               var a = new Address("101 Main St.", "Las Vegas", "NV", "89101");
-               var p2 = new AddressablePerson();
-               p2.setName("Jane Doe");
-               p2.setAge(21);
-               p2.setAddress(a);
-
-               // setup the reference results
-               var m1 = new LinkedHashMap();
-               m1.put("name", p1.getName());
-               m1.put("age", Integer.valueOf(p1.getAge()));
-
-               var m2 = new LinkedHashMap();
-               m2.put("street", a.getStreet());
-               m2.put("city", a.getCity());
-               m2.put("state", a.getState());
-               m2.put("zip", a.getZip());
-
-               var m3 = new LinkedHashMap();
-               m3.put("name", p2.getName());
-               m3.put("age", Integer.valueOf(p2.getAge()));
-               m3.put("address", p2.getAddress());
-
-               var pm1 = bc.toBeanMap(p1);
-
-               assertEquals(pm1.size(), m1.size(), ss("Bean Map size failed 
for: {0} / {1} / {2}", p1, pm1.size(), m1.size()));
-               assertEquals(pm1.keySet(), m1.keySet(), ss("Bean Map key set 
equality failed for: {0} / {1} / {2}", p1, pm1.keySet() , m1.keySet()));
-               assertEquals(m1.keySet(), pm1.keySet(), ss("Bean Map key set 
reverse equality failed for: {0} / {1} / {2}", p1, pm1.keySet(), m1.keySet()));
-               assertEquals(pm1, m1, ss("Bean Map equality failed for: {0} / 
{1} / {2}", p1, pm1, m1));  // NOSONAR
-               assertThrows(BeanRuntimeException.class, 
()->bc.newBeanMap(Address.class));  // Address returned as a new bean type, but 
shouldn't be since it doesn't have a default constructor.
-               assertNull(bc.newBeanMap(java.lang.Integer.class), 
"java.lang.Integer incorrectly designated as bean type.");
-               assertNull(bc.newBeanMap(java.lang.Class.class), 
"java.lang.Class incorrectly designated as bean type.");
-
-               var bm1 = bc.toBeanMap(new Address("street", "city", "state", 
"zip"));
-
-               assertEquals(bm1.size(), m2.size(), ss("Bean Adapter map's key 
set has wrong size: {0} / {1} / {2}", a, bm1.size(), m2.size()));
-
-               var iter = bm1.keySet().iterator();
-               var temp = new HashSet();
-               var count = 0;
-               while (iter.hasNext()) {
-                       temp.add(iter.next());
-                       count++;
-               }
-
-               assertEquals(count, m2.size(), ss("Iteration count over bean 
adpater key set failed: {0} / {1} / {2}", a, count, m2.size()));
-               assertEquals(m2.keySet(), temp, ss("Iteration over bean adpater 
key set failed: {0} / {1} / {2}", a, bm1.keySet(), m2.keySet()));
-               assertNotNull(bc.toBeanMap(p2), ss("Failed to identify class as 
bean type: {0}", p2.getClass()));
-
-               var m5 = bc.toBeanMap(p2);
-               Set es1 = m5.entrySet();
-
-               assertEquals(es1, m3.entrySet(), ss("Entry set equality failed: 
{0} / {1} / {2}", p2, es1, m3.entrySet()));
-               assertEquals(m3.entrySet(), es1, ss("Entry set reverse equality 
failed: {0} / {1} / {2}", p2, es1, m3.entrySet()));
-
-               iter = es1.iterator();
-               temp = new HashSet();
-               count = 0;
-               while (iter.hasNext()) {
-                       temp.add(iter.next());
-                       count++;
-               }
-
-               assertEquals(count, m3.size(), ss("Iteration count over bean 
adpater entry set failed: {0} / {1} / {2}", a, count, m3.size()));
-               assertEquals(m3.entrySet(), temp, ss("Iteration over bean 
adpater entry set failed: {0} / {1} / {2}", a, es1, m3.entrySet()));
-       }
-
-       public static class Person {
-               private String name;
-               private int age;
-
-               public Person() {
-                       name = null;
-                       age = -1;
-               }
-
-               public String getName() {
-                       return name;
-               }
-
-               public void setName(String v) {
-                       name = v;
-               }
-
-               public int getAge() {
-                       return age;
-               }
-
-               public void setAge(int v) {
-                       age = v;
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return format("Person(name: {0}, age: {1})", name, age);
-               }
-       }
-
-       public static class Address {
-               protected String street;
-               protected String city;
-               protected String state;
-               protected String zip;
-
-               public Address(String street, String city, String state, String 
zip) {
-                       this.street = street;
-                       this.city = city;
-                       this.state = state;
-                       this.zip = zip;
-               }
-
-               public String getStreet() {
-                       return street;
-               }
-
-               public String getCity() {
-                       return city;
-               }
-
-               public String getState() {
-                       return state;
-               }
-
-               public String getZip() {
-                       return zip;
-               }
-
-               @Override /* Object */
-               public boolean equals(Object o) {
-                       return eq(this, (Address)o, (x,y) -> eq(x.getStreet(), 
y.getStreet()) && eq(x.getCity(), y.getCity()) && eq(x.getState(), 
y.getState()) && eq(x.getZip(), y.getZip()));
-               }
-
-               @Override /* Object */
-               public int hashCode() {
-                       return hash(street, city, state, zip);
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return format("Address(street: {0}, city: {1}, state: 
{2}, zip: {3})", street, city, state, zip);
-               }
-       }
-
-       public static class AddressablePerson extends Person {
-               private Address address;
-
-               public AddressablePerson() {
-                       this.address = null;
-               }
-
-               public Address getAddress() {
-                       return address;
-               }
-
-               public void setAddress(Address v) {
-                       address = v;
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return super.toString() + "@" + this.address;
-               }
-       }
-
-       
//====================================================================================================
-       // Exhaustive test of BeanContext.convertToType()
-       
//====================================================================================================
-       @Test void testBeanContextConvertToType() throws Exception {
-               var bc = BeanContext.DEFAULT;
-               Object o;
-
-               // Primitive nulls.
-               o = null;
-               assertEquals(Integer.valueOf(0), bc.convertToType(o, 
Integer.TYPE));
-               assertEquals(Short.valueOf((short) 0), bc.convertToType(o, 
Short.TYPE));
-               assertEquals(Long.valueOf(0), bc.convertToType(o, Long.TYPE));
-               assertEquals(Float.valueOf(0), bc.convertToType(o, Float.TYPE));
-               assertEquals(Double.valueOf(0), bc.convertToType(o, 
Double.TYPE));
-               assertEquals(Byte.valueOf((byte) 0), bc.convertToType(o, 
Byte.TYPE));
-               assertEquals(Character.valueOf((char) 0), bc.convertToType(o, 
Character.TYPE));
-               assertEquals(Boolean.FALSE, bc.convertToType(o, Boolean.TYPE));
-
-               o = "1";
-
-               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
Integer.class));
-               assertEquals(Short.valueOf((short) 1), bc.convertToType(o, 
Short.class));
-               assertEquals(Long.valueOf(1), bc.convertToType(o, Long.class));
-               assertEquals(Float.valueOf(1), bc.convertToType(o, 
Float.class));
-               assertEquals(Double.valueOf(1), bc.convertToType(o, 
Double.class));
-               assertEquals(Byte.valueOf((byte) 1), bc.convertToType(o, 
Byte.class));
-               assertEquals(Character.valueOf('1'), bc.convertToType(o, 
Character.class));
-               assertEquals(Boolean.FALSE, bc.convertToType(o, Boolean.class));
-
-               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
Integer.TYPE));
-               assertEquals(Short.valueOf((short) 1), bc.convertToType(o, 
Short.TYPE));
-               assertEquals(Long.valueOf(1), bc.convertToType(o, Long.TYPE));
-               assertEquals(Float.valueOf(1), bc.convertToType(o, Float.TYPE));
-               assertEquals(Double.valueOf(1), bc.convertToType(o, 
Double.TYPE));
-               assertEquals(Byte.valueOf((byte) 1), bc.convertToType(o, 
Byte.TYPE));
-               assertEquals(Character.valueOf('1'), bc.convertToType(o, 
Character.TYPE));
-               assertEquals(Boolean.FALSE, bc.convertToType(o, Boolean.TYPE));
-
-               o = Integer.valueOf(1);
-
-               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
Integer.TYPE));
-               assertEquals(Short.valueOf((short) 1), bc.convertToType(o, 
Short.TYPE));
-               assertEquals(Long.valueOf(1), bc.convertToType(o, Long.TYPE));
-               assertEquals(Float.valueOf(1), bc.convertToType(o, Float.TYPE));
-               assertEquals(Double.valueOf(1), bc.convertToType(o, 
Double.TYPE));
-               assertEquals(Byte.valueOf((byte) 1), bc.convertToType(o, 
Byte.TYPE));
-               assertEquals(Character.valueOf('1'), bc.convertToType(o, 
Character.TYPE));
-               assertEquals(Boolean.TRUE, bc.convertToType(o, Boolean.TYPE));
-
-               o = Integer.valueOf(0);
-               assertEquals(Boolean.FALSE, bc.convertToType(o, Boolean.TYPE));
-
-               // Bean
-               o = "{name:'x',age:123}";
-               assertEquals("x", bc.convertToType(o, Person.class).getName());
-               assertEquals(123, bc.convertToType(o, Person.class).getAge());
-
-               // Read-only bean
-               o = "{name:'x',age:123}";
-               assertEquals("x", bc.convertToType(o, 
ReadOnlyPerson.class).getName());
-               assertEquals(123, bc.convertToType(o, 
ReadOnlyPerson.class).getAge());
-
-               // Class with forString(String) method.
-               o = UUID.randomUUID();
-               assertEquals(o, bc.convertToType(o.toString(), UUID.class));
-
-               // Class with Constructor(String).
-               o = "xxx";
-               var file = bc.convertToType(o, File.class);
-               assertEquals("xxx", file.getName());
-
-               // List of ints to array
-               o = JsonList.of(1, 2, 3);
-               assertEquals(1, bc.convertToType(o, int[].class)[0]);
-
-               // List of beans to array
-               o = JsonList.of(new ReadOnlyPerson("x", 123));
-               assertEquals("x", bc.convertToType(o, 
ReadOnlyPerson[].class)[0].getName());
-
-               // Multi-dimensional array of beans.
-               o = JsonList.ofCollections(JsonList.of(new ReadOnlyPerson("x", 
123)));
-               assertEquals("x", bc.convertToType(o, 
ReadOnlyPerson[][].class)[0][0].getName());
-
-               // Array of strings to array of ints
-               o = a("1", "2", "3");
-               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
Integer[].class)[0]);
-               assertEquals(1, bc.convertToType(o, int[].class)[0]);
-
-               // Array to list
-               o = a(1, 2, 3);
-               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
LinkedList.class).get(0));
-
-               // HashMap to TreeMap
-               o = map(1, "foo");
-               assertEquals("foo", bc.convertToType(o, 
TreeMap.class).firstEntry().getValue());
-
-               // String to TreeMap
-               o = "{1:'foo'}";
-               assertEquals("foo", bc.convertToType(o, 
TreeMap.class).firstEntry().getValue());
-
-               // String to generic Map
-               assertEquals("foo", bc.convertToType(o, 
Map.class).values().iterator().next());
-
-               // Array to String
-               o = a("a", 1, false);
-               assertEquals("['a',1,false]", bc.convertToType(o, 
String.class));
-               o = new Object[]{a("a", 1, false)};
-               assertEquals("[['a',1,false]]", bc.convertToType(o, 
String.class));
-       }
-
-       
//====================================================================================================
-       // Test properties set through a constructor.
-       
//====================================================================================================
-       @Test void testReadOnlyProperties() throws Exception {
-               var bc = BeanContext.DEFAULT;
-               Object o;
-
-               // Bean to String
-               o = new ReadOnlyPerson("x", 123);
-               assertEquals("{name:'x',age:123}", bc.convertToType(o, 
String.class));
-
-               // List of Maps to array of beans.
-               o = JsonList.of(JsonMap.ofJson("{name:'x',age:1}"), 
JsonMap.ofJson("{name:'y',age:2}"));
-               assertEquals(1, bc.convertToType(o, 
ReadOnlyPerson[].class)[0].getAge());
-       }
-
-       @Bean(p="name,age")
-       public static class ReadOnlyPerson {
-               private final String name;
-               private final int age;
-
-               @Beanc(properties="name,age")
-               public ReadOnlyPerson(String name, int age) {
-                       this.name = name;
-                       this.age = age;
-               }
-
-               public String getName() {
-                       return name;
-               }
-
-               public int getAge() {
-                       return age;
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return format("toString():name={0},age={1}", name, age);
-               }
-       }
-
-       @Test void testReadOnlyProperties_usingConfig() throws Exception {
-               var bc = 
BeanContext.DEFAULT.copy().applyAnnotations(ReadOnlyPerson2Config.class).build();
-               Object o;
-
-               // Bean to String
-               o = new ReadOnlyPerson2("x", 123);
-               assertEquals("{name:'x',age:123}", bc.convertToType(o, 
String.class));
-
-               // List of Maps to array of beans.
-               o = JsonList.of(JsonMap.ofJson("{name:'x',age:1}"), 
JsonMap.ofJson("{name:'y',age:2}"));
-               assertEquals(1, bc.convertToType(o, 
ReadOnlyPerson2[].class)[0].getAge());
-       }
-
-       public static class ReadOnlyPerson2 {
-               private final String name;
-               private final int age;
-
-               public ReadOnlyPerson2(String name, int age) {
-                       this.name = name;
-                       this.age = age;
-               }
-
-               public String getName() {
-                       return name;
-               }
-
-               public int getAge() {
-                       return age;
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return format("toString():name={0},age={1}", name, age);
-               }
-       }
-
-       @Bean(on="Dummy1",p="dummy")
-       @Bean(on="ReadOnlyPerson2",p="name,age")
-       @Bean(on="Dummy2",p="dummy")
-       @Beanc(on="Dummy1",properties="dummy")
-       @Beanc(on="ReadOnlyPerson2(String,int)",properties="name,age")
-       @Beanc(on="Dummy2",properties="dummy")
-       private static class ReadOnlyPerson2Config {}
-
-       
//====================================================================================================
-       // testEnums
-       
//====================================================================================================
-       @Test void testEnums() throws Exception {
-               var bc = BeanContext.DEFAULT;
-               Object o;
-
-               // Enum
-               o = "ENUM2";
-               assertEquals(TestEnum.ENUM2, bc.convertToType(o, 
TestEnum.class));
-               assertEquals("ENUM2", bc.convertToType(TestEnum.ENUM2, 
String.class));
-
-               // Array of enums
-               o = a("ENUM2");
-               assertEquals(TestEnum.ENUM2, bc.convertToType(o, 
TestEnum[].class)[0]);
-       }
-
-       public enum TestEnum {
-               ENUM1, ENUM2, ENUM3
-       }
-
-       
//====================================================================================================
-       // testProxyHandler
-       
//====================================================================================================
-       @Test void testProxyHandler() {
-               var session = BeanContext.DEFAULT_SESSION;
-
-               var f1 = (A) 
Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[] { A.class 
}, new AHandler());
-
-               var bm1 = session.toBeanMap(f1);
-               assertNotNull(bm1, ss("Failed to obtain bean adapter for proxy: 
{0}", f1));
-
-               var bm2 = session.newBeanMap(A.class);
-               assertNotNull(bm2, ss("Failed to create dynamic proxy bean for 
interface: {0}", A.class.getName()));
-
-               bm2.put("a", "Hello");
-               bm2.put("b", Integer.valueOf(50));
-               f1.setA("Hello");
-               f1.setB(50);
-
-               assertEquals(bm2.get("a"), "Hello", ss("Failed to set string 
property 'a' on dynamic proxy bean. {0}", bm2));  // NOSONAR
-               assertEquals(bm2.get("b"), Integer.valueOf(50), ss("Failed to 
set string property 'b' on dynamic proxy bean. {0}", bm2));
-               assertEquals(bm1, bm2, ss("Failed equality test of dynamic 
proxies beans: {0} / {1}", bm1, bm2));
-               assertEquals(bm2, bm1, ss("Failed reverse equality test of 
dynamic proxies beans: {0} / {1}", bm1, bm2));
-       }
-
-       public interface A {
-               String getA();
-
-               void setA(String a);
-
-               int getB();
-
-               void setB(int b);
-       }
-
-       public static class AHandler implements InvocationHandler {
-               private Map map;
-
-               public AHandler() {
-                       map = new HashMap();
-                       map.put("a", "");
-                       map.put("b", Integer.valueOf(0));
-               }
-
-               @Override /* InvocationHandler */
-               public Object invoke(Object proxy, Method method, Object[] 
args) throws Throwable {
-                       var methodName = method.getName();
-                       if (methodName.equals("getA")) {
-                               return map.get("a");
-                       }
-                       if (methodName.equals("setA")) {
-                               map.put("a", args[0]);
-                               return null;
-                       }
-                       if (methodName.equals("getB")) {
-                               return map.get("b");
-                       }
-                       if (methodName.equals("setB")) {
-                               map.put("b", args[0]);
-                               return null;
-                       }
-                       if (methodName.equals("toString")) {
-                               return map.toString();
-                       }
-                       return null;
-               }
-       }
-
-       
//====================================================================================================
-       // testFluentStyleSetters
-       
//====================================================================================================
-       @Test void testFluentStyleSetters() {
-               var t = new B2().init();
-               var m = BeanContext.DEFAULT.toBeanMap(t);
-               m.put("f1", 2);
-               assertEquals(2, t.f1);
-       }
-
-       public static class B {
-               int f1;
-               public int getF1() { return f1; }
-               public B setF1(int v) { f1 = v; return this; }
-       }
-
-       public static class B2 extends B {
-               @Override /* B */
-               public B2 setF1(int v) { f1 = v; return this; }
-               public B2 init() { f1 = 1; return this;}
-       }
-
-       
//====================================================================================================
-       // testClassMetaCaching
-       
//====================================================================================================
-       @Test void testClassMetaCaching() {
-               var p1 = JsonParser.create();
-               var p2 = JsonParser.create();
-               assertSameCache(p1, p2);
-
-               assertDifferentCache(p1.beansRequireDefaultConstructor(), p2);
-               assertSameCache(p1, p2.beansRequireDefaultConstructor());
-
-               assertDifferentCache(p1.beansRequireSerializable(), p2);
-               assertSameCache(p1, p2.beansRequireSerializable());
-
-               assertDifferentCache(p1.beansRequireSettersForGetters(), p2);
-               assertSameCache(p1, p2.beansRequireSettersForGetters());
-
-               assertDifferentCache(p1.disableBeansRequireSomeProperties(), 
p2);
-               assertSameCache(p1, p2.disableBeansRequireSomeProperties());
-
-               assertDifferentCache(p1.beanMapPutReturnsOldValue(), p2);
-               assertSameCache(p1, p2.beanMapPutReturnsOldValue());
-
-               assertDifferentCache(p1.beanConstructorVisibility(DEFAULT), p2);
-               assertSameCache(p1, p2.beanConstructorVisibility(DEFAULT));
-               assertDifferentCache(p1.beanConstructorVisibility(NONE), p2);
-               assertSameCache(p1, p2.beanConstructorVisibility(NONE));
-               assertDifferentCache(p1.beanConstructorVisibility(PRIVATE), p2);
-               assertSameCache(p1, p2.beanConstructorVisibility(PRIVATE));
-               assertDifferentCache(p1.beanConstructorVisibility(PROTECTED), 
p2);
-               assertSameCache(p1, p2.beanConstructorVisibility(PROTECTED));
-
-               assertDifferentCache(p1.beanClassVisibility(DEFAULT), p2);
-               assertSameCache(p1, p2.beanClassVisibility(DEFAULT));
-               assertDifferentCache(p1.beanClassVisibility(NONE), p2);
-               assertSameCache(p1, p2.beanClassVisibility(NONE));
-               assertDifferentCache(p1.beanClassVisibility(PRIVATE), p2);
-               assertSameCache(p1, p2.beanClassVisibility(PRIVATE));
-               assertDifferentCache(p1.beanClassVisibility(PROTECTED), p2);
-               assertSameCache(p1, p2.beanClassVisibility(PROTECTED));
-
-               assertDifferentCache(p1.beanFieldVisibility(DEFAULT), p2);
-               assertSameCache(p1, p2.beanFieldVisibility(DEFAULT));
-               assertDifferentCache(p1.beanFieldVisibility(NONE), p2);
-               assertSameCache(p1, p2.beanFieldVisibility(NONE));
-               assertDifferentCache(p1.beanFieldVisibility(PRIVATE), p2);
-               assertSameCache(p1, p2.beanFieldVisibility(PRIVATE));
-               assertDifferentCache(p1.beanFieldVisibility(PROTECTED), p2);
-               assertSameCache(p1, p2.beanFieldVisibility(PROTECTED));
-
-               assertDifferentCache(p1.beanMethodVisibility(DEFAULT), p2);
-               assertSameCache(p1, p2.beanMethodVisibility(DEFAULT));
-               assertDifferentCache(p1.beanMethodVisibility(NONE), p2);
-               assertSameCache(p1, p2.beanMethodVisibility(NONE));
-               assertDifferentCache(p1.beanMethodVisibility(PRIVATE), p2);
-               assertSameCache(p1, p2.beanMethodVisibility(PRIVATE));
-               assertDifferentCache(p1.beanMethodVisibility(PROTECTED), p2);
-               assertSameCache(p1, p2.beanMethodVisibility(PROTECTED));
-
-               assertDifferentCache(p1.useJavaBeanIntrospector(), p2);
-               assertSameCache(p1, p2.useJavaBeanIntrospector());
-
-               assertDifferentCache(p1.disableInterfaceProxies(), p2);
-               assertSameCache(p1, p2.disableInterfaceProxies());
-
-               assertDifferentCache(p1.ignoreUnknownBeanProperties(), p2);
-               assertSameCache(p1, p2.ignoreUnknownBeanProperties());
-
-               
assertDifferentCache(p1.disableIgnoreUnknownNullBeanProperties(), p2);
-               assertSameCache(p1, 
p2.disableIgnoreUnknownNullBeanProperties());
-
-               assertDifferentCache(p1.disableIgnoreMissingSetters(), p2);
-               assertSameCache(p1, p2.disableIgnoreMissingSetters());
-
-               assertDifferentCache(p1.ignoreInvocationExceptionsOnGetters(), 
p2);
-               assertSameCache(p1, p2.ignoreInvocationExceptionsOnGetters());
-
-               assertDifferentCache(p1.ignoreInvocationExceptionsOnSetters(), 
p2);
-               assertSameCache(p1, p2.ignoreInvocationExceptionsOnSetters());
-
-               assertDifferentCache(p1.notBeanPackages("foo"), p2);
-               assertSameCache(p1, p2.notBeanPackages("foo"));
-               assertDifferentCache(p1.notBeanPackages("bar"), p2);
-               assertSameCache(p1, p2.notBeanPackages("bar"));
-               
assertDifferentCache(p1.notBeanPackages("baz").notBeanPackages("bing"), p2);
-               
assertSameCache(p2.notBeanPackages("bing").notBeanPackages("baz"), p2);
-
-               p1.beanContext().notBeanPackages().remove("bar");
-               assertDifferentCache(p1, p2);
-               p2.beanContext().notBeanPackages().remove("bar");
-               assertSameCache(p1, p2);
-
-               assertDifferentCache(p1.swaps(DummyPojoSwapA.class), p2);
-               assertSameCache(p1, p2.swaps(DummyPojoSwapA.class));
-               
assertDifferentCache(p1.swaps(DummyPojoSwapB.class,DummyPojoSwapC.class), 
p2.swaps(DummyPojoSwapC.class,DummyPojoSwapB.class));  // Order of filters is 
important!
-       }
-
-       public static class DummyPojoSwapA extends MapSwap<A> {}
-       public static class DummyPojoSwapB extends MapSwap<B> {}
-       public static class DummyPojoSwapC extends MapSwap<C> {}
-       public static class C {}
-
-       private void assertSameCache(Parser.Builder p1b, Parser.Builder p2b) {
-               var p1 = p1b.build();
-               var p2 = p2b.build();
-               
assertTrue(p1.getBeanContext().hasSameCache(p2.getBeanContext()));
-       }
-
-       private void assertDifferentCache(Parser.Builder p1b, Parser.Builder 
p2b) {
-               var p1 = p1b.build();
-               var p2 = p2b.build();
-               
assertFalse(p1.getBeanContext().hasSameCache(p2.getBeanContext()));
-       }
-
-       
//====================================================================================================
-       // testNotABeanReasons
-       
//====================================================================================================
-       @Test void testNotABeanNonStaticInnerClass() {
-               var bc = BeanContext.DEFAULT;
-               var cm = bc.getClassMeta(C1.class);
-               assertFalse(cm.canCreateNewInstance());
-       }
-
-       public class C1 {
-               public int f1;
-       }
-
-       
//====================================================================================================
-       // testAddingToArrayProperty
-       // This tests the speed of the BeanMap.add() method against array 
properties.
-       // For performance reasons, array properties are stored as temporary 
ArrayLists until the
-       // BeanMap.getBean() method is called.
-       
//====================================================================================================
-       // Should be around 100ms at most.
-       @Test void testAddingToArrayProperty() {
-               assertTimeout(Duration.ofSeconds(1), () -> {
-                       var bc = BeanContext.DEFAULT;
-                       var bm = bc.newBeanMap(D.class);
-                       for (var i = 0; i < 5000; i++) {
-                               bm.add("f1", i);
-                               bm.add("f2", i);
-                               bm.add("f3", i);
-                               bm.add("f4", i);
-                       }
-                       var d = bm.getBean();
-                       assertEquals(5000, d.f1.length);
-                       assertEquals(5000, d.f2.length);
-                       assertEquals(5003, d.f3.length);
-                       assertEquals(5003, d.f4.length);
-               });
-       }
-
-       public class D {
-               public int[] f1;
-               private int[] f2;
-               public int[] f3 = {1,2,3};
-               private int[] f4 = {1,2,3};
-               public int[] getF2() {return f2;}
-               public void setF2(int[] v) {f2 = v;}
-               public int[] getF4() {return f4;}
-               public void setF4(int[] v) {f4 = v;}
-       }
-
-       
//====================================================================================================
-       // testClassClassMeta
-       // Make sure we can get ClassMeta objects against the Class class.
-       
//====================================================================================================
-       @Test void testClassClassMeta() {
-               assertNotNull(BeanContext.DEFAULT.getClassMeta(Class.class));
-               assertNotNull(BeanContext.DEFAULT.getClassMeta(Class[].class));
-       }
-
-       
//====================================================================================================
-       // testBlanks
-       
//====================================================================================================
-       @Test void testBlanks() throws Exception {
-               var bc = BeanContext.DEFAULT;
-
-               // Blanks get interpreted as the default value for primitives 
and null for boxed objects.
-               assertEquals(0, (int)bc.convertToType("", int.class));
-               assertNull(bc.convertToType("", Integer.class));
-
-               // Booleans are handled different since 'Boolean.valueOf("")' 
is valid and resolves to false
-               // while 'Integer.valueOf("")' produces an exception.
-               assertEquals(false, (boolean)bc.convertToType("", 
boolean.class));
-               assertEquals(null, bc.convertToType("", Boolean.class));
-       }
+// 
***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
+// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
+// * with the License.  You may obtain a copy of the License at                
                                              *
+// *                                                                           
                                              *
+// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
+// *                                                                           
                                              *
+// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
+// * specific language governing permissions and limitations under the 
License.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau;
+
+import static org.apache.juneau.Visibility.*;
+import static org.apache.juneau.common.internal.Utils.*;
+import static org.apache.juneau.internal.CollectionUtils.map;
+import static org.junit.jupiter.api.Assertions.*;
+
+import java.io.*;
+import java.lang.reflect.*;
+import java.time.*;
+import java.util.*;
+
+import org.apache.juneau.annotation.*;
+import org.apache.juneau.collections.*;
+import org.apache.juneau.json.*;
+import org.apache.juneau.parser.*;
+import org.apache.juneau.swap.*;
+import org.junit.jupiter.api.*;
+
+@SuppressWarnings("rawtypes")
+class BeanConfig_Test extends SimpleTestBase {
+
+       
//====================================================================================================
+       // testBasic
+       
//====================================================================================================
+       @Test void a01_basic() {
+
+               var bc = BeanContext.DEFAULT;
+
+               var p1 = new Person();
+               p1.setName("John Doe");
+               p1.setAge(25);
+
+               var a = new Address("101 Main St.", "Las Vegas", "NV", "89101");
+               var p2 = new AddressablePerson();
+               p2.setName("Jane Doe");
+               p2.setAge(21);
+               p2.setAddress(a);
+
+               // setup the reference results
+               var m1 = new LinkedHashMap();
+               m1.put("name", p1.getName());
+               m1.put("age", Integer.valueOf(p1.getAge()));
+
+               var m2 = new LinkedHashMap();
+               m2.put("street", a.getStreet());
+               m2.put("city", a.getCity());
+               m2.put("state", a.getState());
+               m2.put("zip", a.getZip());
+
+               var m3 = new LinkedHashMap();
+               m3.put("name", p2.getName());
+               m3.put("age", Integer.valueOf(p2.getAge()));
+               m3.put("address", p2.getAddress());
+
+               var pm1 = bc.toBeanMap(p1);
+
+               assertEquals(pm1.size(), m1.size(), ss("Bean Map size failed 
for: {0} / {1} / {2}", p1, pm1.size(), m1.size()));
+               assertEquals(pm1.keySet(), m1.keySet(), ss("Bean Map key set 
equality failed for: {0} / {1} / {2}", p1, pm1.keySet() , m1.keySet()));
+               assertEquals(m1.keySet(), pm1.keySet(), ss("Bean Map key set 
reverse equality failed for: {0} / {1} / {2}", p1, pm1.keySet(), m1.keySet()));
+               assertEquals(pm1, m1, ss("Bean Map equality failed for: {0} / 
{1} / {2}", p1, pm1, m1));  // NOSONAR
+               assertThrows(BeanRuntimeException.class, 
()->bc.newBeanMap(Address.class));  // Address returned as a new bean type, but 
shouldn't be since it doesn't have a default constructor.
+               assertNull(bc.newBeanMap(java.lang.Integer.class), 
"java.lang.Integer incorrectly designated as bean type.");
+               assertNull(bc.newBeanMap(java.lang.Class.class), 
"java.lang.Class incorrectly designated as bean type.");
+
+               var bm1 = bc.toBeanMap(new Address("street", "city", "state", 
"zip"));
+
+               assertEquals(bm1.size(), m2.size(), ss("Bean Adapter map's key 
set has wrong size: {0} / {1} / {2}", a, bm1.size(), m2.size()));
+
+               var iter = bm1.keySet().iterator();
+               var temp = new HashSet();
+               var count = 0;
+               while (iter.hasNext()) {
+                       temp.add(iter.next());
+                       count++;
+               }
+
+               assertEquals(count, m2.size(), ss("Iteration count over bean 
adpater key set failed: {0} / {1} / {2}", a, count, m2.size()));
+               assertEquals(m2.keySet(), temp, ss("Iteration over bean adpater 
key set failed: {0} / {1} / {2}", a, bm1.keySet(), m2.keySet()));
+               assertNotNull(bc.toBeanMap(p2), ss("Failed to identify class as 
bean type: {0}", p2.getClass()));
+
+               var m5 = bc.toBeanMap(p2);
+               Set es1 = m5.entrySet();
+
+               assertEquals(es1, m3.entrySet(), ss("Entry set equality failed: 
{0} / {1} / {2}", p2, es1, m3.entrySet()));
+               assertEquals(m3.entrySet(), es1, ss("Entry set reverse equality 
failed: {0} / {1} / {2}", p2, es1, m3.entrySet()));
+
+               iter = es1.iterator();
+               temp = new HashSet();
+               count = 0;
+               while (iter.hasNext()) {
+                       temp.add(iter.next());
+                       count++;
+               }
+
+               assertEquals(count, m3.size(), ss("Iteration count over bean 
adpater entry set failed: {0} / {1} / {2}", a, count, m3.size()));
+               assertEquals(m3.entrySet(), temp, ss("Iteration over bean 
adpater entry set failed: {0} / {1} / {2}", a, es1, m3.entrySet()));
+       }
+
+       public static class Person {
+
+               public Person() {
+                       name = null;
+                       age = -1;
+               }
+
+               private String name;
+               public String getName() { return name; }
+               public void setName(String v) { name = v; }
+
+               private int age;
+               public int getAge() { return age; }
+               public void setAge(int v) { age = v; }
+
+               @Override /* Object */
+               public String toString() {
+                       return format("Person(name: {0}, age: {1})", name, age);
+               }
+       }
+
+       public static class Address {
+
+               public Address(String street, String city, String state, String 
zip) {
+                       this.street = street;
+                       this.city = city;
+                       this.state = state;
+                       this.zip = zip;
+               }
+
+               protected String street;
+               public String getStreet() { return street; }
+
+               protected String city;
+               public String getCity() { return city; }
+
+               protected String state;
+               public String getState() { return state; }
+
+               protected String zip;
+               public String getZip() { return zip; }
+
+               @Override /* Object */
+               public boolean equals(Object o) {
+                       return eq(this, (Address)o, (x,y) -> eq(x.getStreet(), 
y.getStreet()) && eq(x.getCity(), y.getCity()) && eq(x.getState(), 
y.getState()) && eq(x.getZip(), y.getZip()));
+               }
+
+               @Override /* Object */
+               public int hashCode() {
+                       return hash(street, city, state, zip);
+               }
+
+               @Override /* Object */
+               public String toString() {
+                       return format("Address(street: {0}, city: {1}, state: 
{2}, zip: {3})", street, city, state, zip);
+               }
+       }
+
+       public static class AddressablePerson extends Person {
+
+               public AddressablePerson() {
+                       this.address = null;
+               }
+
+               private Address address;
+               public Address getAddress() { return address; }
+               public void setAddress(Address v) { address = v; }
+
+               @Override /* Object */
+               public String toString() {
+                       return super.toString() + "@" + this.address;
+               }
+       }
+
+       
//====================================================================================================
+       // Exhaustive test of BeanContext.convertToType()
+       
//====================================================================================================
+       @Test void testBeanContextConvertToType() throws Exception {
+               var bc = BeanContext.DEFAULT;
+               Object o;
+
+               // Primitive nulls.
+               o = null;
+               assertEquals(Integer.valueOf(0), bc.convertToType(o, 
Integer.TYPE));
+               assertEquals(Short.valueOf((short) 0), bc.convertToType(o, 
Short.TYPE));
+               assertEquals(Long.valueOf(0), bc.convertToType(o, Long.TYPE));
+               assertEquals(Float.valueOf(0), bc.convertToType(o, Float.TYPE));
+               assertEquals(Double.valueOf(0), bc.convertToType(o, 
Double.TYPE));
+               assertEquals(Byte.valueOf((byte) 0), bc.convertToType(o, 
Byte.TYPE));
+               assertEquals(Character.valueOf((char) 0), bc.convertToType(o, 
Character.TYPE));
+               assertEquals(Boolean.FALSE, bc.convertToType(o, Boolean.TYPE));
+
+               o = "1";
+
+               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
Integer.class));
+               assertEquals(Short.valueOf((short) 1), bc.convertToType(o, 
Short.class));
+               assertEquals(Long.valueOf(1), bc.convertToType(o, Long.class));
+               assertEquals(Float.valueOf(1), bc.convertToType(o, 
Float.class));
+               assertEquals(Double.valueOf(1), bc.convertToType(o, 
Double.class));
+               assertEquals(Byte.valueOf((byte) 1), bc.convertToType(o, 
Byte.class));
+               assertEquals(Character.valueOf('1'), bc.convertToType(o, 
Character.class));
+               assertEquals(Boolean.FALSE, bc.convertToType(o, Boolean.class));
+
+               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
Integer.TYPE));
+               assertEquals(Short.valueOf((short) 1), bc.convertToType(o, 
Short.TYPE));
+               assertEquals(Long.valueOf(1), bc.convertToType(o, Long.TYPE));
+               assertEquals(Float.valueOf(1), bc.convertToType(o, Float.TYPE));
+               assertEquals(Double.valueOf(1), bc.convertToType(o, 
Double.TYPE));
+               assertEquals(Byte.valueOf((byte) 1), bc.convertToType(o, 
Byte.TYPE));
+               assertEquals(Character.valueOf('1'), bc.convertToType(o, 
Character.TYPE));
+               assertEquals(Boolean.FALSE, bc.convertToType(o, Boolean.TYPE));
+
+               o = Integer.valueOf(1);
+
+               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
Integer.TYPE));
+               assertEquals(Short.valueOf((short) 1), bc.convertToType(o, 
Short.TYPE));
+               assertEquals(Long.valueOf(1), bc.convertToType(o, Long.TYPE));
+               assertEquals(Float.valueOf(1), bc.convertToType(o, Float.TYPE));
+               assertEquals(Double.valueOf(1), bc.convertToType(o, 
Double.TYPE));
+               assertEquals(Byte.valueOf((byte) 1), bc.convertToType(o, 
Byte.TYPE));
+               assertEquals(Character.valueOf('1'), bc.convertToType(o, 
Character.TYPE));
+               assertEquals(Boolean.TRUE, bc.convertToType(o, Boolean.TYPE));
+
+               o = Integer.valueOf(0);
+               assertEquals(Boolean.FALSE, bc.convertToType(o, Boolean.TYPE));
+
+               // Bean
+               o = "{name:'x',age:123}";
+               assertEquals("x", bc.convertToType(o, Person.class).getName());
+               assertEquals(123, bc.convertToType(o, Person.class).getAge());
+
+               // Read-only bean
+               o = "{name:'x',age:123}";
+               assertEquals("x", bc.convertToType(o, 
ReadOnlyPerson.class).getName());
+               assertEquals(123, bc.convertToType(o, 
ReadOnlyPerson.class).getAge());
+
+               // Class with forString(String) method.
+               o = UUID.randomUUID();
+               assertEquals(o, bc.convertToType(o.toString(), UUID.class));
+
+               // Class with Constructor(String).
+               o = "xxx";
+               var file = bc.convertToType(o, File.class);
+               assertEquals("xxx", file.getName());
+
+               // List of ints to array
+               o = JsonList.of(1, 2, 3);
+               assertEquals(1, bc.convertToType(o, int[].class)[0]);
+
+               // List of beans to array
+               o = JsonList.of(new ReadOnlyPerson("x", 123));
+               assertEquals("x", bc.convertToType(o, 
ReadOnlyPerson[].class)[0].getName());
+
+               // Multi-dimensional array of beans.
+               o = JsonList.ofCollections(JsonList.of(new ReadOnlyPerson("x", 
123)));
+               assertEquals("x", bc.convertToType(o, 
ReadOnlyPerson[][].class)[0][0].getName());
+
+               // Array of strings to array of ints
+               o = a("1", "2", "3");
+               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
Integer[].class)[0]);
+               assertEquals(1, bc.convertToType(o, int[].class)[0]);
+
+               // Array to list
+               o = a(1, 2, 3);
+               assertEquals(Integer.valueOf(1), bc.convertToType(o, 
LinkedList.class).get(0));
+
+               // HashMap to TreeMap
+               o = map(1, "foo");
+               assertEquals("foo", bc.convertToType(o, 
TreeMap.class).firstEntry().getValue());
+
+               // String to TreeMap
+               o = "{1:'foo'}";
+               assertEquals("foo", bc.convertToType(o, 
TreeMap.class).firstEntry().getValue());
+
+               // String to generic Map
+               assertEquals("foo", bc.convertToType(o, 
Map.class).values().iterator().next());
+
+               // Array to String
+               o = a("a", 1, false);
+               assertEquals("['a',1,false]", bc.convertToType(o, 
String.class));
+               o = new Object[]{a("a", 1, false)};
+               assertEquals("[['a',1,false]]", bc.convertToType(o, 
String.class));
+       }
+
+       
//====================================================================================================
+       // Test properties set through a constructor.
+       
//====================================================================================================
+       @Test void testReadOnlyProperties() throws Exception {
+               var bc = BeanContext.DEFAULT;
+               Object o;
+
+               // Bean to String
+               o = new ReadOnlyPerson("x", 123);
+               assertEquals("{name:'x',age:123}", bc.convertToType(o, 
String.class));
+
+               // List of Maps to array of beans.
+               o = JsonList.of(JsonMap.ofJson("{name:'x',age:1}"), 
JsonMap.ofJson("{name:'y',age:2}"));
+               assertEquals(1, bc.convertToType(o, 
ReadOnlyPerson[].class)[0].getAge());
+       }
+
+       @Bean(p="name,age")
+       public static class ReadOnlyPerson {
+               private final int age;
+
+               @Beanc(properties="name,age")
+               public ReadOnlyPerson(String name, int age) {
+                       this.name = name;
+                       this.age = age;
+               }
+
+               private final String name;
+               public String getName() { return name; }
+               public int getAge() { return age; }
+
+               @Override /* Object */
+               public String toString() {
+                       return format("toString():name={0},age={1}", name, age);
+               }
+       }
+
+       @Test void testReadOnlyProperties_usingConfig() throws Exception {
+               var bc = 
BeanContext.DEFAULT.copy().applyAnnotations(ReadOnlyPerson2Config.class).build();
+               Object o;
+
+               // Bean to String
+               o = new ReadOnlyPerson2("x", 123);
+               assertEquals("{name:'x',age:123}", bc.convertToType(o, 
String.class));
+
+               // List of Maps to array of beans.
+               o = JsonList.of(JsonMap.ofJson("{name:'x',age:1}"), 
JsonMap.ofJson("{name:'y',age:2}"));
+               assertEquals(1, bc.convertToType(o, 
ReadOnlyPerson2[].class)[0].getAge());
+       }
+
+       public static class ReadOnlyPerson2 {
+               private final int age;
+
+               public ReadOnlyPerson2(String name, int age) {
+                       this.name = name;
+                       this.age = age;
+               }
+
+               private final String name;
+               public String getName() { return name; }
+               public int getAge() { return age; }
+
+               @Override /* Object */
+               public String toString() {
+                       return format("toString():name={0},age={1}", name, age);
+               }
+       }
+
+       @Bean(on="Dummy1",p="dummy")
+       @Bean(on="ReadOnlyPerson2",p="name,age")
+       @Bean(on="Dummy2",p="dummy")
+       @Beanc(on="Dummy1",properties="dummy")
+       @Beanc(on="ReadOnlyPerson2(String,int)",properties="name,age")
+       @Beanc(on="Dummy2",properties="dummy")
+       private static class ReadOnlyPerson2Config {}
+
+       
//====================================================================================================
+       // testEnums
+       
//====================================================================================================
+       @Test void testEnums() throws Exception {
+               var bc = BeanContext.DEFAULT;
+               Object o;
+
+               // Enum
+               o = "ENUM2";
+               assertEquals(TestEnum.ENUM2, bc.convertToType(o, 
TestEnum.class));
+               assertEquals("ENUM2", bc.convertToType(TestEnum.ENUM2, 
String.class));
+
+               // Array of enums
+               o = a("ENUM2");
+               assertEquals(TestEnum.ENUM2, bc.convertToType(o, 
TestEnum[].class)[0]);
+       }
+
+       public enum TestEnum {
+               ENUM1, ENUM2, ENUM3
+       }
+
+       
//====================================================================================================
+       // testProxyHandler
+       
//====================================================================================================
+       @Test void testProxyHandler() {
+               var session = BeanContext.DEFAULT_SESSION;
+
+               var f1 = (A) 
Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[] { A.class 
}, new AHandler());
+
+               var bm1 = session.toBeanMap(f1);
+               assertNotNull(bm1, ss("Failed to obtain bean adapter for proxy: 
{0}", f1));
+
+               var bm2 = session.newBeanMap(A.class);
+               assertNotNull(bm2, ss("Failed to create dynamic proxy bean for 
interface: {0}", A.class.getName()));
+
+               bm2.put("a", "Hello");
+               bm2.put("b", Integer.valueOf(50));
+               f1.setA("Hello");
+               f1.setB(50);
+
+               assertEquals(bm2.get("a"), "Hello", ss("Failed to set string 
property 'a' on dynamic proxy bean. {0}", bm2));  // NOSONAR
+               assertEquals(bm2.get("b"), Integer.valueOf(50), ss("Failed to 
set string property 'b' on dynamic proxy bean. {0}", bm2));
+               assertEquals(bm1, bm2, ss("Failed equality test of dynamic 
proxies beans: {0} / {1}", bm1, bm2));
+               assertEquals(bm2, bm1, ss("Failed reverse equality test of 
dynamic proxies beans: {0} / {1}", bm1, bm2));
+       }
+
+       public interface A {
+               String getA();
+
+               void setA(String a);
+
+               int getB();
+
+               void setB(int b);
+       }
+
+       public static class AHandler implements InvocationHandler {
+               private Map map;
+
+               public AHandler() {
+                       map = new HashMap();
+                       map.put("a", "");
+                       map.put("b", Integer.valueOf(0));
+               }
+
+               @Override /* InvocationHandler */
+               public Object invoke(Object proxy, Method method, Object[] 
args) throws Throwable {
+                       var methodName = method.getName();
+                       if (methodName.equals("getA")) {
+                               return map.get("a");
+                       }
+                       if (methodName.equals("setA")) {
+                               map.put("a", args[0]);
+                               return null;
+                       }
+                       if (methodName.equals("getB")) {
+                               return map.get("b");
+                       }
+                       if (methodName.equals("setB")) {
+                               map.put("b", args[0]);
+                               return null;
+                       }
+                       if (methodName.equals("toString")) {
+                               return map.toString();
+                       }
+                       return null;
+               }
+       }
+
+       
//====================================================================================================
+       // testFluentStyleSetters
+       
//====================================================================================================
+       @Test void testFluentStyleSetters() {
+               var t = new B2().init();
+               var m = BeanContext.DEFAULT.toBeanMap(t);
+               m.put("f1", 2);
+               assertEquals(2, t.f1);
+       }
+
+       public static class B {
+               int f1;
+               public int getF1() { return f1; }
+               public B setF1(int v) { f1 = v; return this; }
+       }
+
+       public static class B2 extends B {
+               @Override /* B */
+               public B2 setF1(int v) { f1 = v; return this; }
+               public B2 init() { f1 = 1; return this;}
+       }
+
+       
//====================================================================================================
+       // testClassMetaCaching
+       
//====================================================================================================
+       @Test void testClassMetaCaching() {
+               var p1 = JsonParser.create();
+               var p2 = JsonParser.create();
+               assertSameCache(p1, p2);
+
+               assertDifferentCache(p1.beansRequireDefaultConstructor(), p2);
+               assertSameCache(p1, p2.beansRequireDefaultConstructor());
+
+               assertDifferentCache(p1.beansRequireSerializable(), p2);
+               assertSameCache(p1, p2.beansRequireSerializable());
+
+               assertDifferentCache(p1.beansRequireSettersForGetters(), p2);
+               assertSameCache(p1, p2.beansRequireSettersForGetters());
+
+               assertDifferentCache(p1.disableBeansRequireSomeProperties(), 
p2);
+               assertSameCache(p1, p2.disableBeansRequireSomeProperties());
+
+               assertDifferentCache(p1.beanMapPutReturnsOldValue(), p2);
+               assertSameCache(p1, p2.beanMapPutReturnsOldValue());
+
+               assertDifferentCache(p1.beanConstructorVisibility(DEFAULT), p2);
+               assertSameCache(p1, p2.beanConstructorVisibility(DEFAULT));
+               assertDifferentCache(p1.beanConstructorVisibility(NONE), p2);
+               assertSameCache(p1, p2.beanConstructorVisibility(NONE));
+               assertDifferentCache(p1.beanConstructorVisibility(PRIVATE), p2);
+               assertSameCache(p1, p2.beanConstructorVisibility(PRIVATE));
+               assertDifferentCache(p1.beanConstructorVisibility(PROTECTED), 
p2);
+               assertSameCache(p1, p2.beanConstructorVisibility(PROTECTED));
+
+               assertDifferentCache(p1.beanClassVisibility(DEFAULT), p2);
+               assertSameCache(p1, p2.beanClassVisibility(DEFAULT));
+               assertDifferentCache(p1.beanClassVisibility(NONE), p2);
+               assertSameCache(p1, p2.beanClassVisibility(NONE));
+               assertDifferentCache(p1.beanClassVisibility(PRIVATE), p2);
+               assertSameCache(p1, p2.beanClassVisibility(PRIVATE));
+               assertDifferentCache(p1.beanClassVisibility(PROTECTED), p2);
+               assertSameCache(p1, p2.beanClassVisibility(PROTECTED));
+
+               assertDifferentCache(p1.beanFieldVisibility(DEFAULT), p2);
+               assertSameCache(p1, p2.beanFieldVisibility(DEFAULT));
+               assertDifferentCache(p1.beanFieldVisibility(NONE), p2);
+               assertSameCache(p1, p2.beanFieldVisibility(NONE));
+               assertDifferentCache(p1.beanFieldVisibility(PRIVATE), p2);
+               assertSameCache(p1, p2.beanFieldVisibility(PRIVATE));
+               assertDifferentCache(p1.beanFieldVisibility(PROTECTED), p2);
+               assertSameCache(p1, p2.beanFieldVisibility(PROTECTED));
+
+               assertDifferentCache(p1.beanMethodVisibility(DEFAULT), p2);
+               assertSameCache(p1, p2.beanMethodVisibility(DEFAULT));
+               assertDifferentCache(p1.beanMethodVisibility(NONE), p2);
+               assertSameCache(p1, p2.beanMethodVisibility(NONE));
+               assertDifferentCache(p1.beanMethodVisibility(PRIVATE), p2);
+               assertSameCache(p1, p2.beanMethodVisibility(PRIVATE));
+               assertDifferentCache(p1.beanMethodVisibility(PROTECTED), p2);
+               assertSameCache(p1, p2.beanMethodVisibility(PROTECTED));
+
+               assertDifferentCache(p1.useJavaBeanIntrospector(), p2);
+               assertSameCache(p1, p2.useJavaBeanIntrospector());
+
+               assertDifferentCache(p1.disableInterfaceProxies(), p2);
+               assertSameCache(p1, p2.disableInterfaceProxies());
+
+               assertDifferentCache(p1.ignoreUnknownBeanProperties(), p2);
+               assertSameCache(p1, p2.ignoreUnknownBeanProperties());
+
+               
assertDifferentCache(p1.disableIgnoreUnknownNullBeanProperties(), p2);
+               assertSameCache(p1, 
p2.disableIgnoreUnknownNullBeanProperties());
+
+               assertDifferentCache(p1.disableIgnoreMissingSetters(), p2);
+               assertSameCache(p1, p2.disableIgnoreMissingSetters());
+
+               assertDifferentCache(p1.ignoreInvocationExceptionsOnGetters(), 
p2);
+               assertSameCache(p1, p2.ignoreInvocationExceptionsOnGetters());
+
+               assertDifferentCache(p1.ignoreInvocationExceptionsOnSetters(), 
p2);
+               assertSameCache(p1, p2.ignoreInvocationExceptionsOnSetters());
+
+               assertDifferentCache(p1.notBeanPackages("foo"), p2);
+               assertSameCache(p1, p2.notBeanPackages("foo"));
+               assertDifferentCache(p1.notBeanPackages("bar"), p2);
+               assertSameCache(p1, p2.notBeanPackages("bar"));
+               
assertDifferentCache(p1.notBeanPackages("baz").notBeanPackages("bing"), p2);
+               
assertSameCache(p2.notBeanPackages("bing").notBeanPackages("baz"), p2);
+
+               p1.beanContext().notBeanPackages().remove("bar");
+               assertDifferentCache(p1, p2);
+               p2.beanContext().notBeanPackages().remove("bar");
+               assertSameCache(p1, p2);
+
+               assertDifferentCache(p1.swaps(DummyPojoSwapA.class), p2);
+               assertSameCache(p1, p2.swaps(DummyPojoSwapA.class));
+               
assertDifferentCache(p1.swaps(DummyPojoSwapB.class,DummyPojoSwapC.class), 
p2.swaps(DummyPojoSwapC.class,DummyPojoSwapB.class));  // Order of filters is 
important!
+       }
+
+       public static class DummyPojoSwapA extends MapSwap<A> {}
+       public static class DummyPojoSwapB extends MapSwap<B> {}
+       public static class DummyPojoSwapC extends MapSwap<C> {}
+       public static class C {}
+
+       private void assertSameCache(Parser.Builder p1b, Parser.Builder p2b) {
+               var p1 = p1b.build();
+               var p2 = p2b.build();
+               
assertTrue(p1.getBeanContext().hasSameCache(p2.getBeanContext()));
+       }
+
+       private void assertDifferentCache(Parser.Builder p1b, Parser.Builder 
p2b) {
+               var p1 = p1b.build();
+               var p2 = p2b.build();
+               
assertFalse(p1.getBeanContext().hasSameCache(p2.getBeanContext()));
+       }
+
+       
//====================================================================================================
+       // testNotABeanReasons
+       
//====================================================================================================
+       @Test void testNotABeanNonStaticInnerClass() {
+               var bc = BeanContext.DEFAULT;
+               var cm = bc.getClassMeta(C1.class);
+               assertFalse(cm.canCreateNewInstance());
+       }
+
+       public class C1 {
+               public int f1;
+       }
+
+       
//====================================================================================================
+       // testAddingToArrayProperty
+       // This tests the speed of the BeanMap.add() method against array 
properties.
+       // For performance reasons, array properties are stored as temporary 
ArrayLists until the
+       // BeanMap.getBean() method is called.
+       
//====================================================================================================
+       // Should be around 100ms at most.
+       @Test void testAddingToArrayProperty() {
+               assertTimeout(Duration.ofSeconds(1), () -> {
+                       var bc = BeanContext.DEFAULT;
+                       var bm = bc.newBeanMap(D.class);
+                       for (var i = 0; i < 5000; i++) {
+                               bm.add("f1", i);
+                               bm.add("f2", i);
+                               bm.add("f3", i);
+                               bm.add("f4", i);
+                       }
+                       var d = bm.getBean();
+                       assertEquals(5000, d.f1.length);
+                       assertEquals(5000, d.f2.length);
+                       assertEquals(5003, d.f3.length);
+                       assertEquals(5003, d.f4.length);
+               });
+       }
+
+       public class D {
+               public int[] f1;
+               private int[] f2;
+               public int[] f3 = {1,2,3};
+               private int[] f4 = {1,2,3};
+               public int[] getF2() {return f2;}
+               public void setF2(int[] v) {f2 = v;}
+               public int[] getF4() {return f4;}
+               public void setF4(int[] v) {f4 = v;}
+       }
+
+       
//====================================================================================================
+       // testClassClassMeta
+       // Make sure we can get ClassMeta objects against the Class class.
+       
//====================================================================================================
+       @Test void testClassClassMeta() {
+               assertNotNull(BeanContext.DEFAULT.getClassMeta(Class.class));
+               assertNotNull(BeanContext.DEFAULT.getClassMeta(Class[].class));
+       }
+
+       
//====================================================================================================
+       // testBlanks
+       
//====================================================================================================
+       @Test void testBlanks() throws Exception {
+               var bc = BeanContext.DEFAULT;
+
+               // Blanks get interpreted as the default value for primitives 
and null for boxed objects.
+               assertEquals(0, (int)bc.convertToType("", int.class));
+               assertNull(bc.convertToType("", Integer.class));
+
+               // Booleans are handled different since 'Boolean.valueOf("")' 
is valid and resolves to false
+               // while 'Integer.valueOf("")' produces an exception.
+               assertEquals(false, (boolean)bc.convertToType("", 
boolean.class));
+               assertEquals(null, bc.convertToType("", Boolean.class));
+       }
 }
\ No newline at end of file
diff --git a/juneau-utest/src/test/java/org/apache/juneau/BeanMapTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/BeanMapTest.java
index 92ebc6992..91b1952fa 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/BeanMapTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/BeanMapTest.java
@@ -22,7 +22,6 @@ import org.apache.juneau.html.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.objecttools.*;
 import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
 import org.apache.juneau.uon.*;
 import org.apache.juneau.urlencoding.*;
 import org.apache.juneau.xml.*;
@@ -744,21 +743,11 @@ class BeanMapTest extends SimpleTestBase {
        }
 
        public static class I {
-
                public List<String> p1;
-
-               public List<Integer> getP2() {
-                       return null;
-               }
-
+               public List<Integer> getP2() { return null; }
                public List<? extends Integer> p3;
-
                public Map<String,Integer> p4;
-
-               public Map<String,Integer> getP5() {
-                       return null;
-               }
-
+               public Map<String,Integer> getP5() { return null; }
                public Map<String,? extends Integer> p6;
        }
 
@@ -779,28 +768,12 @@ class BeanMapTest extends SimpleTestBase {
        }
 
        public static class J {
-
-               @Beanp(params={Float.class})
-               public List<String> p1;
-
-               @Beanp(params={Float.class})
-               public List<Integer> getP2() {
-                       return null;
-               }
-
-               @Beanp(params={Float.class})
-               public List<? extends Integer> p3;
-
-               @Beanp(params={Object.class, Float.class})
-               public Map<String,Integer> p4;
-
-               @Beanp(params={Object.class, Float.class})
-               public Map<String,Integer> getP5() {
-                       return null;
-               }
-
-               @Beanp(params={String.class, Float.class})
-               public Map<String,? extends Integer> p6;
+               @Beanp(params={Float.class}) public List<String> p1;
+               @Beanp(params={Float.class}) public List<Integer> getP2() { 
return null; }
+               @Beanp(params={Float.class}) public List<? extends Integer> p3;
+               @Beanp(params={Object.class, Float.class}) public 
Map<String,Integer> p4;
+               @Beanp(params={Object.class, Float.class}) public 
Map<String,Integer> getP5() { return null; }
+               @Beanp(params={String.class, Float.class}) public Map<String,? 
extends Integer> p6;
        }
 
        
//====================================================================================================
@@ -820,28 +793,12 @@ class BeanMapTest extends SimpleTestBase {
        }
 
        public static class K {
-
-               @Beanp(params=Float.class)
-               public List<String> p1;
-
-               @Beanp(params=Float.class)
-               public List<Integer> getP2() {
-                       return null;
-               }
-
-               @Beanp(params=Float.class)
-               public List<? extends Integer> p3;
-
-               @Beanp(params={String.class,Float.class})
-               public Map<String,Integer> p4;
-
-               @Beanp(params={String.class,Float.class})
-               public Map<String,Integer> getP5() {
-                       return null;
-               }
-
-               @Beanp(params={String.class,Float.class})
-               public Map<String,? extends Integer> p6;
+               @Beanp(params=Float.class) public List<String> p1;
+               @Beanp(params=Float.class) public List<Integer> getP2() { 
return null; }
+               @Beanp(params=Float.class) public List<? extends Integer> p3;
+               @Beanp(params={String.class,Float.class}) public 
Map<String,Integer> p4;
+               @Beanp(params={String.class,Float.class}) public 
Map<String,Integer> getP5() { return null; }
+               @Beanp(params={String.class,Float.class}) public Map<String,? 
extends Integer> p6;
        }
 
        
//====================================================================================================
@@ -1095,19 +1052,13 @@ class BeanMapTest extends SimpleTestBase {
 
        @Bean(propertyNamer=PropertyNamerDLC.class)
        public static class P2 {
-               private int fooBar, bazBING;
-               public int getFooBar() {
-                       return fooBar;
-               }
-               public void setFooBar(int v) {
-                       fooBar = v;
-               }
-               public int getBazBING() {
-                       return bazBING;
-               }
-               public void setBazBING(int v) {
-                       bazBING = v;
-               }
+               private int fooBar;
+               public int getFooBar() { return fooBar; }
+               public void setFooBar(int v) { fooBar = v; }
+
+               private int bazBING;
+               public int getBazBING() { return bazBING; }
+               public void setBazBING(int v) { bazBING = v; }
        }
 
        
//====================================================================================================
@@ -1733,35 +1684,18 @@ class BeanMapTest extends SimpleTestBase {
        }
 
        public static class U {
-               public String a, b;
-
-               public String getA() {
-                       return a;
-               }
-
-               public void setA(String v) {
-                       a = v;
-               }
-
-               @BeanIgnore
-               public String getB() {
-                       return b;
-               }
-
-               public void setB(String v) {
-                       this.b = v+"(setter)";
-               }
+               public String a;
+               public String getA() { return a; }
+               public void setA(String v) { a = v; }
 
-               @BeanIgnore
-               public String c;
+               public String b;
+               @BeanIgnore public String getB() { return b; }
+               public void setB(String v) { this.b = v+"(setter)"; }
 
-               @BeanIgnore
-               public String getD() {
-                       return null;
-               }
+               @BeanIgnore public String c;
 
-               @BeanIgnore
-               public void setD(String v) {}  // NOSONAR
+               @BeanIgnore public String getD() { return null; }
+               @BeanIgnore public void setD(String v) {}  // NOSONAR
        }
 
        @Test void testHiddenProperties_usingConfig() {
@@ -1789,35 +1723,18 @@ class BeanMapTest extends SimpleTestBase {
        private static class UcConfig {}
 
        public static class Uc {
-               public String a, b;
-
-               public String getA() {
-                       return a;
-               }
-
-               public void setA(String a) {
-                       this.a = a;
-               }
-
-               @BeanIgnore
-               public String getB() {
-                       return b;
-               }
+               public String a;
+               public String getA() { return a; }
+               public void setA(String v) { a = v; }
 
-               public void setB(String b) {
-                       this.b = b+"(setter)";
-               }
+               public String b;
+               @BeanIgnore public String getB() { return b; }
+               public void setB(String b) { this.b = b+"(setter)"; }
 
-               @BeanIgnore
-               public String c;
+               @BeanIgnore public String c;
 
-               @BeanIgnore
-               public String getD() {
-                       return null;
-               }
-
-               @BeanIgnore
-               public void setD(String v) {}  // NOSONAR
+               @BeanIgnore public String getD() { return null; }
+               @BeanIgnore public void setD(String v) {}  // NOSONAR
        }
 
        
//====================================================================================================
@@ -1914,7 +1831,6 @@ class BeanMapTest extends SimpleTestBase {
 
        public static class X1 {
                public Object f1;
-               private Object f2;
 
                static X1 create() {
                        var x = new X1();
@@ -1923,18 +1839,13 @@ class BeanMapTest extends SimpleTestBase {
                        return x;
                }
 
-               public Object getF2() {
-                       return f2;
-               }
-
-               public void setF2(Object v) {
-                       f2 = v;
-               }
+               private Object f2;
+               public Object getF2() { return f2; }
+               public void setF2(Object v) { f2 = v; }
        }
 
        public static class X2 extends X1 {
                public Integer f1;
-               private Integer f2;
 
                static X2 create() {
                        var x = new X2();
@@ -1943,14 +1854,9 @@ class BeanMapTest extends SimpleTestBase {
                        return x;
                }
 
-               @Override /* X1 */
-               public Integer getF2() {
-                       return f2;
-               }
-
-               public void setF2(Integer v) {
-                       f2 = v;
-               }
+               private Integer f2;
+               @Override /* X1 */ public Integer getF2() { return f2; }
+               public void setF2(Integer v) { f2 = v; }
        }
 
        @Test void testSettingCollectionPropertyMultipleTimes() {
@@ -1978,12 +1884,7 @@ class BeanMapTest extends SimpleTestBase {
 
        public static class AA {
                private List<String> a = new ArrayList<>();
-
-               public List<String> getA() {
-                       return Collections.emptyList();
-               }
-               public void setA(List<String> v) {
-                       a = v;
-               }
+               public List<String> getA() { return Collections.emptyList(); }
+               public void setA(List<String> v) { a = v; }
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/DynaBean_ComboRoundTripTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/DynaBean_ComboRoundTripTest.java
index c3037c5e4..fe23e766e 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/DynaBean_ComboRoundTripTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/DynaBean_ComboRoundTripTest.java
@@ -207,22 +207,16 @@ class DynaBean_ComboRoundTripTest extends 
ComboRoundTripTest_Base {
        @Bean(sort=true)
        public static class BeanWithDynaMethods {
 
-               private int f1, f3;
                private Map<String,Object> f2 = new LinkedHashMap<>();
                private boolean setterCalled;
 
-               public int getF1() {
-                       return f1;
-               }
-               public void setF1(int v) {
-                       f1 = v;
-               }
-               public int getF3() {
-                       return f3;
-               }
-               public void setF3(int v) {
-                       f3 = v;
-               }
+               private int f1;
+               public int getF1() { return f1; }
+               public void setF1(int v) { f1 = v; }
+
+               private int f3;
+               public int getF3() { return f3; }
+               public void setF3(int v) { f3 = v; }
 
                @Beanp(name="*")
                public Map<String, Object> xxx() {
@@ -246,22 +240,16 @@ class DynaBean_ComboRoundTripTest extends 
ComboRoundTripTest_Base {
        @Bean(sort=true)
        public static class BeanWithDynaMethodsAndExtraKeys {
 
-               private int f1, f3;
                private Map<String,Object> f2 = new LinkedHashMap<>();
                private boolean setterCalled;
 
-               public int getF1() {
-                       return f1;
-               }
-               public void setF1(int v) {
-                       f1 = v;
-               }
-               public int getF3() {
-                       return f3;
-               }
-               public void setF3(int v) {
-                       f3 = v;
-               }
+               private int f1;
+               public int getF1() { return f1; }
+               public void setF1(int v) { f1 = v; }
+
+               private int f3;
+               public int getF3() { return f3; }
+               public void setF3(int v) { f3 = v; }
 
                @Beanp(name="*")
                public Object get(String name) {
@@ -290,21 +278,15 @@ class DynaBean_ComboRoundTripTest extends 
ComboRoundTripTest_Base {
        @Bean(sort=true)
        public static class BeanWithDynaGetterOnly {
 
-               private int f1, f3;
                private Map<String,Object> f2 = new LinkedHashMap<>();
 
-               public int getF1() {
-                       return f1;
-               }
-               public void setF1(int v) {
-                       f1 = v;
-               }
-               public int getF3() {
-                       return f3;
-               }
-               public void setF3(int v) {
-                       f3 = v;
-               }
+               private int f1;
+               public int getF1() { return f1; }
+               public void setF1(int v) { f1 = v; }
+
+               private int f3;
+               public int getF3() { return f3; }
+               public void setF3(int v) { f3 = v; }
 
                @Beanp(name="*")
                public Map<String, Object> xxx() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeans_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeans_Test.java
index 5175a97b8..e7297166b 100755
--- 
a/juneau-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeans_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeans_Test.java
@@ -651,13 +651,8 @@ class RoundTripTransformBeans_Test extends SimpleTestBase {
 
        public static class F2c extends F2ac {
 
-               public void setC(Calendar v) {
-                       c = v;
-               }
-
-               public Calendar getC() {
-                       return c;
-               }
+               public void setC(Calendar v) { c = v; }
+               public Calendar getC() { return c; }
 
                public static F2c create() {
                        var x = new F2c();
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/html/CommonParser_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/html/CommonParser_Test.java
index 54260d1b2..b729b7568 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/html/CommonParser_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/html/CommonParser_Test.java
@@ -120,13 +120,10 @@ class CommonParser_Test extends SimpleTestBase {
 
        public static class C {
                private Collection<Integer> ints = new LinkedList<>();
+               public Collection<Integer> getInts() { return ints; }
+
                private List<B> beans = new LinkedList<>();
-               public Collection<Integer> getInts() {
-                       return ints;
-               }
-               public List<B> getBeans() {
-                       return beans;
-               }
+               public List<B> getBeans() { return beans; }
        }
 
        
//====================================================================================================
diff --git a/juneau-utest/src/test/java/org/apache/juneau/html/Common_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/html/Common_Test.java
index dcc393b3b..c1c918289 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/html/Common_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/html/Common_Test.java
@@ -23,7 +23,6 @@ import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.collections.*;
 import org.apache.juneau.common.internal.*;
-import org.apache.juneau.serializer.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({"serial"})
@@ -401,32 +400,16 @@ class Common_Test extends SimpleTestBase {
 
        public static class J {
                private String f1;
-               private int f2 = -1;
-               private boolean f3;
-
-               public String getF1() {
-                       return this.f1;
-               }
-
-               public void setF1(String v) {
-                       f1 = v;
-               }
-
-               public int getF2() {
-                       return this.f2;
-               }
-
-               public void setF2(int v) {
-                       f2 = v;
-               }
+               public String getF1() { return f1; }
+               public void setF1(String v) { f1 = v; }
 
-               public boolean isF3() {
-                       return this.f3;
-               }
+               private int f2 = -1;
+               public int getF2() { return f2; }
+               public void setF2(int v) { f2 = v; }
 
-               public void setF3(boolean v) {
-                       f3 = v;
-               }
+               private boolean f3;
+               public boolean isF3() { return f3; }
+               public void setF3(boolean v) { f3 = v; }
 
                @Override /* Object */
                public String toString() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_FormDataAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_FormDataAnnotation_Test.java
index 6b2cd588b..6316130ea 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_FormDataAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_FormDataAnnotation_Test.java
@@ -717,46 +717,16 @@ class Remote_FormDataAnnotation_Test extends 
SimpleTestBase {
        }
 
        public static class K1a {
-               @FormData
-               public String getA() {
-                       return "a1";
-               }
-               @FormData("b")
-               public String getX1() {
-                       return "b1";
-               }
-               @FormData("c")
-               public String getX2() {
-                       return "c1";
-               }
-               @FormData("e") @Schema(aev=true)
-               public String getX4() {
-                       return "";
-               }
-               @FormData("f")
-               public String getX5() {
-                       return null;
-               }
-               @FormData("g")
-               public String getX6() {
-                       return "true";
-               }
-               @FormData("h")
-               public String getX7() {
-                       return "123";
-               }
-               @FormData("i1") @Schema(sie=true)
-               public String getX8() {
-                       return "foo";
-               }
-               @FormData("i2") @Schema(sie=true)
-               public String getX9() {
-                       return "";
-               }
-               @FormData("i3") @Schema(sie=true)
-               public String getX10() {
-                       return null;
-               }
+               @FormData public String getA() { return "a1"; }
+               @FormData("b") public String getX1() { return "b1"; }
+               @FormData("c") public String getX2() { return "c1"; }
+               @FormData("e") @Schema(aev=true) public String getX4() { return 
""; }
+               @FormData("f") public String getX5() { return null; }
+               @FormData("g") public String getX6() { return "true"; }
+               @FormData("h") public String getX7() { return "123"; }
+               @FormData("i1") @Schema(sie=true) public String getX8() { 
return "foo"; }
+               @FormData("i2") @Schema(sie=true) public String getX9() { 
return ""; }
+               @FormData("i3") @Schema(sie=true) public String getX10() { 
return null; }
        }
 
        @Test void k01_requestBean_simpleVals() {
@@ -778,22 +748,10 @@ class Remote_FormDataAnnotation_Test extends 
SimpleTestBase {
        }
 
        public static class K2a {
-               @FormData
-               public Map<String,Object> getA() {
-                       return 
mapBuilder(String.class,Object.class).add("a1","v1").add("a2",123).add("a3",null).add("a4","").build();
-               }
-               @FormData("*")
-               public Map<String,Object> getB() {
-                       return map("b1","true","b2","123","b3","null");
-               }
-               @FormData("*") @Schema(aev=true)
-               public Map<String,Object> getC() {
-                       return 
mapBuilder(String.class,Object.class).add("c1","v1").add("c2",123).add("c3",null).add("c4","").build();
-               }
-               @FormData("*")
-               public Map<String,Object> getD() {
-                       return null;
-               }
+               @FormData public Map<String,Object> getA() { return 
mapBuilder(String.class,Object.class).add("a1","v1").add("a2",123).add("a3",null).add("a4","").build();
 }
+               @FormData("*") public Map<String,Object> getB() { return 
map("b1","true","b2","123","b3","null"); }
+               @FormData("*") @Schema(aev=true) public Map<String,Object> 
getC() { return 
mapBuilder(String.class,Object.class).add("c1","v1").add("c2",123).add("c3",null).add("c4","").build();
 }
+               @FormData("*") public Map<String,Object> getD() { return null; }
        }
 
        @Test void k02_requestBean_maps() {
@@ -815,26 +773,11 @@ class Remote_FormDataAnnotation_Test extends 
SimpleTestBase {
        }
 
        public static class K3a {
-               @FormData
-               public PartList getA() {
-                       return parts("a1","v1","a2","123","a3",null,"a4","");
-               }
-               @FormData("*")
-               public PartList getB() {
-                       return parts("b1","true","b2","123","b3","null");
-               }
-               @FormData("*")
-               public PartList getC() {
-                       return parts("c1","v1","c2","123","c3",null,"c4","");
-               }
-               @FormData("*")
-               public PartList getD() {
-                       return null;
-               }
-               @FormData
-               public NameValuePair[] getE() {
-                       return 
parts("e1","v1","e2","123","e3",null,"e4","").getAll();
-               }
+               @FormData public PartList getA() { return 
parts("a1","v1","a2","123","a3",null,"a4",""); }
+               @FormData("*") public PartList getB() { return 
parts("b1","true","b2","123","b3","null"); }
+               @FormData("*") public PartList getC() { return 
parts("c1","v1","c2","123","c3",null,"c4",""); }
+               @FormData("*") public PartList getD() { return null; }
+               @FormData public NameValuePair[] getE() { return 
parts("e1","v1","e2","123","e3",null,"e4","").getAll(); }
        }
 
        @Test void k03_requestBean_nameValuePairs() {
@@ -855,10 +798,7 @@ class Remote_FormDataAnnotation_Test extends 
SimpleTestBase {
        }
 
        public static class C04_Bean {
-               @FormData("*")
-               public StringBuilder getA() {
-                       return new StringBuilder("foo=bar&baz=qux");
-               }
+               @FormData("*") public StringBuilder getA() { return new 
StringBuilder("foo=bar&baz=qux"); }
        }
 
        @Test void k04_requestBean_charSequence() {
@@ -876,10 +816,7 @@ class Remote_FormDataAnnotation_Test extends 
SimpleTestBase {
        }
 
        public static class K5a {
-               @FormData("*")
-               public Reader getA() {
-                       return reader("foo=bar&baz=qux");
-               }
+               @FormData("*") public Reader getA() { return 
reader("foo=bar&baz=qux"); }
        }
 
        @Test void k05_requestBean_reader() {
@@ -898,42 +835,15 @@ class Remote_FormDataAnnotation_Test extends 
SimpleTestBase {
        }
 
        public static class K6a {
-               @FormData
-               public List<Object> getA() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @FormData("b")
-               public List<Object> getX1() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @FormData(name="c",serializer=FakeWriterSerializer.X.class)
-               public List<Object> getX2() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @FormData("d") @Schema(aev=true)
-               public List<Object> getX3() {
-                       return alist();
-               }
-               @FormData("e")
-               public List<Object> getX4() {
-                       return null;
-               }
-               @FormData("f")
-               public Object[] getX5() {
-                       return new 
Object[]{"foo","","true","123","null",true,123,null};
-               }
-               @FormData(name="g",serializer=FakeWriterSerializer.X.class)
-               public Object[] getX6() {
-                       return new 
Object[]{"foo","","true","123","null",true,123,null};
-               }
-               @FormData("h") @Schema(aev=true)
-               public Object[] getX7() {
-                       return new Object[]{};
-               }
-               @FormData("i")
-               public Object[] getX8() {
-                       return null;
-               }
+               @FormData public List<Object> getA() { return 
alist("foo","","true","123","null",true,123,null); }
+               @FormData("b") public List<Object> getX1() { return 
alist("foo","","true","123","null",true,123,null); }
+               @FormData(name="c",serializer=FakeWriterSerializer.X.class) 
public List<Object> getX2() { return 
alist("foo","","true","123","null",true,123,null); }
+               @FormData("d") @Schema(aev=true) public List<Object> getX3() { 
return alist(); }
+               @FormData("e") public List<Object> getX4() { return null; }
+               @FormData("f") public Object[] getX5() { return new 
Object[]{"foo","","true","123","null",true,123,null}; }
+               @FormData(name="g",serializer=FakeWriterSerializer.X.class) 
public Object[] getX6() { return new 
Object[]{"foo","","true","123","null",true,123,null}; }
+               @FormData("h") @Schema(aev=true) public Object[] getX7() { 
return new Object[]{}; }
+               @FormData("i") public Object[] getX8() { return null; }
        }
 
        @Test void k06_requestBean_collections() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_HeaderAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_HeaderAnnotation_Test.java
index a1fabe415..3c2ffbe26 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_HeaderAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_HeaderAnnotation_Test.java
@@ -679,46 +679,16 @@ class Remote_HeaderAnnotation_Test extends SimpleTestBase 
{
        }
 
        public static class K1a {
-               @Header
-               public String getA() {
-                       return "a1";
-               }
-               @Header("b")
-               public String getX1() {
-                       return "b1";
-               }
-               @Header(name="c")
-               public String getX2() {
-                       return "c1";
-               }
-               @Header(name="e") @Schema(allowEmptyValue=true)
-               public String getX4() {
-                       return "";
-               }
-               @Header("f")
-               public String getX5() {
-                       return null;
-               }
-               @Header("g")
-               public String getX6() {
-                       return "true";
-               }
-               @Header("h")
-               public String getX7() {
-                       return "123";
-               }
-               @Header("i1") @Schema(sie=true)
-               public String getX8() {
-                       return "foo";
-               }
-               @Header("i2") @Schema(sie=true)
-               public String getX9() {
-                       return "";
-               }
-               @Header("i3") @Schema(sie=true)
-               public String getX10() {
-                       return null;
-               }
+               @Header public String getA() { return "a1"; }
+               @Header("b") public String getX1() { return "b1"; }
+               @Header(name="c") public String getX2() { return "c1"; }
+               @Header(name="e") @Schema(allowEmptyValue=true) public String 
getX4() { return ""; }
+               @Header("f") public String getX5() { return null; }
+               @Header("g") public String getX6() { return "true"; }
+               @Header("h") public String getX7() { return "123"; }
+               @Header("i1") @Schema(sie=true) public String getX8() { return 
"foo"; }
+               @Header("i2") @Schema(sie=true) public String getX9() { return 
""; }
+               @Header("i3") @Schema(sie=true) public String getX10() { return 
null; }
        }
 
        @Test void k01_requestBean_simpleVals() {
@@ -740,22 +710,10 @@ class Remote_HeaderAnnotation_Test extends SimpleTestBase 
{
        }
 
        public static class K2a {
-               @Header
-               public Map<String,Object> getA() {
-                       return 
mapBuilder(String.class,Object.class).add("a1","v1").add("a2",123).add("a3",null).add("a4","").build();
-               }
-               @Header("*")
-               public Map<String,Object> getB() {
-                       return map("b1","true","b2","123","b3","null");
-               }
-               @Header(name="*") @Schema(aev=true)
-               public Map<String,Object> getC() {
-                       return 
mapBuilder(String.class,Object.class).add("c1","v1").add("c2",123).add("c3",null).add("c4","").build();
-               }
-               @Header("*")
-               public Map<String,Object> getD() {
-                       return null;
-               }
+               @Header public Map<String,Object> getA() { return 
mapBuilder(String.class,Object.class).add("a1","v1").add("a2",123).add("a3",null).add("a4","").build();
 }
+               @Header("*") public Map<String,Object> getB() { return 
map("b1","true","b2","123","b3","null"); }
+               @Header(name="*") @Schema(aev=true) public Map<String,Object> 
getC() { return 
mapBuilder(String.class,Object.class).add("c1","v1").add("c2",123).add("c3",null).add("c4","").build();
 }
+               @Header("*") public Map<String,Object> getD() { return null; }
        }
 
        @Test void k02_requestBean_maps() {
@@ -777,30 +735,12 @@ class Remote_HeaderAnnotation_Test extends SimpleTestBase 
{
        }
 
        public static class K3a {
-               @Header() @Schema(aev=true)
-               public HeaderList getA() {
-                       return 
headerList(stringHeader("a1","v1"),integerHeader("a2",123),basicHeader("a3",null),stringHeader("a4",""));
-               }
-               @Header(value="*") @Schema(aev=true)
-               public HeaderList getB() {
-                       return headers("b1","true","b2","123","b3","null");
-               }
-               @Header("*") @Schema(aev=true)
-               public HeaderList getC() {
-                       return 
headerList(stringHeader("c1","v1"),integerHeader("c2",123),basicHeader("c3",null),stringHeader("c4",""));
-               }
-               @Header(value="*") @Schema(aev=true)
-               public HeaderList getD() {
-                       return null;
-               }
-               @Header() @Schema(aev=true)
-               public org.apache.http.Header[] getE() {
-                       return 
headerList(stringHeader("e1","v1"),integerHeader("e2",123),basicHeader("e3",null),stringHeader("e4","")).getAll();
-               }
-               @Header() @Schema(aev=true)
-               public BasicHeader[] getF() {
-                       return 
headerList(stringHeader("f1","v1"),integerHeader("f2",123),basicHeader("f3",null),stringHeader("f4","")).stream().toArray(BasicHeader[]::new);
-               }
+               @Header() @Schema(aev=true) public HeaderList getA() { return 
headerList(stringHeader("a1","v1"),integerHeader("a2",123),basicHeader("a3",null),stringHeader("a4",""));
 }
+               @Header(value="*") @Schema(aev=true) public HeaderList getB() { 
return headers("b1","true","b2","123","b3","null"); }
+               @Header("*") @Schema(aev=true) public HeaderList getC() { 
return 
headerList(stringHeader("c1","v1"),integerHeader("c2",123),basicHeader("c3",null),stringHeader("c4",""));
 }
+               @Header(value="*") @Schema(aev=true) public HeaderList getD() { 
return null; }
+               @Header() @Schema(aev=true) public org.apache.http.Header[] 
getE() { return 
headerList(stringHeader("e1","v1"),integerHeader("e2",123),basicHeader("e3",null),stringHeader("e4","")).getAll();
 }
+               @Header() @Schema(aev=true) public BasicHeader[] getF() { 
return 
headerList(stringHeader("f1","v1"),integerHeader("f2",123),basicHeader("f3",null),stringHeader("f4","")).stream().toArray(BasicHeader[]::new);
 }
        }
 
        @Test void k03_requestBean_headers() {
@@ -822,42 +762,15 @@ class Remote_HeaderAnnotation_Test extends SimpleTestBase 
{
        }
 
        public static class K4a {
-               @Header
-               public List<Object> getA() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Header("b")
-               public List<Object> getX1() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Header(name="c",serializer=FakeWriterSerializer.X.class)
-               public List<Object> getX2() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Header(name="d") @Schema(aev=true)
-               public List<Object> getX3() {
-                       return alist();
-               }
-               @Header("e")
-               public List<Object> getX4() {
-                       return null;
-               }
-               @Header("f")
-               public Object[] getX5() {
-                       return new 
Object[]{"foo","","true","123","null",true,123,null};
-               }
-               @Header(name="g",serializer=FakeWriterSerializer.X.class)
-               public Object[] getX6() {
-                       return new 
Object[]{"foo","","true","123","null",true,123,null};
-               }
-               @Header(name="h") @Schema(aev=true)
-               public Object[] getX7() {
-                       return new Object[]{};
-               }
-               @Header("i")
-               public Object[] getX8() {
-                       return null;
-               }
+               @Header public List<Object> getA() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Header("b") public List<Object> getX1() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Header(name="c",serializer=FakeWriterSerializer.X.class) 
public List<Object> getX2() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Header(name="d") @Schema(aev=true) public List<Object> getX3() 
{ return alist(); }
+               @Header("e") public List<Object> getX4() { return null; }
+               @Header("f") public Object[] getX5() { return new 
Object[]{"foo","","true","123","null",true,123,null}; }
+               @Header(name="g",serializer=FakeWriterSerializer.X.class) 
public Object[] getX6() { return new 
Object[]{"foo","","true","123","null",true,123,null}; }
+               @Header(name="h") @Schema(aev=true) public Object[] getX7() { 
return new Object[]{}; }
+               @Header("i") public Object[] getX8() { return null; }
        }
 
        @Test void k04_requestBean_collections() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_PathAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_PathAnnotation_Test.java
index d8f053224..95c839812 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_PathAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_PathAnnotation_Test.java
@@ -592,30 +592,12 @@ class Remote_PathAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K1a {
-               @Path
-               public String getA() {
-                       return "a1";
-               }
-               @Path("b")
-               public String getX1() {
-                       return "b1";
-               }
-               @Path("c")
-               public String getX2() {
-                       return "c1";
-               }
-               @Path("e") @Schema(aev=true)
-               public String getX4() {
-                       return "";
-               }
-               @Path("g")
-               public String getX6() {
-                       return "true";
-               }
-               @Path("h")
-               public String getX7() {
-                       return "123";
-               }
+               @Path public String getA() { return "a1"; }
+               @Path("b") public String getX1() { return "b1"; }
+               @Path("c") public String getX2() { return "c1"; }
+               @Path("e") @Schema(aev=true) public String getX4() { return ""; 
}
+               @Path("g") public String getX6() { return "true"; }
+               @Path("h") public String getX7() { return "123"; }
        }
 
        @Test void k01_requestBean_simpleVals() {
@@ -637,22 +619,11 @@ class Remote_PathAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K2a {
-               @Path("*") @Schema(aev=true)
-               public Map<String,Object> getA() {
-                       return 
mapBuilder(String.class,Object.class).add("a1","v1").add("a2",123).add("a3",null).add("a4","").build();
-               }
-               @Path("*")
-               public Map<String,Object> getB() {
-                       return map("b1","true","b2","123","b3","null");
-               }
-               @Path("*") @Schema(aev=true)
-               public Map<String,Object> getC() {
-                       return 
mapBuilder(String.class,Object.class).add("c1","v1").add("c2",123).add("c3",null).add("c4","").build();
-               }
+               @Path("*") @Schema(aev=true) public Map<String,Object> getA() { 
return 
mapBuilder(String.class,Object.class).add("a1","v1").add("a2",123).add("a3",null).add("a4","").build();
 }
+               @Path("*") public Map<String,Object> getB() { return 
map("b1","true","b2","123","b3","null"); }
+               @Path("*") @Schema(aev=true) public Map<String,Object> getC() { 
return 
mapBuilder(String.class,Object.class).add("c1","v1").add("c2",123).add("c3",null).add("c4","").build();
 }
                @Path("*")
-               public Map<String,Object> getD() {
-                       return null;
-               }
+               public Map<String,Object> getD() { return null; }
        }
 
        @Test void k02_reauestBean_maps() {
@@ -674,26 +645,12 @@ class Remote_PathAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K3a {
-               @Path("*") @Schema(aev=true)
-               public PartList getA() {
-                       return parts("a1","v1","a2","123","a3",null,"a4","");
-               }
+               @Path("*") @Schema(aev=true) public PartList getA() { return 
parts("a1","v1","a2","123","a3",null,"a4",""); }
+               @Path("/*") public PartList getB() { return 
parts("b1","true","b2","123","b3","null"); }
+               @Path("*") @Schema(aev=true) public PartList getC() { return 
parts("c1","v1","c2","123","c3",null,"c4",""); }
                @Path("/*")
-               public PartList getB() {
-                       return parts("b1","true","b2","123","b3","null");
-               }
-               @Path("*") @Schema(aev=true)
-               public PartList getC() {
-                       return parts("c1","v1","c2","123","c3",null,"c4","");
-               }
-               @Path("/*")
-               public PartList getD() {
-                       return null;
-               }
-               @Path @Schema(aev=true)
-               public NameValuePair[] getE() {
-                       return 
parts("e1","v1","e2","123","e3",null,"e4","").getAll();
-               }
+               public PartList getD() { return null; }
+               @Path @Schema(aev=true) public NameValuePair[] getE() { return 
parts("e1","v1","e2","123","e3",null,"e4","").getAll(); }
        }
 
        @Test void k03_requestBean_nameValuePairs() {
@@ -715,30 +672,12 @@ class Remote_PathAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K4a {
-               @Path
-               public List<Object> getA() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Path("b")
-               public List<Object> getX1() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Path(name="c",serializer=FakeWriterSerializer.X.class)
-               public List<Object> getX2() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Path("d") @Schema(aev=true)
-               public List<Object> getX3() {
-                       return alist();
-               }
-               @Path("f")
-               public Object[] getX5() {
-                       return new 
Object[]{"foo","","true","123","null",true,123,null};
-               }
-               @Path(name="g",serializer=FakeWriterSerializer.X.class)
-               public Object[] getX6() {
-                       return new 
Object[]{"foo","","true","123","null",true,123,null};
-               }
+               @Path public List<Object> getA() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Path("b") public List<Object> getX1() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Path(name="c",serializer=FakeWriterSerializer.X.class) public 
List<Object> getX2() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Path("d") @Schema(aev=true) public List<Object> getX3() { 
return alist(); }
+               @Path("f") public Object[] getX5() { return new 
Object[]{"foo","","true","123","null",true,123,null}; }
+               @Path(name="g",serializer=FakeWriterSerializer.X.class) public 
Object[] getX6() { return new 
Object[]{"foo","","true","123","null",true,123,null}; }
                @Path("h") @Schema(aev=true)
                public Object[] getX7() {
                        return new Object[]{};
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_QueryAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_QueryAnnotation_Test.java
index 20e77560a..c634cfed7 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_QueryAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_QueryAnnotation_Test.java
@@ -742,22 +742,11 @@ class Remote_QueryAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K2a {
-               @Query
-               public Map<String,Object> getA() {
-                       return 
mapBuilder(String.class,Object.class).add("a1","v1").add("a2",123).add("a3",null).add("a4","").build();
-               }
-               @Query("*")
-               public Map<String,Object> getB() {
-                       return map("b1","true","b2","123","b3","null");
-               }
-               @Query("*") @Schema(allowEmptyValue=true)
-               public Map<String,Object> getC() {
-                       return 
mapBuilder(String.class,Object.class).add("c1","v1").add("c2",123).add("c3",null).add("c4","").build();
-               }
+               @Query public Map<String,Object> getA() { return 
mapBuilder(String.class,Object.class).add("a1","v1").add("a2",123).add("a3",null).add("a4","").build();
 }
+               @Query("*") public Map<String,Object> getB() { return 
map("b1","true","b2","123","b3","null"); }
+               @Query("*") @Schema(allowEmptyValue=true) public 
Map<String,Object> getC() { return 
mapBuilder(String.class,Object.class).add("c1","v1").add("c2",123).add("c3",null).add("c4","").build();
 }
                @Query("*")
-               public Map<String,Object> getD() {
-                       return null;
-               }
+               public Map<String,Object> getD() { return null; }
        }
 
        @Test void k02_requestBean_maps() {
@@ -779,26 +768,12 @@ class Remote_QueryAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K3a {
-               @Query() @Schema(aev=true)
-               public PartList getA() {
-                       return parts("a1","v1","a2","123","a3",null,"a4","");
-               }
+               @Query() @Schema(aev=true) public PartList getA() { return 
parts("a1","v1","a2","123","a3",null,"a4",""); }
+               @Query("*") public PartList getB() { return 
parts("b1","true","b2","123","b3","null"); }
+               @Query("*") @Schema(aev=true) public PartList getC() { return 
parts("c1","v1","c2","123","c3",null,"c4",""); }
                @Query("*")
-               public PartList getB() {
-                       return parts("b1","true","b2","123","b3","null");
-               }
-               @Query("*") @Schema(aev=true)
-               public PartList getC() {
-                       return parts("c1","v1","c2","123","c3",null,"c4","");
-               }
-               @Query("*")
-               public PartList getD() {
-                       return null;
-               }
-               @Query() @Schema(aev=true)
-               public NameValuePair[] getE() {
-                       return 
parts("e1","v1","e2","123","e3",null,"e4","").getAll();
-               }
+               public PartList getD() { return null; }
+               @Query() @Schema(aev=true) public NameValuePair[] getE() { 
return parts("e1","v1","e2","123","e3",null,"e4","").getAll(); }
        }
 
        @Test void k03_requestBean_nameValuePairs() {
@@ -818,10 +793,7 @@ class Remote_QueryAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K4a {
-               @Query("*")
-               public StringBuilder getA() {
-                       return new StringBuilder("foo=bar&baz=qux");
-               }
+               @Query("*") public StringBuilder getA() { return new 
StringBuilder("foo=bar&baz=qux"); }
        }
 
        @Test void k04_requestBean_charSequence() {
@@ -839,10 +811,7 @@ class Remote_QueryAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K5a {
-               @Query("*")
-               public Reader getA() {
-                       return reader("foo=bar&baz=qux");
-               }
+               @Query("*") public Reader getA() { return 
reader("foo=bar&baz=qux"); }
        }
 
        @Test void k05_requestBean_reader() {
@@ -861,42 +830,15 @@ class Remote_QueryAnnotation_Test extends SimpleTestBase {
        }
 
        public static class K6a {
-               @Query
-               public List<Object> getA() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Query("b")
-               public List<Object> getX1() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Query(name="c",serializer=FakeWriterSerializer.X.class)
-               public List<Object> getX2() {
-                       return 
alist("foo","","true","123","null",true,123,null);
-               }
-               @Query("d") @Schema(allowEmptyValue=true)
-               public List<Object> getX3() {
-                       return alist();
-               }
-               @Query("e")
-               public List<Object> getX4() {
-                       return null;
-               }
-               @Query("f")
-               public Object[] getX5() {
-                       return new 
Object[]{"foo","","true","123","null",true,123,null};
-               }
-               @Query(name="g",serializer=FakeWriterSerializer.X.class)
-               public Object[] getX6() {
-                       return new 
Object[]{"foo","","true","123","null",true,123,null};
-               }
-               @Query("h") @Schema(allowEmptyValue=true)
-               public Object[] getX7() {
-                       return new Object[]{};
-               }
-               @Query("i")
-               public Object[] getX8() {
-                       return null;
-               }
+               @Query public List<Object> getA() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Query("b") public List<Object> getX1() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Query(name="c",serializer=FakeWriterSerializer.X.class) public 
List<Object> getX2() { return 
alist("foo","","true","123","null",true,123,null); }
+               @Query("d") @Schema(allowEmptyValue=true) public List<Object> 
getX3() { return alist(); }
+               @Query("e") public List<Object> getX4() { return null; }
+               @Query("f") public Object[] getX5() { return new 
Object[]{"foo","","true","123","null",true,123,null}; }
+               @Query(name="g",serializer=FakeWriterSerializer.X.class) public 
Object[] getX6() { return new 
Object[]{"foo","","true","123","null",true,123,null}; }
+               @Query("h") @Schema(allowEmptyValue=true) public Object[] 
getX7() { return new Object[]{}; }
+               @Query("i") public Object[] getX8() { return null; }
        }
 
        @Test void k06_requestBean_collections() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/json/CommonParserTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/json/CommonParserTest.java
index 173bfa675..accc322cf 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/json/CommonParserTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/json/CommonParserTest.java
@@ -136,13 +136,10 @@ class CommonParserTest extends SimpleTestBase {
 
        public static class C {
                private Collection<Integer> ints = new LinkedList<>();
+               public Collection<Integer> getInts() { return ints; }
+
                private List<B> beans = new LinkedList<>();
-               public Collection<Integer> getInts() {
-                       return ints;
-               }
-               public List<B> getBeans() {
-                       return beans;
-               }
+               public List<B> getBeans() { return beans; }
        }
 
        
//====================================================================================================
diff --git a/juneau-utest/src/test/java/org/apache/juneau/json/CommonTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/json/CommonTest.java
index 275283aa6..b809acaae 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/json/CommonTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/json/CommonTest.java
@@ -279,32 +279,16 @@ class CommonTest  extends SimpleTestBase{
 
        public static class J {
                private String f1;
-               private int f2 = -1;
-               private boolean f3;
-
-               public String getF1() {
-                       return this.f1;
-               }
-
-               public void setF1(String v) {
-                       f1 = v;
-               }
-
-               public int getF2() {
-                       return this.f2;
-               }
-
-               public void setF2(int v) {
-                       f2 = v;
-               }
+               public String getF1() { return f1; }
+               public void setF1(String v) { f1 = v; }
 
-               public boolean isF3() {
-                       return this.f3;
-               }
+               private int f2 = -1;
+               public int getF2() { return f2; }
+               public void setF2(int v) { f2 = v; }
 
-               public void setF3(boolean v) {
-                       f3 = v;
-               }
+               private boolean f3;
+               public boolean isF3() { return f3; }
+               public void setF3(boolean v) { f3 = v; }
 
                @Override /* Object */
                public String toString() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
index bcef0baa4..5f7339d7a 100755
--- 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
@@ -1214,9 +1214,7 @@ class JsonSchemaGeneratorTest extends SimpleTestBase {
 
        public static class A3 {
                @Schema(type="foo",format="bar",description="baz")
-               public int getF1() {
-                       return 123;
-               }
+               public int getF1() { return 123; }
        }
 
        @Test void jsonSchema_onbeangetter_usingConfig() throws Exception {
@@ -1228,9 +1226,7 @@ class JsonSchemaGeneratorTest extends SimpleTestBase {
        private static class A3aConfig {}
 
        public static class A3a {
-               public int getF1() {
-                       return 123;
-               }
+               public int getF1() { return 123; }
        }
 
        @Test void jsonSchema_onbeansetter() throws Exception {
@@ -1239,9 +1235,7 @@ class JsonSchemaGeneratorTest extends SimpleTestBase {
        }
 
        public static class A4 {
-               public int getF1() {
-                       return 123;
-               }
+               public int getF1() { return 123; }
 
                @Schema(type="foo",format="bar",description="baz")
                public void setF1(int v) { /* no-op */ }
@@ -1256,9 +1250,7 @@ class JsonSchemaGeneratorTest extends SimpleTestBase {
        private static class A4aConfig {}
 
        public static class A4a {
-               public int getF1() {
-                       return 123;
-               }
+               public int getF1() { return 123; }
 
                public void setF1(int v) { /* no-op */ }
        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/objecttools/ObjectMerger_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/objecttools/ObjectMerger_Test.java
index 310c950a1..833b7df4f 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/objecttools/ObjectMerger_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/objecttools/ObjectMerger_Test.java
@@ -66,20 +66,12 @@ class ObjectMerger_Test extends SimpleTestBase {
        }
 
        public static class A implements IA {
-               private String a;
-
                public A(String a) {
                        this.a = a;
                }
 
-               @Override
-               public String getA() {
-                       return a;
-               }
-
-               @Override
-               public void setA(String v) {
-                       a = v;
-               }
+               private String a;
+               @Override public String getA() { return a; }
+               @Override public void setA(String v) { a = v; }
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
index e19c5fba1..af416043c 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
@@ -1950,19 +1950,10 @@ class Swagger_Test extends SimpleTestBase {
        @Bean(sort=true)
        public static class T2 {
                private int f1;
+               public int getF1() { return f1; }
+               public T2 setF1(int v) { f1 = v; return this; }
 
-               public T2 setF1(int v) {
-                       this.f1 = v;
-                       return this;
-               }
-
-               public int getF1() {
-                       return f1;
-               }
-
-               public int getF2() {
-                       return 2;
-               }
+               public int getF2() { return 2; }
 
                @Example
                public static T2 example() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
index 83759d279..769d769df 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
@@ -56,42 +56,15 @@ class RestClient_BasicCalls_Test extends SimpleTestBase {
 
        @Rest
        public static class A extends BasicRestObject {
-               @RestOp(path="/bean")
-               public ABean getBean() {
-                       return bean;
-               }
-               @RestOp(path="/bean")
-               public ABean postBean(@Content ABean b) {
-                       return b;
-               }
-               @RestOp(path="/bean")
-               public ABean putBean(@Content ABean b) {
-                       return b;
-               }
-               @RestOp(path="/bean")
-               public ABean patchBean(@Content ABean b) {
-                       return b;
-               }
-               @RestOp(path="/bean")
-               public ABean deleteBean() {
-                       return bean;
-               }
-               @RestOp(path="/bean")
-               public ABean optionsBean() {
-                       return bean;
-               }
-               @RestOp(path="/bean")
-               public ABean headBean() {
-                       return bean;
-               }
-               @RestOp(path="/checkHeader")
-               public String[] postHeader(org.apache.juneau.rest.RestRequest 
req) {
-                       return 
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(RequestHeader::getValue).toArray(String[]::new);
-               }
-               @RestOp(path="/",method="*")
-               public Reader echoMethod(@Method String method) {
-                       return reader(method);
-               }
+               @RestOp(path="/bean") public ABean getBean() { return bean; }
+               @RestOp(path="/bean") public ABean postBean(@Content ABean b) { 
return b; }
+               @RestOp(path="/bean") public ABean putBean(@Content ABean b) { 
return b; }
+               @RestOp(path="/bean") public ABean patchBean(@Content ABean b) 
{ return b; }
+               @RestOp(path="/bean") public ABean deleteBean() { return bean; }
+               @RestOp(path="/bean") public ABean optionsBean() { return bean; 
}
+               @RestOp(path="/bean") public ABean headBean() { return bean; }
+               @RestOp(path="/checkHeader") public String[] 
postHeader(org.apache.juneau.rest.RestRequest req) { return 
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(RequestHeader::getValue).toArray(String[]::new);
 }
+               @RestOp(path="/",method="*") public Reader echoMethod(@Method 
String method) { return reader(method); }
        }
 
        @Test void a01_basic() throws Exception {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
index e7974a032..921b79933 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
@@ -142,15 +142,11 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
 
        public static class A4b implements A4a {
                public int f1, f2;
+
                private int f3;
-               @Override
-               public int getF3() {
-                       return f3;
-               }
-               @Override
-               public void setF3(int v) {
-                       f3 = v;
-               }
+               @Override public int getF3() { return f3; }
+               @Override public void setF3(int v) { f3 = v; }
+
                static A4b get() {
                        var x = new A4b();
                        x.f1 = 1;
@@ -228,25 +224,21 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
        }
 
        public static class A5  {
-               private int f1, f2;
-               public int getF1() {
-                       return f1;
-               }
-               public void setF1(int v) {
-                       f1 = v;
-               }
-               protected int getF2() {
-                       return f2;
-               }
-               protected void setF2(int f2) {
-                       this.f2 = f2;
-               }
+               private int f1;
+               public int getF1() { return f1; }
+               public void setF1(int v) { f1 = v; }
+
+               private int f2;
+               protected int getF2() { return f2; }
+               protected void setF2(int v) { f2 = v; }
+
                static A5 get() {
                        var x = new A5();
                        x.f1 = 1;
                        x.f2 = 2;
                        return x;
                }
+
                @Override
                public String toString() {
                        return f1 + "/" + f2;
@@ -321,22 +313,20 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
        }
 
        public static class A9 {
-               private int f1, f2;
-               public int getF1() {
-                       return f1;
-               }
-               public void setF1(int v) {
-                       f1 = v;
-               }
-               public int getF2() {
-                       return f2;
-               }
+               private int f1;
+               public int getF1() { return f1; }
+               public void setF1(int v) { f1 = v; }
+
+               private int f2;
+               public int getF2() { return f2; }
+
                static A9 get() {
                        var x = new A9();
                        x.f1 = 1;
                        x.f2 = 2;
                        return x;
                }
+
                @Override
                public String toString() {
                        return f1 + "/" + f2;
@@ -565,9 +555,8 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
 
        public static class A16 {
                private String foo;
-               public String getFoo() {
-                       return foo;
-               }
+               public String getFoo() { return foo; }
+
                static A16 get() {
                        var x = new A16();
                        x.foo = "foo";
@@ -621,9 +610,8 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
 
        public static class A20 {
                private String foo;
-               public String getFoo() {
-                       return foo;
-               }
+               public String getFoo() { return foo; }
+
                public A20 foo(String foo) {
                        this.foo = foo;
                        return this;
@@ -638,17 +626,13 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
        }
 
        public static class A21 {
-               @SuppressWarnings("unused")
-               private String foo, bar;
-               public String getFoo() {
-                       return foo;
-               }
-               public void setFoo(String v) {
-                       foo = v;
-               }
-               public String getBar() {
-                       throw new RuntimeException("xxx");
-               }
+               private String foo;
+               public String getFoo() { return foo; }
+               public void setFoo(String v) { foo = v; }
+
+               @SuppressWarnings("unused") private String bar;
+               public String getBar() { throw new RuntimeException("xxx"); }
+
                static A21 get() {
                        var x = new A21();
                        x.foo = "1";
@@ -664,19 +648,14 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
        }
 
        public static class A22 {
-               private String foo, bar;
-               public String getFoo() {
-                       return foo;
-               }
-               public void setFoo(String v) {
-                       foo = v;
-               }
-               public String getBar() {
-                       return bar;
-               }
-               public void setBar(String v) {
-                       throw new RuntimeException("xxx");
-               }
+               private String foo;
+               public String getFoo() { return foo; }
+               public void setFoo(String v) { foo = v; }
+
+               private String bar;
+               public String getBar() { return bar; }
+               public void setBar(String v) { throw new 
RuntimeException("xxx"); }
+
                static A22 get() {
                        var x = new A22();
                        x.foo = "1";
@@ -708,14 +687,8 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
 
        public static class A24b implements A24a {
                private int foo;
-               @Override
-               public int getFoo() {
-                       return foo;
-               }
-               @Override
-               public void setFoo(int v) {
-                       foo = v;
-               }
+               @Override public int getFoo() { return foo; }
+               @Override public void setFoo(int v) { foo = v; }
        }
 
        @Test void a24_implClass() throws Exception {
@@ -734,11 +707,11 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
        }
 
        public static class A25b implements A25a {
-               private int foo, bar;
-               @Override
-               public int getFoo() { return foo; }
-               @Override
-               public void setFoo(int v) { foo = v; }
+               private int foo;
+               @Override public int getFoo() { return foo; }
+               @Override public void setFoo(int v) { foo = v; }
+
+               private int bar;
                public int getBar() { return bar; }  // Not executed
                public void setBar(int v) { bar = v; }  // Not executed
 
@@ -808,6 +781,7 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
                private String foo;
                public String getFoo() { return foo; }
                public void setFoo(String v) { foo = v; }
+
                static A30a get() {
                        var x = new A30a();
                        x.foo = "foo";
@@ -840,6 +814,7 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
                private String fooBar;
                public String getFooBar() { return fooBar; }
                public void setFooBar(String v) { fooBar = v; }
+
                static A31 get() {
                        var x = new A31();
                        x.fooBar = "fooBar";
@@ -902,10 +877,8 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
        }
 
        public static class A34b extends ObjectSwap<A34a,Integer> {
-               @Override
-               public Integer swap(BeanSession session,A34a o) { return o.foo; 
}
-               @Override
-               public A34a unswap(BeanSession session,Integer f,ClassMeta<?> 
hint) {return A34a.get(); }
+               @Override public Integer swap(BeanSession session,A34a o) { 
return o.foo; }
+               @Override public A34a unswap(BeanSession session,Integer 
f,ClassMeta<?> hint) {return A34a.get(); }
        }
 
        @Test void a34_swaps() throws Exception {
@@ -976,13 +949,11 @@ class RestClient_Config_BeanContext_Test extends 
SimpleTestBase {
 
        public static class A39 {
                private int foo;
+               public int getFoo() { return foo; }
+               public void setFoo(int v) { foo = v; }
+
                public int bar;
-               public int getFoo() {
-                       return foo;
-               }
-               public void setFoo(int v) {
-                       foo = v;
-               }
+
                static A39 get() {
                        var x = new A39();
                        x.foo = 1;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/uon/CommonParser_UonTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/uon/CommonParser_UonTest.java
index a814ae451..9df37eee8 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/uon/CommonParser_UonTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/uon/CommonParser_UonTest.java
@@ -128,13 +128,10 @@ class CommonParser_UonTest extends SimpleTestBase {
 
        public static class C {
                private Collection<Integer> ints = new LinkedList<>();
+               public Collection<Integer> getInts() { return ints; }
+
                private List<B> beans = new LinkedList<>();
-               public Collection<Integer> getInts() {
-                       return ints;
-               }
-               public List<B> getBeans() {
-                       return beans;
-               }
+               public List<B> getBeans() { return beans; }
        }
 
        
//====================================================================================================
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
index b193385d0..1374fbdff 100755
--- 
a/juneau-utest/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
@@ -20,7 +20,6 @@ import org.apache.juneau.annotation.*;
 import org.apache.juneau.collections.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.serializer.*;
-import org.apache.juneau.uon.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({"rawtypes","serial"})
@@ -130,13 +129,10 @@ class CommonParser_UrlEncodingTest extends SimpleTestBase 
{
 
        public static class C {
                private Collection<Integer> ints = new LinkedList<>();
+               public Collection<Integer> getInts() { return ints; }
+
                private List<B> beans = new LinkedList<>();
-               public Collection<Integer> getInts() {
-                       return ints;
-               }
-               public List<B> getBeans() {
-                       return beans;
-               }
+               public List<B> getBeans() { return beans; }
        }
 
        
//====================================================================================================
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/xml/CommonParserTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/xml/CommonParserTest.java
index fdb96cbc5..b742a068c 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/xml/CommonParserTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/xml/CommonParserTest.java
@@ -132,13 +132,10 @@ class CommonParserTest  extends SimpleTestBase{
 
        public static class C {
                private Collection<Integer> ints = new LinkedList<>();
+               public Collection<Integer> getInts() { return ints; }
+
                private List<B> beans = new LinkedList<>();
-               public Collection<Integer> getInts() {
-                       return ints;
-               }
-               public List<B> getBeans() {
-                       return beans;
-               }
+               public List<B> getBeans() { return beans; }
        }
 
        
//====================================================================================================
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
index 4f1dd3995..a30770e57 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
@@ -179,35 +179,19 @@ class XmlCollapsedTest extends SimpleTestBase {
 
        @Bean(properties="f1,f2,f3,f4")
        public static class D {
+               private List<String> f1 = new LinkedList<>();
+               @Xml(format=COLLAPSED) public List<String> getF1() { return f1; 
}
 
-               private List<String> f1 = new LinkedList<>(), f3 = new 
LinkedList<>();
-               private String[] f2, f4;
+               private String[] f2;
+               @Xml(format=COLLAPSED) public String[] getF2() { return f2;}
+               public void setF2(String[] v) { f2 = v; }
 
-               @Xml(format=COLLAPSED)
-               public List<String> getF1() {
-                       return f1;
-               }
-
-               @Xml(format=COLLAPSED)
-               public String[] getF2() {
-                       return f2;
-               }
-               public void setF2(String[] v) {
-                       f2 = v;
-               }
-
-               @Xml(format=COLLAPSED,childName="xf3")
-               public List<String> getF3() {
-                       return f3;
-               }
+               private List<String> f3 = new LinkedList<>();
+               @Xml(format=COLLAPSED,childName="xf3") public List<String> 
getF3() { return f3; }
 
-               @Xml(format=COLLAPSED,childName="xf4")
-               public String[] getF4() {
-                       return f4;
-               }
-               public void setF4(String[] v) {
-                       f4 = v;
-               }
+               private String[] f4;
+               @Xml(format=COLLAPSED,childName="xf4") public String[] getF4() 
{ return f4; }
+               public void setF4(String[] v) { f4 = v; }
        }
 
        
//====================================================================================================
@@ -234,27 +218,15 @@ class XmlCollapsedTest extends SimpleTestBase {
 
        @Bean(properties="f1,f2")
        public static class E {
+               private ArrayList<String> f1;
+               @Xml(format=COLLAPSED) public ArrayList<String> getF1() { 
return f1; }
+               public void setF1(ArrayList<String> v) { f1 = v; }
 
-               private ArrayList<String> f1, f2;
-
-               @Xml(format=COLLAPSED)
-               public ArrayList<String> getF1() {
-                       return f1;
-               }
-               public void setF1(ArrayList<String> v) {
-                       f1 = v;
-               }
-
-               @Xml(format=COLLAPSED,childName="xf2")
-               public ArrayList<String> getF2() {
-                       return f2;
-               }
-               public void setF2(ArrayList<String> v) {
-                       f2 = v;
-               }
+               private ArrayList<String> f2;
+               @Xml(format=COLLAPSED,childName="xf2") public ArrayList<String> 
getF2() { return f2; }
+               public void setF2(ArrayList<String> v) { f2 = v; }
        }
 
-
        
//====================================================================================================
        // testElementNameOnElementClass - @Xml.format=COLLAPSED, element name 
defined on element class.
        
//====================================================================================================
@@ -279,9 +251,7 @@ class XmlCollapsedTest extends SimpleTestBase {
        }
 
        public static class FA {
-
-               @Xml(format=COLLAPSED)
-               public List<F1> f1;
+               @Xml(format=COLLAPSED) public List<F1> f1;
 
                public static FA newInstance() {
                        var t = new FA();
@@ -293,8 +263,7 @@ class XmlCollapsedTest extends SimpleTestBase {
        }
 
        public static class FB {
-               @Xml(format=COLLAPSED)
-               public F1[] f1;
+               @Xml(format=COLLAPSED) public F1[] f1;
 
                public static FB newInstance() {
                        var t = new FB();
@@ -308,9 +277,7 @@ class XmlCollapsedTest extends SimpleTestBase {
 
        @Bean(typeName="xf1")
        public static class F1 {
-
-               @Xml(format=TEXT)
-               public String text;
+               @Xml(format=TEXT) public String text;
 
                public static F1 newInstance(String text) {
                        var t = new F1();
@@ -340,9 +307,7 @@ class XmlCollapsedTest extends SimpleTestBase {
        }
 
        public static class G {
-
-               @Xml(format=COLLAPSED, childName="yf1")
-               public List<F1> f1;
+               @Xml(format=COLLAPSED, childName="yf1") public List<F1> f1;
 
                public static G newInstance() {
                        var t = new G();
@@ -373,9 +338,7 @@ class XmlCollapsedTest extends SimpleTestBase {
        }
 
        public static class H {
-
-               @Xml(format=COLLAPSED)
-               public H1 f1;
+               @Xml(format=COLLAPSED) public H1 f1;
 
                public static H newInstance() {
                        var t = new H();
@@ -411,9 +374,7 @@ class XmlCollapsedTest extends SimpleTestBase {
        }
 
        public static class I {
-
-               @Xml(format=COLLAPSED, childName="yf1")
-               public H1 f1;
+               @Xml(format=COLLAPSED, childName="yf1") public H1 f1;
 
                public static I newInstance() {
                        var t = new I();
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreComments_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreComments_Test.java
index 5be83abae..c79a0e8fd 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreComments_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreComments_Test.java
@@ -1179,16 +1179,8 @@ class XmlIgnoreComments_Test extends SimpleTestBase {
        @Bean(typeName="A")
        public static class A extends AA {
                private String a;
-
-               @Override
-               public String getA() {
-                       return a;
-               }
-
-               @Override
-               public void setA(String v) {
-                       a = v;
-               }
+               @Override public String getA() { return a; }
+               @Override public void setA(String v) { a = v; }
 
                A init() {
                        this.a = "foo";
diff --git a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
index 1d946de00..8d4fbdbfb 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
@@ -162,17 +162,14 @@ class XmlTest extends SimpleTestBase {
        @Bean(typeName="Person1", properties="name,age")
        public static class Person1 {
                public int age;
-               private String name;
                protected Person1(String name, int age) {
                        this.name = name;
                        this.age = age;
                }
-               public String getName() {
-                       return name;
-               }
-               public void setName(String v) {
-                       name = v;
-               }
+       
+               private String name;
+               public String getName() { return name; }
+               public void setName(String v) { name = v; }
        }
 
        
//====================================================================================================

Reply via email to