You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2020/05/21 19:15:24 UTC

[juneau] branch master updated: Rename BEAN_pojoSwaps to BEAN_swaps

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 53d732a  Rename BEAN_pojoSwaps to BEAN_swaps
53d732a is described below

commit 53d732a904f3447f0fac8f805e58859aacf72b14
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Thu May 21 15:15:03 2020 -0400

    Rename BEAN_pojoSwaps to BEAN_swaps
---
 .../apache/juneau/BeanConfigAnnotationTest.java    |  12 +-
 .../java/org/apache/juneau/BeanConfigTest.java     |   8 +-
 .../test/java/org/apache/juneau/ClassMetaTest.java |  82 +--
 .../java/org/apache/juneau/ComboRoundTripTest.java |   4 +-
 .../test/java/org/apache/juneau/PojoSwapTest.java  |   4 +-
 .../apache/juneau/a/rttests/RoundTripEnumTest.java |   2 +-
 .../apache/juneau/a/rttests/RoundTripMapsTest.java |  10 +-
 .../org/apache/juneau/a/rttests/RoundTripTest.java |  10 +-
 .../a/rttests/RoundTripTransformBeansTest.java     |  12 +-
 .../juneau/jsonschema/JsonSchemaGeneratorTest.java |   6 +-
 .../apache/juneau/pojotools/PojoSearcherTest.java  |   2 +-
 .../org/apache/juneau/transforms/BeanMapTest.java  |   6 +-
 .../transforms/ByteArrayBase64SwapComboTest.java   |   4 +-
 .../org/apache/juneau/transforms/DateSwapTest.java |   4 +-
 .../apache/juneau/transforms/DefaultSwapsTest.java |   4 +-
 .../juneau/transforms/EnumerationSwapTest.java     |   2 +-
 .../apache/juneau/transforms/IteratorSwapTest.java |   2 +-
 .../juneau/transforms/LocalizedDatesTest.java      |   2 +-
 .../org/apache/juneau/transforms/PojoSwapTest.java |   2 +-
 .../apache/juneau/transforms/ReaderFilterTest.java |  12 +-
 .../transforms/SwapsAnnotationComboTest.java       |   2 +-
 .../org/apache/juneau/utils/PojoQueryTest.java     |   4 +-
 .../org/apache/juneau/jena/RdfParserBuilder.java   |  20 +-
 .../org/apache/juneau/jena/RdfParserSession.java   |   2 +-
 .../apache/juneau/jena/RdfSerializerBuilder.java   |  20 +-
 .../apache/juneau/jena/RdfSerializerSession.java   |   2 +-
 .../main/java/org/apache/juneau/BeanContext.java   | 605 ++++++++-------------
 .../java/org/apache/juneau/BeanContextBuilder.java | 120 ++--
 .../src/main/java/org/apache/juneau/BeanMap.java   |   4 +-
 .../main/java/org/apache/juneau/BeanSession.java   |  25 +-
 .../org/apache/juneau/BeanTraverseBuilder.java     |  20 +-
 .../src/main/java/org/apache/juneau/ClassMeta.java |  36 +-
 .../java/org/apache/juneau/ContextBuilder.java     |  20 +-
 .../main/java/org/apache/juneau/PropertyStore.java |  24 +-
 .../org/apache/juneau/annotation/BeanConfig.java   |  89 ++-
 .../apache/juneau/annotation/BeanConfigApply.java  |   6 +
 .../org/apache/juneau/csv/CsvParserBuilder.java    |  20 +-
 .../apache/juneau/csv/CsvSerializerBuilder.java    |  20 +-
 .../juneau/html/HtmlDocSerializerBuilder.java      |  20 +-
 .../org/apache/juneau/html/HtmlParserBuilder.java  |  20 +-
 .../org/apache/juneau/html/HtmlParserSession.java  |   2 +-
 .../juneau/html/HtmlSchemaSerializerBuilder.java   |  20 +-
 .../apache/juneau/html/HtmlSerializerBuilder.java  |  20 +-
 .../apache/juneau/html/HtmlSerializerSession.java  |  10 +-
 .../html/HtmlStrippedDocSerializerBuilder.java     |  20 +-
 .../org/apache/juneau/jso/JsoParserBuilder.java    |  20 +-
 .../apache/juneau/jso/JsoSerializerBuilder.java    |  20 +-
 .../org/apache/juneau/json/JsonParserBuilder.java  |  20 +-
 .../org/apache/juneau/json/JsonParserSession.java  |   2 +-
 .../juneau/json/JsonSchemaSerializerBuilder.java   |  20 +-
 .../org/apache/juneau/json/JsonSerializer.java     |   2 +-
 .../apache/juneau/json/JsonSerializerBuilder.java  |  20 +-
 .../apache/juneau/json/JsonSerializerSession.java  |   2 +-
 .../juneau/json/SimpleJsonParserBuilder.java       |  20 +-
 .../juneau/json/SimpleJsonSerializerBuilder.java   |  20 +-
 .../jsonschema/JsonSchemaGeneratorBuilder.java     |  20 +-
 .../jsonschema/JsonSchemaGeneratorSession.java     |   2 +-
 .../juneau/msgpack/MsgPackParserBuilder.java       |  20 +-
 .../juneau/msgpack/MsgPackParserSession.java       |   2 +-
 .../juneau/msgpack/MsgPackSerializerBuilder.java   |  20 +-
 .../juneau/msgpack/MsgPackSerializerSession.java   |   2 +-
 .../apache/juneau/oapi/OpenApiParserBuilder.java   |  20 +-
 .../apache/juneau/oapi/OpenApiParserSession.java   |   2 +-
 .../juneau/oapi/OpenApiSerializerBuilder.java      |  20 +-
 .../juneau/oapi/OpenApiSerializerSession.java      |   2 +-
 .../juneau/parser/InputStreamParserBuilder.java    |  20 +-
 .../org/apache/juneau/parser/ParserBuilder.java    |  20 +-
 .../java/org/apache/juneau/parser/ParserGroup.java |   2 +-
 .../apache/juneau/parser/ParserGroupBuilder.java   |  20 +-
 .../org/apache/juneau/parser/ParserSession.java    |   2 +-
 .../apache/juneau/parser/ReaderParserBuilder.java  |  20 +-
 .../juneau/plaintext/PlainTextParserBuilder.java   |  20 +-
 .../plaintext/PlainTextSerializerBuilder.java      |  20 +-
 .../serializer/OutputStreamSerializerBuilder.java  |  20 +-
 .../juneau/serializer/SerializerBuilder.java       |  20 +-
 .../apache/juneau/serializer/SerializerGroup.java  |   2 +-
 .../juneau/serializer/SerializerGroupBuilder.java  |  20 +-
 .../juneau/serializer/SerializerSession.java       |   2 +-
 .../juneau/serializer/WriterSerializerBuilder.java |  20 +-
 .../juneau/soap/SoapXmlSerializerBuilder.java      |  20 +-
 .../java/org/apache/juneau/transform/MapSwap.java  |   2 +-
 .../java/org/apache/juneau/transform/PojoSwap.java |   9 +-
 .../org/apache/juneau/transform/StringSwap.java    |   2 +-
 .../org/apache/juneau/transform/Surrogate.java     |   6 +-
 .../org/apache/juneau/uon/UonParserBuilder.java    |  20 +-
 .../org/apache/juneau/uon/UonParserSession.java    |   2 +-
 .../apache/juneau/uon/UonSerializerBuilder.java    |  20 +-
 .../apache/juneau/uon/UonSerializerSession.java    |   2 +-
 .../urlencoding/UrlEncodingParserBuilder.java      |  20 +-
 .../urlencoding/UrlEncodingParserSession.java      |   2 +-
 .../urlencoding/UrlEncodingSerializerBuilder.java  |  20 +-
 .../urlencoding/UrlEncodingSerializerSession.java  |   2 +-
 .../org/apache/juneau/xml/XmlParserBuilder.java    |  20 +-
 .../org/apache/juneau/xml/XmlParserSession.java    |   2 +-
 .../apache/juneau/xml/XmlSerializerBuilder.java    |  20 +-
 .../apache/juneau/xml/XmlSerializerSession.java    |   2 +-
 .../xmlschema/XmlSchemaSerializerBuilder.java      |  18 -
 juneau-doc/docs/ReleaseNotes/8.1.4.html            |   1 +
 .../docs/Topics/02.juneau-marshall/09.Groups.html  |   4 +-
 .../10.ContextsBuildersSessionsPropertyStores.html |   6 +-
 .../Topics/02.juneau-marshall/11.Transforms.html   |   2 +-
 .../11.Transforms/01.PojoSwaps.html                |  14 +-
 .../11.Transforms/04.PerMediaTypePojoSwaps.html    |   6 +-
 .../11.Transforms/05.OneWayPojoSwaps.html          |   8 +-
 .../11.Transforms/06.SwapAnnotation.html           |   2 +-
 .../docs/Topics/04.juneau-dto/04.SwaggerUI.html    |  10 +-
 .../03.Instantiation/02.BasicRestServlet.html      |   2 +-
 .../03.Instantiation/03.BasicRest.html             |   2 +-
 .../06.juneau-rest-server/05.RestContext.html      |   4 +-
 .../06.juneau-rest-server/17.Transforms.html       |   8 +-
 .../29.Swagger/01.BasicRestServlet.html            |   2 +-
 juneau-doc/docs/Topics/09.juneau-rest-client.html  |   2 +-
 .../org/apache/juneau/examples/rest/TestUtils.java |   4 +-
 .../juneau/examples/rest/RequestEchoResource.java  |   2 +-
 .../juneau/rest/client/RestClientBuilder.java      |  18 -
 .../juneau/rest/client2/RestClientBuilder.java     |  88 +--
 .../apache/juneau/rest/mock2/MockRestClient.java   |  20 +-
 .../org/apache/juneau/rest/jaxrs/BaseProvider.java |   7 +-
 .../apache/juneau/rest/jaxrs/JuneauProvider.java   |  20 +-
 .../annotation2/RestResourcePojoSwapsTest.java     |  13 +-
 .../org/apache/juneau/rest/BasicRestMethods.java   |   2 +-
 .../main/java/org/apache/juneau/rest/Inherit.java  |   2 +-
 .../src/main/java/org/apache/juneau/rest/None.java |   2 +-
 .../org/apache/juneau/rest/RestContextBuilder.java |  24 +-
 .../juneau/rest/RestMethodContextBuilder.java      |  20 +-
 .../apache/juneau/rest/annotation/RestMethod.java  |   4 +-
 .../juneau/rest/annotation/RestResource.java       |   2 +-
 .../rest/annotation/RestResourceConfigApply.java   |   2 +-
 .../juneau/rest/converters/Introspectable.java     |   2 +-
 .../apache/juneau/rest/converters/Traversable.java |   2 +-
 130 files changed, 1112 insertions(+), 1189 deletions(-)

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigAnnotationTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigAnnotationTest.java
index 70c3a0c..b454c73 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigAnnotationTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigAnnotationTest.java
@@ -147,9 +147,9 @@ public class BeanConfigAnnotationTest {
 		notBeanPackages={"$X{foo1}","$X{foo2}"},
 		notBeanPackages_replace={"$X{foo1}","$X{foo2}","$X{foo3}"},
 		notBeanPackages_remove={"$X{foo2}"},
-		pojoSwaps={AB1.class,AB2.class},
-		pojoSwaps_replace={AB1.class,AB2.class,AB3.class},
-		pojoSwaps_remove=AB2.class,
+		swaps={AB1.class,AB2.class},
+		swaps_replace={AB1.class,AB2.class,AB3.class},
+		swaps_remove=AB2.class,
 		propertyNamer=PropertyNamerULC.class,
 		sortProperties="$X{true}",
 		timeZone="$X{z}",
@@ -194,7 +194,7 @@ public class BeanConfigAnnotationTest {
 		check("application/json", bc.getMediaType());
 		check("A1,A3", bc.getNotBeanClasses());
 		check("foo1,foo3", bc.getNotBeanPackagesNames());
-		check("AB1<String,Integer>,AB3<String,Integer>", bc.getPojoSwaps());
+		check("AB1<String,Integer>,AB3<String,Integer>", bc.getSwaps());
 		check("PropertyNamerULC", bc.getPropertyNamer());
 		check("true", bc.isSortProperties());
 		check("GMT", bc.getTimeZone());
@@ -247,7 +247,7 @@ public class BeanConfigAnnotationTest {
 		check("100", bc.getMaxDepth());
 		check(null, bc.getMediaType());
 		check("java.lang,java.lang.annotation,java.lang.ref,java.lang.reflect,java.io,java.net", bc.getNotBeanPackagesNames());
-		check("", bc.getPojoSwaps());
+		check("", bc.getSwaps());
 		check("PropertyNamerDefault", bc.getPropertyNamer());
 		check("false", bc.isSortProperties());
 		check(null, bc.getTimeZone());
@@ -299,7 +299,7 @@ public class BeanConfigAnnotationTest {
 		check("100", bc.getMaxDepth());
 		check(null, bc.getMediaType());
 		check("java.lang,java.lang.annotation,java.lang.ref,java.lang.reflect,java.io,java.net", bc.getNotBeanPackagesNames());
-		check("", bc.getPojoSwaps());
+		check("", bc.getSwaps());
 		check("PropertyNamerDefault", bc.getPropertyNamer());
 		check("false", bc.isSortProperties());
 		check(null, bc.getTimeZone());
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
index 73c67d1..af48eb9 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
@@ -759,12 +759,12 @@ public class BeanConfigTest {
 		p2.notBeanPackagesRemove("bar");
 		assertSameCache(p1, p2);
 
-		p1.pojoSwaps(DummyPojoSwapA.class);
+		p1.swaps(DummyPojoSwapA.class);
 		assertDifferentCache(p1, p2);
-		p2.pojoSwaps(DummyPojoSwapA.class);
+		p2.swaps(DummyPojoSwapA.class);
 		assertSameCache(p1, p2);
-		p1.pojoSwaps(DummyPojoSwapB.class,DummyPojoSwapC.class);  // Order of filters is important!
-		p2.pojoSwaps(DummyPojoSwapC.class,DummyPojoSwapB.class);
+		p1.swaps(DummyPojoSwapB.class,DummyPojoSwapC.class);  // Order of filters is important!
+		p2.swaps(DummyPojoSwapC.class,DummyPojoSwapB.class);
 		assertDifferentCache(p1, p2);
 
 		p1 = JsonParser.create();
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/ClassMetaTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/ClassMetaTest.java
index 26f2657..8aa8590 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/ClassMetaTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/ClassMetaTest.java
@@ -128,18 +128,18 @@ public class ClassMetaTest {
 		assertFalse(hc1.hasChildPojoSwaps());
 		assertFalse(hi2.hasChildPojoSwaps());
 		assertFalse(hc2.hasChildPojoSwaps());
-		assertNull(ooo.getPojoSwap(bs));
-		assertNull(hi1.getPojoSwap(bs));
-		assertNull(hc1.getPojoSwap(bs));
-		assertNull(hi2.getPojoSwap(bs));
-		assertNull(hc2.getPojoSwap(bs));
+		assertNull(ooo.getSwap(bs));
+		assertNull(hi1.getSwap(bs));
+		assertNull(hc1.getSwap(bs));
+		assertNull(hi2.getSwap(bs));
+		assertNull(hc2.getSwap(bs));
 		assertEquals(ooo.getSerializedClassMeta(bs).getInnerClass(), Object.class);
 		assertEquals(hi1.getSerializedClassMeta(bs).getInnerClass(), HI1.class);
 		assertEquals(hc1.getSerializedClassMeta(bs).getInnerClass(), HC1.class);
 		assertEquals(hi2.getSerializedClassMeta(bs).getInnerClass(), HI2.class);
 		assertEquals(hc2.getSerializedClassMeta(bs).getInnerClass(), HC2.class);
 
-		bc = BeanContext.create().pojoSwaps(HI1Swap.class).build();
+		bc = BeanContext.create().swaps(HI1Swap.class).build();
 		bs = bc.createSession();
 		ooo = bc.getClassMeta(Object.class);
 		hi1 = bc.getClassMeta(HI1.class);
@@ -151,18 +151,18 @@ public class ClassMetaTest {
 		assertFalse(hc1.hasChildPojoSwaps());
 		assertFalse(hi2.hasChildPojoSwaps());
 		assertFalse(hc2.hasChildPojoSwaps());
-		assertNull(ooo.getPojoSwap(bs));
-		assertEquals(hi1.getPojoSwap(bs).getClass(), HI1Swap.class);
-		assertEquals(hc1.getPojoSwap(bs).getClass(), HI1Swap.class);
-		assertEquals(hi2.getPojoSwap(bs).getClass(), HI1Swap.class);
-		assertEquals(hc2.getPojoSwap(bs).getClass(), HI1Swap.class);
+		assertNull(ooo.getSwap(bs));
+		assertEquals(hi1.getSwap(bs).getClass(), HI1Swap.class);
+		assertEquals(hc1.getSwap(bs).getClass(), HI1Swap.class);
+		assertEquals(hi2.getSwap(bs).getClass(), HI1Swap.class);
+		assertEquals(hc2.getSwap(bs).getClass(), HI1Swap.class);
 		assertEquals(ooo.getSerializedClassMeta(bs).getInnerClass(), Object.class);
 		assertEquals(hi1.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hc1.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hi2.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hc2.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 
-		bc = BeanContext.create().pojoSwaps(HC1Swap.class).build();
+		bc = BeanContext.create().swaps(HC1Swap.class).build();
 		bs = bc.createSession();
 		ooo = bc.getClassMeta(Object.class);
 		hi1 = bc.getClassMeta(HI1.class);
@@ -174,18 +174,18 @@ public class ClassMetaTest {
 		assertTrue(hc1.hasChildPojoSwaps());
 		assertFalse(hi2.hasChildPojoSwaps());
 		assertFalse(hc2.hasChildPojoSwaps());
-		assertNull(ooo.getPojoSwap(bs));
-		assertNull(hi1.getPojoSwap(bs));
-		assertEquals(hc1.getPojoSwap(bs).getClass(), HC1Swap.class);
-		assertNull(hi2.getPojoSwap(bs));
-		assertEquals(hc2.getPojoSwap(bs).getClass(), HC1Swap.class);
+		assertNull(ooo.getSwap(bs));
+		assertNull(hi1.getSwap(bs));
+		assertEquals(hc1.getSwap(bs).getClass(), HC1Swap.class);
+		assertNull(hi2.getSwap(bs));
+		assertEquals(hc2.getSwap(bs).getClass(), HC1Swap.class);
 		assertEquals(ooo.getSerializedClassMeta(bs).getInnerClass(), Object.class);
 		assertEquals(hi1.getSerializedClassMeta(bs).getInnerClass(), HI1.class);
 		assertEquals(hc1.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hi2.getSerializedClassMeta(bs).getInnerClass(), HI2.class);
 		assertEquals(hc2.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 
-		bc = BeanContext.create().pojoSwaps(HI2Swap.class).build();
+		bc = BeanContext.create().swaps(HI2Swap.class).build();
 		bs = bc.createSession();
 		ooo = bc.getClassMeta(Object.class);
 		hi1 = bc.getClassMeta(HI1.class);
@@ -197,18 +197,18 @@ public class ClassMetaTest {
 		assertFalse(hc1.hasChildPojoSwaps());
 		assertTrue(hi2.hasChildPojoSwaps());
 		assertFalse(hc2.hasChildPojoSwaps());
-		assertNull(ooo.getPojoSwap(bs));
-		assertNull(hi1.getPojoSwap(bs));
-		assertNull(hc1.getPojoSwap(bs));
-		assertEquals(hi2.getPojoSwap(bs).getClass(), HI2Swap.class);
-		assertEquals(hc2.getPojoSwap(bs).getClass(), HI2Swap.class);
+		assertNull(ooo.getSwap(bs));
+		assertNull(hi1.getSwap(bs));
+		assertNull(hc1.getSwap(bs));
+		assertEquals(hi2.getSwap(bs).getClass(), HI2Swap.class);
+		assertEquals(hc2.getSwap(bs).getClass(), HI2Swap.class);
 		assertEquals(ooo.getSerializedClassMeta(bs).getInnerClass(), Object.class);
 		assertEquals(hi1.getSerializedClassMeta(bs).getInnerClass(), HI1.class);
 		assertEquals(hc1.getSerializedClassMeta(bs).getInnerClass(), HC1.class);
 		assertEquals(hi2.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hc2.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 
-		bc = BeanContext.create().pojoSwaps(HC2Swap.class).build();
+		bc = BeanContext.create().swaps(HC2Swap.class).build();
 		bs = bc.createSession();
 		ooo = bc.getClassMeta(Object.class);
 		hi1 = bc.getClassMeta(HI1.class);
@@ -220,18 +220,18 @@ public class ClassMetaTest {
 		assertTrue(hc1.hasChildPojoSwaps());
 		assertTrue(hi2.hasChildPojoSwaps());
 		assertTrue(hc2.hasChildPojoSwaps());
-		assertNull(ooo.getPojoSwap(bs));
-		assertNull(hi1.getPojoSwap(bs));
-		assertNull(hc1.getPojoSwap(bs));
-		assertNull(hi2.getPojoSwap(bs));
-		assertEquals(hc2.getPojoSwap(bs).getClass(), HC2Swap.class);
+		assertNull(ooo.getSwap(bs));
+		assertNull(hi1.getSwap(bs));
+		assertNull(hc1.getSwap(bs));
+		assertNull(hi2.getSwap(bs));
+		assertEquals(hc2.getSwap(bs).getClass(), HC2Swap.class);
 		assertEquals(ooo.getSerializedClassMeta(bs).getInnerClass(), Object.class);
 		assertEquals(hi1.getSerializedClassMeta(bs).getInnerClass(), HI1.class);
 		assertEquals(hc1.getSerializedClassMeta(bs).getInnerClass(), HC1.class);
 		assertEquals(hi2.getSerializedClassMeta(bs).getInnerClass(), HI2.class);
 		assertEquals(hc2.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 
-		bc = BeanContext.create().pojoSwaps(HI1Swap.class,HC1Swap.class,HI2Swap.class, HC2Swap.class).build();
+		bc = BeanContext.create().swaps(HI1Swap.class,HC1Swap.class,HI2Swap.class, HC2Swap.class).build();
 		bs = bc.createSession();
 		ooo = bc.getClassMeta(Object.class);
 		hi1 = bc.getClassMeta(HI1.class);
@@ -243,18 +243,18 @@ public class ClassMetaTest {
 		assertTrue(hc1.hasChildPojoSwaps());
 		assertTrue(hi2.hasChildPojoSwaps());
 		assertTrue(hc2.hasChildPojoSwaps());
-		assertNull(ooo.getPojoSwap(bs));
-		assertEquals(hi1.getPojoSwap(bs).getClass(), HI1Swap.class);
-		assertEquals(hc1.getPojoSwap(bs).getClass(), HI1Swap.class);
-		assertEquals(hi2.getPojoSwap(bs).getClass(), HI1Swap.class);
-		assertEquals(hc2.getPojoSwap(bs).getClass(), HI1Swap.class);
+		assertNull(ooo.getSwap(bs));
+		assertEquals(hi1.getSwap(bs).getClass(), HI1Swap.class);
+		assertEquals(hc1.getSwap(bs).getClass(), HI1Swap.class);
+		assertEquals(hi2.getSwap(bs).getClass(), HI1Swap.class);
+		assertEquals(hc2.getSwap(bs).getClass(), HI1Swap.class);
 		assertEquals(ooo.getSerializedClassMeta(bs).getInnerClass(), Object.class);
 		assertEquals(hi1.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hc1.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hi2.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hc2.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 
-		bc = BeanContext.create().pojoSwaps(HC2Swap.class,HI2Swap.class,HC1Swap.class, HI1Swap.class).build();
+		bc = BeanContext.create().swaps(HC2Swap.class,HI2Swap.class,HC1Swap.class, HI1Swap.class).build();
 		bs = bc.createSession();
 		ooo = bc.getClassMeta(Object.class);
 		hi1 = bc.getClassMeta(HI1.class);
@@ -266,11 +266,11 @@ public class ClassMetaTest {
 		assertTrue(hc1.hasChildPojoSwaps());
 		assertTrue(hi2.hasChildPojoSwaps());
 		assertTrue(hc2.hasChildPojoSwaps());
-		assertNull(ooo.getPojoSwap(bs));
-		assertEquals(hi1.getPojoSwap(bs).getClass(), HI1Swap.class);
-		assertEquals(hc1.getPojoSwap(bs).getClass(), HC1Swap.class);
-		assertEquals(hi2.getPojoSwap(bs).getClass(), HI2Swap.class);
-		assertEquals(hc2.getPojoSwap(bs).getClass(), HC2Swap.class);
+		assertNull(ooo.getSwap(bs));
+		assertEquals(hi1.getSwap(bs).getClass(), HI1Swap.class);
+		assertEquals(hc1.getSwap(bs).getClass(), HC1Swap.class);
+		assertEquals(hi2.getSwap(bs).getClass(), HI2Swap.class);
+		assertEquals(hc2.getSwap(bs).getClass(), HC2Swap.class);
 		assertEquals(ooo.getSerializedClassMeta(bs).getInnerClass(), Object.class);
 		assertEquals(hi1.getSerializedClassMeta(bs).getInnerClass(), Map.class);
 		assertEquals(hc1.getSerializedClassMeta(bs).getInnerClass(), Map.class);
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/ComboRoundTripTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/ComboRoundTripTest.java
index 9a2330d..c502bd4 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/ComboRoundTripTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/ComboRoundTripTest.java
@@ -52,7 +52,7 @@ public abstract class ComboRoundTripTest {
 		if (s2 == null) {
 			s2 = applySettings(s);
 			if (! comboInput.swaps.isEmpty())
-				s2 = s2.builder().pojoSwaps(comboInput.swaps.toArray()).build();
+				s2 = s2.builder().swaps(comboInput.swaps.toArray()).build();
 			serializerMap.put(s, s2);
 		}
 		return s2;
@@ -63,7 +63,7 @@ public abstract class ComboRoundTripTest {
 		if (p2 == null) {
 			p2 = applySettings(p);
 			if (! comboInput.swaps.isEmpty())
-				p2 = p2.builder().pojoSwaps(comboInput.swaps.toArray()).build();
+				p2 = p2.builder().swaps(comboInput.swaps.toArray()).build();
 			parserMap.put(p, p2);
 		}
 		return p2;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/PojoSwapTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/PojoSwapTest.java
index b4ef17d..34439da 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/PojoSwapTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/PojoSwapTest.java
@@ -29,8 +29,8 @@ public class PojoSwapTest {
 	//====================================================================================================
 	@Test
 	public void testSameType() throws Exception {
-		JsonSerializer s = JsonSerializer.create().ssq().pojoSwaps(ASwap.class).build();
-		JsonParser p = JsonParser.create().pojoSwaps(ASwap.class).build();
+		JsonSerializer s = JsonSerializer.create().ssq().swaps(ASwap.class).build();
+		JsonParser p = JsonParser.create().swaps(ASwap.class).build();
 		String r;
 
 		r = s.serialize("foobar");
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripEnumTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripEnumTest.java
index 6163e90..55782a4 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripEnumTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripEnumTest.java
@@ -46,7 +46,7 @@ public class RoundTripEnumTest extends RoundTripTest {
 
 	@Test
 	public void testEnumB() throws Exception {
-		WriterSerializer s = JsonSerializer.create().ssq().beanFilters(getBeanFilters()).pojoSwaps(getPojoSwaps()).build();
+		WriterSerializer s = JsonSerializer.create().ssq().beanFilters(getBeanFilters()).swaps(getPojoSwaps()).build();
 		BEnum t = BEnum.FOO;
 		assertEquals("'xfoo'", s.serialize(t));
 		t = roundTrip(t, BEnum.class);
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
index 72c2943..51a27bd 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
@@ -105,27 +105,27 @@ public class RoundTripMapsTest extends RoundTripTest {
 		t.put(new byte[]{4,5,6}, null);
 		t.put(null, "b");
 
-		s = JsonSerializer.create().ssq().pojoSwaps(getPojoSwaps()).keepNullProperties().build();
+		s = JsonSerializer.create().ssq().swaps(getPojoSwaps()).keepNullProperties().build();
 		e = "{AQID:'a',BAUG:null,null:'b'}";
 		r = s.serialize(t);
 		assertEquals(e, r);
 
-		s = XmlSerializer.create().ns().sq().pojoSwaps(getPojoSwaps()).keepNullProperties().build();
+		s = XmlSerializer.create().ns().sq().swaps(getPojoSwaps()).keepNullProperties().build();
 		e = "<object><AQID>a</AQID><BAUG _type='null'/><_x0000_>b</_x0000_></object>";
 		r = s.serialize(t);
 		assertEquals(e, r);
 
-		s = HtmlSerializer.create().sq().pojoSwaps(getPojoSwaps()).keepNullProperties().addKeyValueTableHeaders().build();
+		s = HtmlSerializer.create().sq().swaps(getPojoSwaps()).keepNullProperties().addKeyValueTableHeaders().build();
 		e = "<table><tr><th>key</th><th>value</th></tr><tr><td>AQID</td><td>a</td></tr><tr><td>BAUG</td><td><null/></td></tr><tr><td><null/></td><td>b</td></tr></table>";
 		r = s.serialize(t);
 		assertEquals(e, r);
 
-		s = UonSerializer.create().encoding().pojoSwaps(getPojoSwaps()).keepNullProperties().build();
+		s = UonSerializer.create().encoding().swaps(getPojoSwaps()).keepNullProperties().build();
 		e = "(AQID=a,BAUG=null,null=b)";
 		r = s.serialize(t);
 		assertEquals(e, r);
 
-		s = UrlEncodingSerializer.create().pojoSwaps(getPojoSwaps()).trimNullProperties(false).build();
+		s = UrlEncodingSerializer.create().swaps(getPojoSwaps()).trimNullProperties(false).build();
 		e = "AQID=a&BAUG=null&null=b";
 		r = s.serialize(t);
 		assertEquals(e, r);
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
index 45c8440..178f518 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
@@ -198,8 +198,8 @@ public abstract class RoundTripTest {
 					p.implClass(e.getKey(), e.getValue());
 			}
 		}
-		this.s = s.beanFilters(getBeanFilters()).pojoSwaps(getPojoSwaps()).dictionary((Object[])getDictionary()).add(getProperties()).build();
-		this.p = p == null ? null : p.beanFilters(getBeanFilters()).pojoSwaps(getPojoSwaps()).dictionary((Object[])getDictionary()).add(getProperties()).build();
+		this.s = s.beanFilters(getBeanFilters()).swaps(getPojoSwaps()).dictionary((Object[])getDictionary()).add(getProperties()).build();
+		this.p = p == null ? null : p.beanFilters(getBeanFilters()).swaps(getPojoSwaps()).dictionary((Object[])getDictionary()).add(getProperties()).build();
 		this.validateXmlWhitespace = (flags & CHECK_XML_WHITESPACE) > 0;
 		this.validateXml = (flags & VALIDATE_XML) > 0;
 		this.returnOriginalObject = (flags & RETURN_ORIGINAL_OBJECT) > 0;
@@ -260,10 +260,10 @@ public abstract class RoundTripTest {
 			p = p.builder().beanFilters(c).build();
 	}
 
-	protected void pojoSwaps(Object...c) {
-		s = s.builder().pojoSwaps(c).build();
+	protected void swaps(Object...c) {
+		s = s.builder().swaps(c).build();
 		if (p != null)
-			p = p.builder().pojoSwaps(c).build();
+			p = p.builder().swaps(c).build();
 	}
 
 	protected void dictionary(Object...c) {
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
index 329ed14..6816128 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
@@ -52,7 +52,7 @@ public class RoundTripTransformBeansTest extends RoundTripTest {
 		Object[] f = {
 			ByteArraySwap.Base64.class
 		};
-		pojoSwaps(f);
+		swaps(f);
 		A t = new A().init();
 		t = roundTrip(t, A.class);
 
@@ -154,7 +154,7 @@ public class RoundTripTransformBeansTest extends RoundTripTest {
 		Object[] f = {
 			ByteArraySwap.Base64.class
 		};
-		pojoSwaps(f);
+		swaps(f);
 		A t = new A().init();
 		t = roundTrip(t, A.class);
 
@@ -199,7 +199,7 @@ public class RoundTripTransformBeansTest extends RoundTripTest {
 	}
 
 	//====================================================================================================
-	// testSwaps - Bean.pojoSwaps annotation
+	// swaps - Bean.swaps annotation
 	//====================================================================================================
 	@Test
 	public void testSwaps() throws Exception {
@@ -341,10 +341,10 @@ public class RoundTripTransformBeansTest extends RoundTripTest {
 	//====================================================================================================
 	@Test
 	public void testSurrogates() throws Exception {
-		pojoSwaps(D2.class);
+		swaps(D2.class);
 
-		JsonSerializer s = JsonSerializer.create().ssq().pojoSwaps(D2.class).build();
-		JsonParser p = JsonParser.create().pojoSwaps(D2.class).build();
+		JsonSerializer s = JsonSerializer.create().ssq().swaps(D2.class).build();
+		JsonParser p = JsonParser.create().swaps(D2.class).build();
 		Object r;
 		D1 x = D1.create();
 
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
index f6bdca8..eb70654 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
@@ -1346,7 +1346,7 @@ public class JsonSchemaGeneratorTest {
 	@Test
 	public void swaps_int() throws Exception {
 		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder()
-			.pojoSwaps(IntSwap.class)
+			.swaps(IntSwap.class)
 			.build().createSession();
 		assertObjectEquals("{type:'integer',format:'int32'}", s.getSchema(SimpleBean.class));
 		assertObjectEquals("{type:'array',items:{type:'integer',format:'int32'}}", s.getSchema(BeanList.class));
@@ -1466,7 +1466,7 @@ public class JsonSchemaGeneratorTest {
 	@Test
 	public void jsonschema_onpojoswap() throws Exception {
 		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder()
-			.pojoSwaps(SwapWithAnnotation.class)
+			.swaps(SwapWithAnnotation.class)
 			.build().createSession();
 		assertObjectEquals("{description:'baz',format:'bar',type:'foo','x-example':'123'}", s.getSchema(SimpleBean.class));
 		assertObjectEquals("{type:'array',items:{description:'baz',format:'bar',type:'foo','x-example':'123'}}", s.getSchema(BeanList.class));
@@ -1479,7 +1479,7 @@ public class JsonSchemaGeneratorTest {
 	@Test
 	public void jsonschema_onpojoswap_usingConfig() throws Exception {
 		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(SwapWithAnnotation2.class)
-			.pojoSwaps(SwapWithAnnotation2.class)
+			.swaps(SwapWithAnnotation2.class)
 			.build().createSession();
 		assertObjectEquals("{description:'baz',format:'bar',type:'foo','x-example':'123'}", s.getSchema(SimpleBean.class));
 		assertObjectEquals("{type:'array',items:{description:'baz',format:'bar',type:'foo','x-example':'123'}}", s.getSchema(BeanList.class));
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/pojotools/PojoSearcherTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/pojotools/PojoSearcherTest.java
index 1344c99..8fd15aa 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/pojotools/PojoSearcherTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/pojotools/PojoSearcherTest.java
@@ -32,7 +32,7 @@ public class PojoSearcherTest {
 
 	private static BeanSession bs = BeanContext.DEFAULT.createSession();
 	private static PojoSearcher ps = PojoSearcher.DEFAULT;
-	private static WriterSerializer ws = JsonSerializer.create().ssq().pojoSwaps(TemporalCalendarSwap.IsoLocalDateTime.class).build();
+	private static WriterSerializer ws = JsonSerializer.create().ssq().swaps(TemporalCalendarSwap.IsoLocalDateTime.class).build();
 
 	//-----------------------------------------------------------------------------------------------------------------
 	// Utility
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BeanMapTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BeanMapTest.java
index 58b5726..c0f7c43 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BeanMapTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BeanMapTest.java
@@ -26,7 +26,7 @@ public class BeanMapTest {
 	//====================================================================================================
 	@Test
 	public void testFilteredEntry() throws Exception {
-		BeanSession session = BeanContext.create().pojoSwaps(ByteArraySwap.Base64.class).build().createSession();
+		BeanSession session = BeanContext.create().swaps(ByteArraySwap.Base64.class).build().createSession();
 		BeanMap<A> m = session.toBeanMap(new A());
 
 		assertEquals("AQID", m.get("f1"));
@@ -48,12 +48,12 @@ public class BeanMapTest {
 	//====================================================================================================
 	@Test
 	public void testFilteredEntryWithMultipleMatchingFilters() throws Exception {
-		BeanSession session = BeanContext.create().pojoSwaps(B2Swap.class, B1Swap.class).build().createSession();
+		BeanSession session = BeanContext.create().swaps(B2Swap.class, B1Swap.class).build().createSession();
 		BeanMap<B> bm = session.toBeanMap(B.create());
 		OMap om = (OMap)bm.get("b1");
 		assertEquals("b2", om.getString("type"));
 
-		session = BeanContext.create().pojoSwaps(B1Swap.class, B2Swap.class).build().createSession();
+		session = BeanContext.create().swaps(B1Swap.class, B2Swap.class).build().createSession();
 		bm = session.toBeanMap(B.create());
 		om = (OMap)bm.get("b1");
 		assertEquals("b1", om.getString("type"));
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapComboTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapComboTest.java
index 9b122dc..3d64751 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapComboTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapComboTest.java
@@ -361,12 +361,12 @@ public class ByteArrayBase64SwapComboTest extends ComboRoundTripTest {
 
 	@Override
 	protected Serializer applySettings(Serializer s) throws Exception {
-		return s.builder().pojoSwaps(ByteArraySwap.Base64.class).keepNullProperties().build();
+		return s.builder().swaps(ByteArraySwap.Base64.class).keepNullProperties().build();
 	}
 
 	@Override
 	protected Parser applySettings(Parser p) throws Exception {
-		return p.builder().pojoSwaps(ByteArraySwap.Base64.class).build();
+		return p.builder().swaps(ByteArraySwap.Base64.class).build();
 	}
 
 	public static class BeanWithByteArrayField {
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/DateSwapTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/DateSwapTest.java
index be75885..9263f0f 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/DateSwapTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/DateSwapTest.java
@@ -40,11 +40,11 @@ public class DateSwapTest {
 		A testBeanA = new A().init();
 
 		final String jsonData = JsonSerializer.create()
-			.pojoSwaps(DateSwap.ISO8601DT.class)
+			.swaps(DateSwap.ISO8601DT.class)
 			.build()
 			.serialize(testBeanA);
 		final OMap data = JsonParser.create()
-			.pojoSwaps(DateSwap.ISO8601DT.class)
+			.swaps(DateSwap.ISO8601DT.class)
 			.build()
 			.parse(jsonData, OMap.class);
 
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/DefaultSwapsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/DefaultSwapsTest.java
index 85eaa01..5ff8cbf 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/DefaultSwapsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/DefaultSwapsTest.java
@@ -60,11 +60,11 @@ public class DefaultSwapsTest {
 	}
 
 	private void test(String expected, Object o, PojoSwap<?,?> swap) throws Exception {
-		assertEquals(expected, SERIALIZER.builder().pojoSwaps(swap).build().serializeToString(o));
+		assertEquals(expected, SERIALIZER.builder().swaps(swap).build().serializeToString(o));
 	}
 
 	private void test(String expected, Object o, PojoSwap<?,?> swap, Class<?> configClass) throws Exception {
-		assertEquals(expected, SERIALIZER.builder().pojoSwaps(swap).applyAnnotations(configClass).build().serializeToString(o));
+		assertEquals(expected, SERIALIZER.builder().swaps(swap).applyAnnotations(configClass).build().serializeToString(o));
 	}
 
 	//------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
index 68bb6c3..809dafd 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
@@ -27,7 +27,7 @@ public class EnumerationSwapTest {
 	//====================================================================================================
 	@Test
 	public void test() throws Exception {
-		WriterSerializer s = JsonSerializer.create().ssq().pojoSwaps(EnumerationSwap.class).build();
+		WriterSerializer s = JsonSerializer.create().ssq().swaps(EnumerationSwap.class).build();
 		Vector<String> v = new Vector<>(Arrays.asList(new String[]{"foo","bar","baz"}));
 		Enumeration<String> e = v.elements();
 		assertEquals("['foo','bar','baz']", s.serialize(e));
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
index cda7d48..c0d9af3 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
@@ -27,7 +27,7 @@ public class IteratorSwapTest {
 	//====================================================================================================
 	@Test
 	public void test() throws Exception {
-		WriterSerializer s = JsonSerializer.create().ssq().pojoSwaps(IteratorSwap.class).build();
+		WriterSerializer s = JsonSerializer.create().ssq().swaps(IteratorSwap.class).build();
 
 		// Iterators
 		List<String> l = new ArrayList<>(Arrays.asList(new String[]{"foo","bar","baz"}));
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/LocalizedDatesTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/LocalizedDatesTest.java
index ee217f7..b32037b 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/LocalizedDatesTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/LocalizedDatesTest.java
@@ -638,7 +638,7 @@ public class LocalizedDatesTest {
 		this.sessionLocale = sessionLocale;
 		this.sessionTimeZone = sessionTimeZone;
 		BeanContextBuilder bcb = BeanContext.create();
-		bcb.pojoSwaps(swap);
+		bcb.swaps(swap);
 		if (contextLocale != null)
 			bcb.set(BEAN_locale, contextLocale);
 		if (contextTimeZone != null)
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
index 263765b..b8d169e 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/PojoSwapTest.java
@@ -75,7 +75,7 @@ public class PojoSwapTest {
 		SerializerGroup g = SerializerGroup.create()
 			.append(JsonSerializer.class, XmlSerializer.class, HtmlSerializer.class)
 			.sq()
-			.pojoSwaps(MyJsonSwap.class, MyXmlSwap.class, MyOtherSwap.class)
+			.swaps(MyJsonSwap.class, MyXmlSwap.class, MyOtherSwap.class)
 			.build();
 
 		MyPojo myPojo = new MyPojo();
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
index 2e69219..2957b0a 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
@@ -32,7 +32,7 @@ public class ReaderFilterTest {
 	//====================================================================================================
 	@Test
 	public void testJson() throws Exception {
-		JsonSerializer s = JsonSerializer.create().ssq().pojoSwaps(ParsedReaderSwap.Json.class).build();
+		JsonSerializer s = JsonSerializer.create().ssq().swaps(ParsedReaderSwap.Json.class).build();
 
 		Reader r;
 		Map<String,Object> m;
@@ -48,7 +48,7 @@ public class ReaderFilterTest {
 	//====================================================================================================
 	@Test
 	public void testXml() throws Exception {
-		XmlSerializer s = XmlSerializer.create().sq().pojoSwaps(ParsedReaderSwap.Xml.class).build();
+		XmlSerializer s = XmlSerializer.create().sq().swaps(ParsedReaderSwap.Xml.class).build();
 
 		Reader r;
 		Map<String,Object> m;
@@ -64,7 +64,7 @@ public class ReaderFilterTest {
 	//====================================================================================================
 	@Test
 	public void testHtml() throws Exception {
-		HtmlSerializer s = HtmlSerializer.create().sq().pojoSwaps(ParsedReaderSwap.Html.class).build();
+		HtmlSerializer s = HtmlSerializer.create().sq().swaps(ParsedReaderSwap.Html.class).build();
 
 		Reader r;
 		Map<String,Object> m;
@@ -80,7 +80,7 @@ public class ReaderFilterTest {
 	//====================================================================================================
 	@Test
 	public void testPlainText() throws Exception {
-		PlainTextSerializer s = PlainTextSerializer.create().pojoSwaps(ParsedReaderSwap.PlainText.class).build();
+		PlainTextSerializer s = PlainTextSerializer.create().swaps(ParsedReaderSwap.PlainText.class).build();
 
 		Reader r;
 		Map<String,Object> m;
@@ -96,7 +96,7 @@ public class ReaderFilterTest {
 	//====================================================================================================
 	@Test
 	public void testUon() throws Exception {
-		UonSerializer s = UonSerializer.create().pojoSwaps(ParsedReaderSwap.Uon.class).build();
+		UonSerializer s = UonSerializer.create().swaps(ParsedReaderSwap.Uon.class).build();
 
 		Reader r;
 		Map<String,Object> m;
@@ -112,7 +112,7 @@ public class ReaderFilterTest {
 	//====================================================================================================
 	@Test
 	public void testUrlEncoding() throws Exception {
-		UrlEncodingSerializer s = UrlEncodingSerializer.create().pojoSwaps(ParsedReaderSwap.PlainText.class).build();
+		UrlEncodingSerializer s = UrlEncodingSerializer.create().swaps(ParsedReaderSwap.PlainText.class).build();
 
 		Reader r;
 		Map<String,Object> m;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/SwapsAnnotationComboTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/SwapsAnnotationComboTest.java
index 493a14f..4e4a92a 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/SwapsAnnotationComboTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/SwapsAnnotationComboTest.java
@@ -495,7 +495,7 @@ public class SwapsAnnotationComboTest extends ComboSerializeTest {
 
 	@Override
 	protected Serializer applySettings(Serializer s) throws Exception {
-		return s.builder().pojoSwaps(
+		return s.builder().swaps(
 				ContextSwap.class,
 				ContextSwapJson.class,
 				ContextSwapXml.class,
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/PojoQueryTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
index 249d6a1..9900457 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
@@ -72,7 +72,7 @@ public class PojoQueryTest {
 	@Test
 	public void testFilterCollectionDateSearchOneLevel() throws Exception {
 		BeanSession session = BeanContext.DEFAULT.createSession();
-		WriterSerializer s = JsonSerializer.create().ssq().pojoSwaps(TemporalCalendarSwap.IsoLocalDateTime.class).build();
+		WriterSerializer s = JsonSerializer.create().ssq().swaps(TemporalCalendarSwap.IsoLocalDateTime.class).build();
 		B[] in;
 		PojoQuery q;
 		SearchArgs sa;
@@ -349,7 +349,7 @@ public class PojoQueryTest {
 	@Test
 	public void testSorting() throws Exception {
 		BeanSession session = BeanContext.DEFAULT.createSession();
-		WriterSerializer s = JsonSerializer.create().ssq().pojoSwaps(TemporalCalendarSwap.IsoLocalDateTime.class).build();
+		WriterSerializer s = JsonSerializer.create().ssq().swaps(TemporalCalendarSwap.IsoLocalDateTime.class).build();
 		SearchArgs sa;
 		List results;
 
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
index a65e968..7c5cca4 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
@@ -1153,32 +1153,32 @@ public class RdfParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public RdfParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public RdfParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public RdfParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public RdfParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfParserBuilder sortProperties() {
-		super.sortProperties();
+	public RdfParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserSession.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserSession.java
index b54feed..65c58fb 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserSession.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserSession.java
@@ -222,7 +222,7 @@ public class RdfParserSession extends ReaderParserSession {
 
 		if (eType == null)
 			eType = object();
-		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getPojoSwap(this);
+		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getSwap(this);
 		BuilderSwap<T,Object> builder = (BuilderSwap<T,Object>)eType.getBuilderSwap(this);
 		ClassMeta<?> sType = null;
 		if (builder != null)
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
index 8da175d..9b5f0dc 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
@@ -1313,32 +1313,32 @@ public class RdfSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public RdfSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public RdfSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public RdfSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public RdfSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public RdfSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
index 9f1a715..b808b73 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
@@ -176,7 +176,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 			sType = aType;
 
 			// Swap if necessary
-			PojoSwap swap = aType.getPojoSwap(this);
+			PojoSwap swap = aType.getSwap(this);
 			if (swap != null) {
 				o = swap(swap, o);
 				sType = swap.getSwapClassMeta(this);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index 12768be..9904b66 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -1228,68 +1228,9 @@ public class BeanContext extends Context implements MetaProvider {
 	/**
 	 * Configuration property:  Bean property includes.
 	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_bpi BEAN_bpi}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.bpi.sms"</js>
-	 * 	<li><b>Data type:</b>  <c>Map&lt;String,String&gt;</c>
-	 * 	<li><b>System property:</b>  <c>BeanContext.bpi</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_BPI</c>
-	 * 	<li><b>Default:</b>  <c>{}</c>
-	 * 	<li><b>Session property:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Bean#bpi()}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Beanp#properties()}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#bpi()}
-	 * 		</ul>
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpi(Class, String)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpi(String, String)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpi(Map)}
-	 * 			<li class='jm'>{@link org.apache.juneau.transform.BeanFilterBuilder#bpi(String...)}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <h5 class='section'>Description:</h5>
-	 *
-	 * <p>
-	 * Specifies the set and order of names of properties associated with the bean class.
-	 *
-	 * <p>
-	 * The keys are either fully-qualified or simple class names, and the values are comma-delimited lists of property
-	 * names.
-	 * The key <js>"*"</js> means all bean classes.
-	 *
-	 * <p>
-	 * For example, <code>{Bean1:<js>'foo,bar'</js>}</code> means only serialize the <c>foo</c> and
-	 * <c>bar</c> properties on the specified bean.
-	 *
-	 * <p>
-	 * Setting applies to specified class and all subclasses.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode w800'>
-	 * 	<jc>// Create a serializer that includes only the 'foo' and 'bar' properties on the MyBean class.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.bpi(MyBean.<jk>class</jk>, <js>"foo,bar"</js>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Same, but use property.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_bpi</jsf>, MyBean.<jk>class</jk>.getName(), <js>"foo,bar"</js>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Alternate using JSON object.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_bpi</jsf>, <js>"{'org.apache.MyBean':'foo,bar'}"</js>)
-	 * 		.build();
-	 * </p>
-	 * @deprecated Use {@link Bean#bpi()} and {@link BeanConfig#bpi()}
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link Bean#bpi()} and {@link BeanConfig#bpi()}
+	 * </div>
 	 */
 	@Deprecated
 	public static final String BEAN_bpi = PREFIX + ".bpi.sms";
@@ -1297,70 +1238,9 @@ public class BeanContext extends Context implements MetaProvider {
 	/**
 	 * Configuration property:  Bean property excludes.
 	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_bpx BEAN_bpx}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.bpx.sms"</js>
-	 * 	<li><b>Data type:</b>  <c>Map&lt;String,String&gt;</c>
-	 * 	<li><b>System property:</b>  <c>BeanContext.bpx</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_BPX</c>
-	 * 	<li><b>Default:</b>  <c>{}</c>
-	 * 	<li><b>Session property:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#dictionary()}
-	 * 		</ul>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Bean#bpx()}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#bpx()}
-	 * 		</ul>
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpx(Class, String)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpx(String, String)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpx(Map)}
-	 * 			<li class='jm'>{@link org.apache.juneau.transform.BeanFilterBuilder#bpx(String...)}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <h5 class='section'>Description:</h5>
-	 * <p>
-	 * Specifies to exclude the specified list of properties for the specified bean class.
-	 *
-	 * <p>
-	 * The keys are either fully-qualified or simple class names, and the values are comma-delimited lists of property
-	 * names.
-	 * The key <js>"*"</js> means all bean classes.
-	 *
-	 * <p>
-	 * For example, <code>{Bean1:<js>'foo,bar'</js>}</code> means don't serialize the <c>foo</c> and
-	 * <c>bar</c> properties on any beans whose simple class name is <c>Bean1</c>.
-	 *
-	 * <p>
-	 * Setting applies to specified class and all subclasses.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode w800'>
-	 * 	<jc>// Create a serializer that excludes the 'foo' and 'bar' properties on the MyBean class.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.bpx(MyBean.<jk>class</jk>, <js>"foo,bar"</js>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Same, but use property.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_bpx</jsf>, MyBean.<jk>class</jk>.getName(), <js>"foo,bar"</js>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Alternate using JSON object.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_bpx</jsf>, <js>"{'org.apache.MyBean':'foo,bar'}"</js>)
-	 * 		.build();
-	 * </p>
-	 * @deprecated Use {@link Bean#bpx()} and {@link BeanConfig#bpx()}
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link Bean#bpx()} and {@link BeanConfig#bpx()}
+	 * </div>
 	 */
 	@Deprecated
 	public static final String BEAN_bpx = PREFIX + ".bpx.sms";
@@ -1368,68 +1248,9 @@ public class BeanContext extends Context implements MetaProvider {
 	/**
 	 * Configuration property:  Read-only bean properties.
 	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_bpro BEAN_bpro}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.bpro.sms"</js>
-	 * 	<li><b>Data type:</b>  <c>Map&lt;String,String&gt;</c>
-	 * 	<li><b>System property:</b>  <c>BeanContext.bpro</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_BPRO</c>
-	 * 	<li><b>Default:</b>  <c>{}</c>
-	 * 	<li><b>Session property:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Bean#bpro()}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Beanp#ro()}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#bpro()}
-	 * 		</ul>
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpro(Class, String)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpro(String, String)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpro(Map)}
-	 * 			<li class='jm'>{@link org.apache.juneau.transform.BeanFilterBuilder#bpro(String...)}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <h5 class='section'>Description:</h5>
-	 * <p>
-	 * Specifies one or more properties on a bean that are read-only despite having valid getters.
-	 * Serializers will serialize such properties as usual, but parsers will silently ignore them.
-	 *
-	 * <p>
-	 * The keys are either fully-qualified or simple class names, and the values are comma-delimited lists of property
-	 * names.
-	 * The key <js>"*"</js> means all bean classes.
-	 *
-	 * <p>
-	 * For example, <code>{Bean1:<js>'foo,bar'</js>}</code> means the <c>foo</c> and
-	 * <c>bar</c> properties on any beans whose simple class name is <c>Bean1</c>.
-	 *
-	 * <p>
-	 * Setting applies to specified class and all subclasses.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode w800'>
-	 * 	<jc>// Create a parser that excludes the 'foo' and 'bar' properties on the MyBean class.</jc>
-	 * 	ReaderParser p = JsonParser
-	 * 		.<jsm>create</jsm>()
-	 * 		.bpro(MyBean.<jk>class</jk>, <js>"foo,bar"</js>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Same, but use property.</jc>
-	 * 	ReaderParser p = JsonParser
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_bpro</jsf>, MyBean.<jk>class</jk>.getName(), <js>"foo,bar"</js>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Alternate using JSON object.</jc>
-	 * 	ReaderParser p = JsonParser
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_bpro</jsf>, <js>"{'org.apache.MyBean':'foo,bar'}"</js>)
-	 * 		.build();
-	 * </p>
-	 * @deprecated Use {@link Bean#bpro()} and {@link BeanConfig#bpro()}
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link Bean#bpro()} and {@link BeanConfig#bpro()}
+	 * </div>
 	 */
 	@Deprecated
 	public static final String BEAN_bpro = PREFIX + ".bpro.sms";
@@ -1437,68 +1258,9 @@ public class BeanContext extends Context implements MetaProvider {
 	/**
 	 * Configuration property:  Write-only bean properties.
 	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_bpwo BEAN_bpwo}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.bpwo.sms"</js>
-	 * 	<li><b>Data type:</b>  <c>Map&lt;String,String&gt;</c>
-	 * 	<li><b>System property:</b>  <c>BeanContext.bpwo</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_BPWO</c>
-	 * 	<li><b>Default:</b>  <c>{}</c>
-	 * 	<li><b>Session property:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Bean#bpwo()}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Beanp#wo()}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#bpwo()}
-	 * 		</ul>
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpwo(Class, String)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpwo(String, String)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#bpwo(Map)}
-	 * 			<li class='jm'>{@link org.apache.juneau.transform.BeanFilterBuilder#bpwo(String...)}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <h5 class='section'>Description:</h5>
-	 * <p>
-	 * Specifies one or more properties on a bean that are write-only despite having valid setters.
-	 * Parsers will parse such properties as usual, but serializers will silently ignore them.
-	 *
-	 * <p>
-	 * The keys are either fully-qualified or simple class names, and the values are comma-delimited lists of property
-	 * names.
-	 * The key <js>"*"</js> means all bean classes.
-	 *
-	 * <p>
-	 * For example, <code>{Bean1:<js>'foo,bar'</js>}</code> means the <c>foo</c> and
-	 * <c>bar</c> properties on any beans whose simple class name is <c>Bean1</c>.
-	 *
-	 * <p>
-	 * Setting applies to specified class and all subclasses.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode w800'>
-	 * 	<jc>// Create a serializer that excludes the 'foo' and 'bar' properties on the MyBean class.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.bpwo(MyBean.<jk>class</jk>, <js>"foo,bar"</js>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Same, but use property.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_bpwo</jsf>, MyBean.<jk>class</jk>.getName(), <js>"foo,bar"</js>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Alternate using JSON object.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_bpwo</jsf>, <js>"{'org.apache.MyBean':'foo,bar'}"</js>)
-	 * 		.build();
-	 * </p>
-	 * @deprecated Use {@link Bean#bpwo()} and {@link BeanConfig#bpwo()}
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link Bean#bpwo()} and {@link BeanConfig#bpwo()}
+	 * </div>
 	 */
 	@Deprecated
 	public static final String BEAN_bpwo = PREFIX + ".bpwo.sms";
@@ -2270,7 +2032,7 @@ public class BeanContext extends Context implements MetaProvider {
 	 *
 	 * <p>
 	 * List of classes that should not be treated as beans even if they appear to be bean-like.
-	 * <br>Not-bean classes are converted to <c>Strings</c> during serialization.
+	 * Not-bean classes are converted to <c>Strings</c> during serialization.
 	 *
 	 * <p>
 	 * Values can consist of any of the following types:
@@ -2281,6 +2043,15 @@ public class BeanContext extends Context implements MetaProvider {
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
+	 * 	<jc>// A bean with a single property.</jc>
+	 * 	<jk>public class</jk> MyBean {
+	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
+	 *
+	 * 		<jk>public</jk> String toString() {
+	 * 			<jk>return</jk> <js>"baz"</js>;
+	 * 		}
+	 * 	}
+	 *
 	 * 	<jc>// Create a serializer that doesn't treat MyBean as a bean class.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
@@ -2292,7 +2063,14 @@ public class BeanContext extends Context implements MetaProvider {
 	 * 		.<jsm>create</jsm>()
 	 * 		.addTo(<jsf>BEAN_notBeanClasses</jsf>, MyBean.<jk>class</jk>)
 	 * 		.build();
+	 *
+	 * 	<jc>// Produces "baz" instead of {"foo":"bar"}</jc>
+	 * 	String json = s.serialize(<jk>new</jk> MyBean());
 	 * </p>
+	 *
+	 * <ul class='notes'>
+	 * 	<li>The {@link BeanIgnore @BeanIgnore} annotation can also be used on classes to prevent them from being recognized as beans.
+	 * </ul>
 	 */
 	public static final String BEAN_notBeanClasses = PREFIX + ".notBeanClasses.sc";
 
@@ -2341,10 +2119,9 @@ public class BeanContext extends Context implements MetaProvider {
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
-	 * <p>
-	 * When specified, the current list of ignore packages are appended to.
 	 *
 	 * <p>
+	 * Used as a convenient way of defining the {@link #BEAN_notBeanClasses} property for entire packages.
 	 * Any classes within these packages will be serialized to strings using {@link Object#toString()}.
 	 *
 	 * <p>
@@ -2388,116 +2165,31 @@ public class BeanContext extends Context implements MetaProvider {
 	/**
 	 * Configuration property:  POJO swaps.
 	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_pojoSwaps BEAN_pojoSwaps}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.pojoSwaps.lo"</js>
-	 * 	<li><b>Data type:</b>  <c>List&lt;Object&gt;</c>
-	 * 	<li><b>Default:</b>  empty list
-	 * 	<li><b>Session property:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Swap}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Swaps}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#pojoSwaps()}
-	 * 		</ul>
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#pojoSwaps(Object...)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#pojoSwapsReplace(Object...)}
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#pojoSwapsRemove(Object...)}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <h5 class='section'>Description:</h5>
-	 * <p>
-	 * POJO swaps are used to "swap out" non-serializable classes with serializable equivalents during serialization,
-	 * and "swap in" the non-serializable class during parsing.
-	 *
-	 * <p>
-	 * An example of a POJO swap would be a <c>Calendar</c> object that gets swapped out for an ISO8601 string.
-	 *
-	 * <p>
-	 * Multiple POJO swaps can be associated with a single class.
-	 * <br>When multiple swaps are applicable to the same class, the media type pattern defined by
-	 * {@link PojoSwap#forMediaTypes()} or {@link Swap#mediaTypes() @Swap(mediaTypes)} are used to come up with the best match.
-	 *
-	 * <p>
-	 * Values can consist of any of the following types:
-	 * <ul>
-	 * 	<li>Any subclass of {@link PojoSwap}.
-	 * 	<li>Any instance of {@link PojoSwap}.
-	 * 	<li>Any surrogate class.  A shortcut for defining a {@link SurrogateSwap}.
-	 * 	<li>Any array or collection of the objects above.
-	 * </ul>
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode w800'>
-	 * 	<jc>// Sample swap for converting Dates to ISO8601 strings.</jc>
-	 * 	<jk>public class</jk> MyDateSwap <jk>extends</jk> StringSwap&lt;Date&gt; {
-	 * 		<jc>// ISO8601 formatter.</jc>
-	 * 		<jk>private</jk> DateFormat <jf>format</jf> = <jk>new</jk> SimpleDateFormat(<js>"yyyy-MM-dd'T'HH:mm:ssZ"</js>);
-	 *
-	 * 		<ja>@Override</ja>
-	 * 		<jk>public</jk> String swap(BeanSession session, Date o) {
-	 * 			<jk>return</jk> <jf>format</jf>.format(o);
-	 * 		}
-	 *
-	 * 		<ja>@Override</ja>
-	 * 		<jk>public</jk> Date unswap(BeanSession session, String o, ClassMeta hint) <jk>throws</jk> Exception {
-	 * 			<jk>return</jk> <jf>format</jf>.parse(o);
-	 * 		}
-	 * 	}
-	 *
-	 * 	<jc>// Sample bean with a Date field.</jc>
-	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public</jk> Date <jf>date</jf> = <jk>new</jk> Date(112, 2, 3, 4, 5, 6);
-	 * 	}
-	 *
-	 * 	<jc>// Create a serializer that uses our date swap.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.pojoSwaps(MyDateSwap.<jk>class</jk>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Same, but use property.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.addTo(<jsf>BEAN_pojoSwaps</jsf>, MyDateSwap.<jk>class</jk>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Produces "{date:'2012-03-03T04:05:06-0500'}"</jc>
-	 * 	String json = s.serialize(<jk>new</jk> MyBean());
-	 *
-	 * 	<jc>// Create a serializer that uses our date swap.</jc>
-	 * 	ReaderParser p = JsonParser
-	 * 		.<jsm>create</jsm>()
-	 * 		.pojoSwaps(MyDateSwap.<jk>class</jk>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Use our parser to parse a bean.</jc>
-	 * 	MyBean bean = p.parse(json, MyBean.<jk>class</jk>);
-	 * </p>
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.PojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.PerMediaTypePojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.OneWayPojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.SwapAnnotation}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.AutoPojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.SurrogateClasses}
-	 * </ul>
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #BEAN_swaps}
+	 * </div>
 	 */
+	@Deprecated
 	public static final String BEAN_pojoSwaps = PREFIX + ".pojoSwaps.lo";
 
 	/**
 	 * Configuration property:  Add to POJO swap classes.
+	 *
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #BEAN_swaps_add}
+	 * </div>
 	 */
+	@Deprecated
 	public static final String BEAN_pojoSwaps_add = PREFIX + ".pojoSwaps.lo/add";
 
 	/**
 	 * Configuration property:  Remove from POJO swap classes.
+	 *
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #BEAN_swaps_remove}
+	 * </div>
 	 */
+	@Deprecated
 	public static final String BEAN_pojoSwaps_remove = PREFIX + ".pojoSwaps.lo/remove";
 
 	/**
@@ -2523,6 +2215,7 @@ public class BeanContext extends Context implements MetaProvider {
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * The class to use for calculating bean property names.
 	 *
@@ -2536,8 +2229,13 @@ public class BeanContext extends Context implements MetaProvider {
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
+	 * 	<jc>// A bean with a single property.</jc>
+	 * 	<jk>public class</jk> MyBean {
+	 * 		<jk>public</jk> String <jf>fooBarBaz</jf> = <js>"fooBarBaz"</js>;
+	 * 	}
+	 *
 	 * 	<jc>// Create a serializer that uses Dashed-Lower-Case property names.</jc>
-	 * 	<jc>// (e.g. "foo-bar-url" instead of "fooBarURL")</jc>
+	 * 	<jc>// (e.g. "foo-bar-baz" instead of "fooBarBaz")</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
 	 * 		.propertyNamer(PropertyNamerDLC.<jk>class</jk>)
@@ -2548,6 +2246,9 @@ public class BeanContext extends Context implements MetaProvider {
 	 * 		.<jsm>create</jsm>()
 	 * 		.set(<jsf>BEAN_propertyNamer</jsf>, PropertyNamerDLC.<jk>class</jk>)
 	 * 		.build();
+	 *
+	 * 	<jc>// Produces:  {"foo-bar-baz":"fooBarBaz"}</jc>
+	 * 	String json = s.serialize(<jk>new</jk> MyBean());
 	 * </p>
 	 */
 	public static final String BEAN_propertyNamer = PREFIX + ".propertyNamer.c";
@@ -2578,11 +2279,12 @@ public class BeanContext extends Context implements MetaProvider {
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * When <jk>true</jk>, all bean properties will be serialized and access in alphabetical order.
-	 * <br>Otherwise, the natural order of the bean properties is used which is dependent on the JVM vendor.
-	 * <br>On IBM JVMs, the bean properties are ordered based on their ordering in the Java file.
-	 * <br>On Oracle JVMs, the bean properties are not ordered (which follows the official JVM specs).
+	 * Otherwise, the natural order of the bean properties is used which is dependent on the JVM vendor.
+	 * On IBM JVMs, the bean properties are ordered based on their ordering in the Java file.
+	 * >On Oracle JVMs, the bean properties are not ordered (which follows the official JVM specs).
 	 *
 	 * <p>
 	 * This property is disabled by default so that IBM JVM users don't have to use {@link Bean @Bean} annotations
@@ -2591,6 +2293,13 @@ public class BeanContext extends Context implements MetaProvider {
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
+	 * 	<jc>// A bean with 3 properties.</jc>
+	 * 	<jk>public class</jk> MyBean {
+	 * 		<jk>public</jk> String <jf>c</jf> = <js>"1"</js>;
+	 * 		<jk>public</jk> String <jf>b</jf> = <js>"2"</js>;
+	 * 		<jk>public</jk> String <jf>a</jf> = <js>"3"</js>;
+	 * 	}
+	 *
 	 * 	<jc>// Create a serializer that sorts bean properties.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
@@ -2602,11 +2311,140 @@ public class BeanContext extends Context implements MetaProvider {
 	 * 		.<jsm>create</jsm>()
 	 * 		.set(<jsf>BEAN_sortProperties</jsf>, <jk>true</jk>)
 	 * 		.build();
+	 *
+	 * 	<jc>// Produces:  {"a":"3","b":"2","c":"1"}</jc>
+	 * 	String json = s.serialize(<jk>new</jk> MyBean());
 	 * </p>
+	 *
+	 * <ul class='notes'>
+	 * 	<li>The {@link Bean#sort() @Bean.sort()} annotation can also be used to sort properties on just a single class.
+	 * </ul>
 	 */
 	public static final String BEAN_sortProperties = PREFIX + ".sortProperties.b";
 
 	/**
+	 * Configuration property:  Java object swaps.
+	 *
+	 * <h5 class='section'>Property:</h5>
+	 * <ul class='spaced-list'>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_swaps BEAN_swaps}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.swaps.lo"</js>
+	 * 	<li><b>Data type:</b>  <c>List&lt;Object&gt;</c>
+	 * 	<li><b>Default:</b>  empty list
+	 * 	<li><b>Session property:</b>  <jk>false</jk>
+	 * 	<li><b>Annotations:</b>
+	 * 		<ul>
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Swap}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Swaps}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#swaps()}
+	 * 		</ul>
+	 * 	<li><b>Methods:</b>
+	 * 		<ul>
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#swaps(Object...)}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#swaps(Object...)}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#swaps(Object...)}
+	 * 		</ul>
+	 * </ul>
+	 *
+	 * <h5 class='section'>Description:</h5>
+	 *
+	 * <p>
+	 * Swaps are used to "swap out" non-serializable classes with serializable equivalents during serialization,
+	 * and "swap in" the non-serializable class during parsing.
+	 *
+	 * <p>
+	 * An example of a swap would be a <c>Calendar</c> object that gets swapped out for an ISO8601 string.
+	 *
+	 * <p>
+	 * Multiple swaps can be associated with a single class.
+	 * When multiple swaps are applicable to the same class, the media type pattern defined by
+	 * {@link PojoSwap#forMediaTypes()} or {@link Swap#mediaTypes() @Swap(mediaTypes)} are used to come up with the best match.
+	 *
+	 * <p>
+	 * Values can consist of any of the following types:
+	 * <ul>
+	 * 	<li>Any subclass of {@link PojoSwap}.
+	 * 	<li>Any instance of {@link PojoSwap}.
+	 * 	<li>Any surrogate class.  A shortcut for defining a {@link SurrogateSwap}.
+	 * 	<li>Any array or collection of the objects above.
+	 * </ul>
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Sample swap for converting Dates to ISO8601 strings.</jc>
+	 * 	<jk>public class</jk> MyDateSwap <jk>extends</jk> StringSwap&lt;Date&gt; {
+	 * 		<jc>// ISO8601 formatter.</jc>
+	 * 		<jk>private</jk> DateFormat <jf>format</jf> = <jk>new</jk> SimpleDateFormat(<js>"yyyy-MM-dd'T'HH:mm:ssZ"</js>);
+	 *
+	 * 		<ja>@Override</ja>
+	 * 		<jk>public</jk> String swap(BeanSession session, Date o) {
+	 * 			<jk>return</jk> <jf>format</jf>.format(o);
+	 * 		}
+	 *
+	 * 		<ja>@Override</ja>
+	 * 		<jk>public</jk> Date unswap(BeanSession session, String o, ClassMeta hint) <jk>throws</jk> Exception {
+	 * 			<jk>return</jk> <jf>format</jf>.parse(o);
+	 * 		}
+	 * 	}
+	 *
+	 * 	<jc>// Sample bean with a Date field.</jc>
+	 * 	<jk>public class</jk> MyBean {
+	 * 		<jk>public</jk> Date <jf>date</jf> = <jk>new</jk> Date(112, 2, 3, 4, 5, 6);
+	 * 	}
+	 *
+	 * 	<jc>// Create a serializer that uses our date swap.</jc>
+	 * 	WriterSerializer s = JsonSerializer
+	 * 		.<jsm>create</jsm>()
+	 * 		.swaps(MyDateSwap.<jk>class</jk>)
+	 * 		.build();
+	 *
+	 * 	<jc>// Same, but use property.</jc>
+	 * 	WriterSerializer s = JsonSerializer
+	 * 		.<jsm>create</jsm>()
+	 * 		.addTo(<jsf>BEAN_swaps</jsf>, MyDateSwap.<jk>class</jk>)
+	 * 		.build();
+	 *
+	 * 	<jc>// Produces:  {"date":"2012-03-03T04:05:06-0500"}</jc>
+	 * 	String json = s.serialize(<jk>new</jk> MyBean());
+	 *
+	 * 	<jc>// Create a serializer that uses our date swap.</jc>
+	 * 	ReaderParser p = JsonParser
+	 * 		.<jsm>create</jsm>()
+	 * 		.swaps(MyDateSwap.<jk>class</jk>)
+	 * 		.build();
+	 *
+	 * 	<jc>// Use our parser to parse a bean.</jc>
+	 * 	MyBean bean = p.parse(json, MyBean.<jk>class</jk>);
+	 * </p>
+	 *
+	 *
+	 * <ul class='notes'>
+	 * 	<li>The {@link Swap @Swap} annotation can also be used on classes to identify swaps for the class.
+	 * 	<li>The {@link Swap @Swap} annotation can also be used on bean methods and fields to identify swaps for values of those bean properties.
+	 * </ul>
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.PojoSwaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.PerMediaTypePojoSwaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.OneWayPojoSwaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.SwapAnnotation}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.AutoPojoSwaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.SurrogateClasses}
+	 * </ul>
+	 */
+	public static final String BEAN_swaps = PREFIX + ".swaps.lo";
+
+	/**
+	 * Configuration property:  Add to swap classes.
+	 */
+	public static final String BEAN_swaps_add = PREFIX + ".swaps.lo/add";
+
+	/**
+	 * Configuration property:  Remove from swap classes.
+	 */
+	public static final String BEAN_swaps_remove = PREFIX + ".swaps.lo/remove";
+
+	/**
 	 * Configuration property:  Time zone.
 	 *
 	 * <h5 class='section'>Property:</h5>
@@ -2695,6 +2533,7 @@ public class BeanContext extends Context implements MetaProvider {
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * When enabled, enums are always serialized by name, not using {@link Object#toString()}.
 	 *
@@ -2756,24 +2595,32 @@ public class BeanContext extends Context implements MetaProvider {
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, then interfaces will be instantiated as proxy classes through the use of an
 	 * {@link InvocationHandler} if there is no other way of instantiating them.
-	 * <br>Otherwise, throws a {@link BeanRuntimeException}.
+	 * Otherwise, throws a {@link BeanRuntimeException}.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
-	 * 	<jc>// Create a parser that doesn't try to make interface proxies.</jc>
+	 * 	<jc>// An interface with a single getter.</jc>
+	 * 	<jk>public interface</jk> MyBean {
+	 * 		String getFoo();
+	 * 	}
+	 *
+	 * 	<jc>// Create a parser that uses interface proxies.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.useInterfaceProxies(<jk>false</jk>)
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_useInterfaceProxies</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_useInterfaceProxies</jsf>, <jk>true</jk>)
 	 * 		.build();
+	 *
+	 * 	<jc>// Creates a proxy implementation of a MyBean interface.</jc>
+	 * 	MyBean b = p.parse("{foo:'bar'}", MyBean.<jk>class</jk>);
 	 * </p>
 	 */
 	public static final String BEAN_useInterfaceProxies = PREFIX + ".useInterfaceProxies.b";
@@ -2801,6 +2648,7 @@ public class BeanContext extends Context implements MetaProvider {
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * Using the built-in Java bean introspector will not pick up fields or non-standard getters/setters.
 	 * <br>Most {@link Bean @Bean} annotations will be ignored.
@@ -2810,13 +2658,13 @@ public class BeanContext extends Context implements MetaProvider {
 	 * 	<jc>// Create a serializer that only uses the built-in java bean introspector for finding properties.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.useJavaBeanIntrospector(<jk>false</jk>)
+	 * 		.useJavaBeanIntrospector()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_useJavaBeanIntrospector</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_useJavaBeanIntrospector</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 * </p>
 	 */
@@ -2895,7 +2743,7 @@ public class BeanContext extends Context implements MetaProvider {
 	private final List<Class<?>> beanDictionaryClasses;
 	private final String[] notBeanPackageNames, notBeanPackagePrefixes;
 	private final BeanFilter[] beanFilters;
-	private final PojoSwap<?,?>[] pojoSwaps;
+	private final PojoSwap<?,?>[] swaps;
 	private final Map<String,?> examples;
 	private final BeanRegistry beanRegistry;
 	private final Map<String,ClassInfo> implClasses;
@@ -3012,7 +2860,20 @@ public class BeanContext extends Context implements MetaProvider {
 				lpf.add((PojoSwap)o);
 			}
 		}
-		pojoSwaps = lpf.toArray(new PojoSwap[lpf.size()]);
+		for (Object o : getListProperty(BEAN_swaps, Object.class)) {
+			if (o instanceof Class) {
+				ClassInfo ci = ClassInfo.of((Class<?>)o);
+				if (ci.isChildOf(PojoSwap.class))
+					lpf.add(castOrCreate(PojoSwap.class, ci.inner()));
+				else if (ci.isChildOf(Surrogate.class))
+					lpf.addAll(SurrogateSwap.findPojoSwaps(ci.inner(), this));
+				else
+					throw new BasicRuntimeException("Invalid class {0} specified in BeanContext.swaps property.  Must be a subclass of PojoSwap or Surrogate.", ci.inner());
+			} else if (o instanceof PojoSwap) {
+				lpf.add((PojoSwap)o);
+			}
+		}
+		swaps = lpf.toArray(new PojoSwap[lpf.size()]);
 
 		examples = getMapProperty(BEAN_examples, Object.class);
 
@@ -3611,7 +3472,7 @@ public class BeanContext extends Context implements MetaProvider {
 		// Note:  On first
 		if (c != null) {
 			List<PojoSwap> l = new ArrayList<>();
-			for (PojoSwap f : pojoSwaps)
+			for (PojoSwap f : swaps)
 				if (f.getNormalClass().isParentOf(c))
 					l.add(f);
 			return l.size() == 0 ? null : l.toArray(new PojoSwap[l.size()]);
@@ -3646,10 +3507,10 @@ public class BeanContext extends Context implements MetaProvider {
 	 * @return <jk>true</jk> if the specified class or one of its subclasses has a {@link PojoSwap} associated with it.
 	 */
 	private final PojoSwap[] findChildPojoSwaps(Class<?> c) {
-		if (c == null || pojoSwaps.length == 0)
+		if (c == null || swaps.length == 0)
 			return null;
 		List<PojoSwap> l = null;
-		for (PojoSwap f : pojoSwaps) {
+		for (PojoSwap f : swaps) {
 			if (f.getNormalClass().isChildOf(c)) {
 				if (l == null)
 					l = new ArrayList<>();
@@ -4644,14 +4505,14 @@ public class BeanContext extends Context implements MetaProvider {
 	}
 
 	/**
-	 * POJO swaps.
+	 * Java object swaps.
 	 *
-	 * @see #BEAN_pojoSwaps
+	 * @see #BEAN_swaps
 	 * @return
 	 * 	The list POJO swaps defined.
 	 */
-	protected final PojoSwap<?,?>[] getPojoSwaps() {
-		return pojoSwaps;
+	protected final PojoSwap<?,?>[] getSwaps() {
+		return swaps;
 	}
 
 	/**
@@ -4770,7 +4631,7 @@ public class BeanContext extends Context implements MetaProvider {
 				.a("notBeanClasses", notBeanClasses)
 				.a("notBeanPackageNames", notBeanPackageNames)
 				.a("notBeanPackagePrefixes", notBeanPackagePrefixes)
-				.a("pojoSwaps", pojoSwaps)
+				.a("pojoSwaps", swaps)
 				.a("sortProperties", sortProperties)
 				.a("timeZone", timeZone)
 				.a("useEnumNames", useEnumNames)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
index 3015d27..e8d2bc7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
@@ -2358,20 +2358,12 @@ public class BeanContextBuilder extends ContextBuilder {
 	/**
 	 * <i><l>BeanContext</l> configuration property:</i>  POJO swaps.
 	 *
-	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_pojoSwaps}
-	 * </ul>
-	 *
-	 * @param values
-	 * 	The values to add to this property.
-	 * 	<br>Values can consist of any of the following types:
-	 * 	<ul>
-	 * 		<li>Any subclass of {@link PojoSwap}.
-	 * 		<li>Any surrogate class.  A shortcut for defining a {@link SurrogateSwap}.
-	 * 		<li>Any array or collection of the objects above.
-	 * 	</ul>
-	 * @return This object (for method chaining).
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #swaps(Object...)}
+	 * </div>
 	 */
+	@SuppressWarnings("javadoc")
+	@Deprecated
 	@ConfigurationProperty
 	public BeanContextBuilder pojoSwaps(Object...values) {
 		return appendTo(BEAN_pojoSwaps, values);
@@ -2380,20 +2372,12 @@ public class BeanContextBuilder extends ContextBuilder {
 	/**
 	 * <i><l>BeanContext</l> configuration property:</i>  POJO swaps.
 	 *
-	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_pojoSwaps}
-	 * </ul>
-	 *
-	 * @param values
-	 * 	The values to remove from this property.
-	 * 	<br>Values can consist of any of the following types:
-	 * 	<ul>
-	 * 		<li>Any subclass of {@link PojoSwap}.
-	 * 		<li>Any surrogate class.  A shortcut for defining a {@link SurrogateSwap}.
-	 * 		<li>Any array or collection of the objects above.
-	 * 	</ul>
-	 * @return This object (for method chaining).
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #swapsReplace(Object...)}
+	 * </div>
 	 */
+	@SuppressWarnings("javadoc")
+	@Deprecated
 	@ConfigurationProperty
 	public BeanContextBuilder pojoSwapsReplace(Object...values) {
 		return set(BEAN_pojoSwaps, values);
@@ -2402,20 +2386,12 @@ public class BeanContextBuilder extends ContextBuilder {
 	/**
 	 * <i><l>BeanContext</l> configuration property:</i>  POJO swaps.
 	 *
-	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_pojoSwaps}
-	 * </ul>
-	 *
-	 * @param values
-	 * 	The values to remove from this property.
-	 * 	<br>Values can consist of any of the following types:
-	 * 	<ul>
-	 * 		<li>Any subclass of {@link PojoSwap}.
-	 * 		<li>Any surrogate class.  A shortcut for defining a {@link SurrogateSwap}.
-	 * 		<li>Any array or collection of the objects above.
-	 * 	</ul>
-	 * @return This object (for method chaining).
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #swapsRemove(Object...)}
+	 * </div>
 	 */
+	@SuppressWarnings("javadoc")
+	@Deprecated
 	@ConfigurationProperty
 	public BeanContextBuilder pojoSwapsRemove(Object...values) {
 		return removeFrom(BEAN_pojoSwaps, values);
@@ -2473,6 +2449,72 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
+	 * <i><l>BeanContext</l> configuration property:</i>  Java object swaps.
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
+	 * </ul>
+	 *
+	 * @param values
+	 * 	The values to add to this property.
+	 * 	<br>Values can consist of any of the following types:
+	 * 	<ul>
+	 * 		<li>Any subclass of {@link PojoSwap}.
+	 * 		<li>Any surrogate class.  A shortcut for defining a {@link SurrogateSwap}.
+	 * 		<li>Any array or collection of the objects above.
+	 * 	</ul>
+	 * @return This object (for method chaining).
+	 */
+	@ConfigurationProperty
+	public BeanContextBuilder swaps(Object...values) {
+		return appendTo(BEAN_swaps, values);
+	}
+
+	/**
+	 * <i><l>BeanContext</l> configuration property:</i>  Java object swaps.
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
+	 * </ul>
+	 *
+	 * @param values
+	 * 	The values to remove from this property.
+	 * 	<br>Values can consist of any of the following types:
+	 * 	<ul>
+	 * 		<li>Any subclass of {@link PojoSwap}.
+	 * 		<li>Any surrogate class.  A shortcut for defining a {@link SurrogateSwap}.
+	 * 		<li>Any array or collection of the objects above.
+	 * 	</ul>
+	 * @return This object (for method chaining).
+	 */
+	@ConfigurationProperty
+	public BeanContextBuilder swapsReplace(Object...values) {
+		return set(BEAN_swaps, values);
+	}
+
+	/**
+	 * <i><l>BeanContext</l> configuration property:</i>  Java object swaps.
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
+	 * </ul>
+	 *
+	 * @param values
+	 * 	The values to remove from this property.
+	 * 	<br>Values can consist of any of the following types:
+	 * 	<ul>
+	 * 		<li>Any subclass of {@link PojoSwap}.
+	 * 		<li>Any surrogate class.  A shortcut for defining a {@link SurrogateSwap}.
+	 * 		<li>Any array or collection of the objects above.
+	 * 	</ul>
+	 * @return This object (for method chaining).
+	 */
+	@ConfigurationProperty
+	public BeanContextBuilder swapsRemove(Object...values) {
+		return removeFrom(BEAN_swaps, values);
+	}
+
+	/**
 	 * <i><l>BeanContext</l> configuration property:</i>  TimeZone.
 	 *
 	 * <ul class='seealso'>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
index d623756..453ee2d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
@@ -219,7 +219,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 	 * 	Person p = <jk>new</jk> Person();
 	 *
 	 * 	<jc>// Create a bean context and add the ISO8601 date-time swap</jc>
-	 * 	BeanContext beanContext = <jk>new</jk> BeanContext().pojoSwaps(DateSwap.ISO8601DT.<jk>class</jk>);
+	 * 	BeanContext beanContext = <jk>new</jk> BeanContext().swaps(DateSwap.ISO8601DT.<jk>class</jk>);
 	 *
 	 * 	<jc>// Wrap our bean in a bean map</jc>
 	 * 	BeanMap&lt;Person&gt; b = beanContext.forBean(p);
@@ -306,7 +306,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T
 	 * 	p.setBirthDate(<jk>new</jk> Date(1, 2, 3, 4, 5, 6));
 	 *
 	 * 	<jc>// Create a bean context and add the ISO8601 date-time swap</jc>
-	 * 	BeanContext beanContext = <jk>new</jk> BeanContext().pojoSwaps(DateSwap.ISO8601DT.<jk>class</jk>);
+	 * 	BeanContext beanContext = <jk>new</jk> BeanContext().swaps(DateSwap.ISO8601DT.<jk>class</jk>);
 	 *
 	 * 	<jc>// Wrap our bean in a bean map</jc>
 	 * 	BeanMap&lt;Person&gt; b = beanContext.forBean(p);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index d75d07e..62735e3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -304,7 +304,7 @@ public class BeanSession extends Session {
 				if (! ((to.isMap() && to.getValueType().isNotObject()) || ((to.isCollection() || to.isOptional()) && to.getElementType().isNotObject())))
 					return (T)value;
 
-			PojoSwap swap = to.getPojoSwap(this);
+			PojoSwap swap = to.getSwap(this);
 			if (swap != null) {
 				ClassInfo nc = swap.getNormalClass(), fc = swap.getSwapClass();
 				if (nc.isParentOf(tc) && fc.isParentOf(value.getClass()))
@@ -317,7 +317,7 @@ public class BeanSession extends Session {
 			}
 
 			ClassMeta<?> from = getClassMetaForObject(value);
-			swap = from.getPojoSwap(this);
+			swap = from.getSwap(this);
 			if (swap != null) {
 				ClassInfo nc = swap.getNormalClass(), fc = swap.getSwapClass();
 				if (nc.isParentOf(from.getInnerClass()) && fc.isParentOf(tc))
@@ -1500,16 +1500,6 @@ public class BeanSession extends Session {
 	}
 
 	/**
-	 * Configuration property:  POJO swaps.
-	 *
-	 * @see BeanContext#BEAN_pojoSwaps
-	 * @return
-	 * 	The list POJO swaps defined.
-	 */
-	protected final PojoSwap<?,?>[] getPojoSwaps() {
-		return ctx.getPojoSwaps();
-	}
-	/**
 	 * Configuration property:  Bean property namer.
 	 *
 	 * @see BeanContext#BEAN_propertyNamer
@@ -1532,6 +1522,17 @@ public class BeanSession extends Session {
 	}
 
 	/**
+	 * Configuration property:  Java object swaps.
+	 *
+	 * @see BeanContext#BEAN_swaps
+	 * @return
+	 * 	The list POJO swaps defined.
+	 */
+	protected final PojoSwap<?,?>[] getSwaps() {
+		return ctx.getSwaps();
+	}
+
+	/**
 	 * Configuration property:  Time zone.
 	 *
 	 * <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
index 059eb43..9c788d9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
@@ -623,32 +623,32 @@ public class BeanTraverseBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public BeanTraverseBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public BeanTraverseBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public BeanTraverseBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public BeanTraverseBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public BeanTraverseBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public BeanTraverseBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public BeanTraverseBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public BeanTraverseBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public BeanTraverseBuilder sortProperties() {
-		super.sortProperties();
+	public BeanTraverseBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index 06afe22..d7ccb39 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -91,7 +91,7 @@ public final class ClassMeta<T> implements Type {
 	private final ConcurrentHashMap<Class<?>,PojoSwap<?,?>>
 		childSwapMap,                                        // Maps normal subclasses to PojoSwaps.
 		childUnswapMap;                                      // Maps swap subclasses to PojoSwaps.
-	private final PojoSwap<T,?>[] pojoSwaps;                // The object POJO swaps associated with this bean (if it has any).
+	private final PojoSwap<T,?>[] swaps;                     // The object POJO swaps associated with this bean (if it has any).
 	private final BeanFilter beanFilter;                    // The bean filter associated with this bean (if it has one).
 	private final BuilderSwap<T,?> builderSwap;             // The builder swap associated with this bean (if it has one).
 	private final BeanContext beanContext;                  // The bean context that created this object.
@@ -139,7 +139,7 @@ public final class ClassMeta<T> implements Type {
 	 * 	Used for delayed initialization when the possibility of class reference loops exist.
 	 */
 	@SuppressWarnings({ "rawtypes", "unchecked" })
-	ClassMeta(Class<T> innerClass, BeanContext beanContext, Class<? extends T> implClass, BeanFilter beanFilter, PojoSwap<T,?>[] pojoSwaps, PojoSwap<?,?>[] childPojoSwaps, Object example) {
+	ClassMeta(Class<T> innerClass, BeanContext beanContext, Class<? extends T> implClass, BeanFilter beanFilter, PojoSwap<T,?>[] swaps, PojoSwap<?,?>[] childPojoSwaps, Object example) {
 		this.innerClass = innerClass;
 		this.info = ClassInfo.of(innerClass);
 		this.beanContext = beanContext;
@@ -151,7 +151,7 @@ public final class ClassMeta<T> implements Type {
 			if (beanContext != null && beanContext.cmCache != null && isCacheable(innerClass))
 				beanContext.cmCache.put(innerClass, this);
 
-			ClassMetaBuilder<T> builder = new ClassMetaBuilder(innerClass, beanContext, implClass, beanFilter, pojoSwaps, childPojoSwaps, example);
+			ClassMetaBuilder<T> builder = new ClassMetaBuilder(innerClass, beanContext, implClass, beanFilter, swaps, childPojoSwaps, example);
 
 			this.cc = builder.cc;
 			this.isDelegate = builder.isDelegate;
@@ -163,7 +163,7 @@ public final class ClassMeta<T> implements Type {
 			this.primitiveDefault = builder.primitiveDefault;
 			this.publicMethods = builder.publicMethods;
 			this.beanFilter = beanFilter;
-			this.pojoSwaps = builder.pojoSwaps.isEmpty() ? null : builder.pojoSwaps.toArray(new PojoSwap[builder.pojoSwaps.size()]);
+			this.swaps = builder.swaps.isEmpty() ? null : builder.swaps.toArray(new PojoSwap[builder.swaps.size()]);
 			this.builderSwap = builder.builderSwap;
 			this.keyType = builder.keyType;
 			this.valueType = builder.valueType;
@@ -249,7 +249,7 @@ public final class ClassMeta<T> implements Type {
 		this.typePropertyName = mainType.typePropertyName;
 		this.dictionaryName = mainType.dictionaryName;
 		this.notABeanReason = mainType.notABeanReason;
-		this.pojoSwaps = mainType.pojoSwaps;
+		this.swaps = mainType.swaps;
 		this.builderSwap = mainType.builderSwap;
 		this.beanFilter = mainType.beanFilter;
 		this.initException = mainType.initException;
@@ -293,7 +293,7 @@ public final class ClassMeta<T> implements Type {
 		this.typePropertyName = null;
 		this.dictionaryName = null;
 		this.notABeanReason = null;
-		this.pojoSwaps = null;
+		this.swaps = null;
 		this.builderSwap = null;
 		this.beanFilter = null;
 		this.initException = null;
@@ -336,7 +336,7 @@ public final class ClassMeta<T> implements Type {
 			dictionaryName = null;
 		Throwable initException = null;
 		BeanMeta beanMeta = null;
-		AList<PojoSwap> pojoSwaps = AList.of();
+		AList<PojoSwap> swaps = AList.of();
 		BuilderSwap builderSwap;
 		InvocationHandler invocationHandler = null;
 		BeanRegistry beanRegistry = null;
@@ -350,7 +350,7 @@ public final class ClassMeta<T> implements Type {
 		Mutater<String,T> stringMutater;
 
 		@SuppressWarnings("deprecation")
-		ClassMetaBuilder(Class<T> innerClass, BeanContext beanContext, Class<? extends T> implClass, BeanFilter beanFilter, PojoSwap<T,?>[] pojoSwaps, PojoSwap<?,?>[] childPojoSwaps, Object example) {
+		ClassMetaBuilder(Class<T> innerClass, BeanContext beanContext, Class<? extends T> implClass, BeanFilter beanFilter, PojoSwap<T,?>[] swaps, PojoSwap<?,?>[] childPojoSwaps, Object example) {
 			this.innerClass = innerClass;
 			this.beanContext = beanContext;
 			BeanContext bc = beanContext;
@@ -543,13 +543,13 @@ public final class ClassMeta<T> implements Type {
 			if (beanFilter == null)
 				beanFilter = findBeanFilter(bc);
 
-			if (pojoSwaps != null)
-				this.pojoSwaps.a(pojoSwaps);
+			if (swaps != null)
+				this.swaps.a(swaps);
 
 			if (bc != null)
 				this.builderSwap = BuilderSwap.findSwapFromPojoClass(bc, c, bc.getBeanConstructorVisibility(), bc.getBeanMethodVisibility());
 
-			findPojoSwaps(this.pojoSwaps, bc);
+			findSwaps(this.swaps, bc);
 
 			try {
 
@@ -697,7 +697,7 @@ public final class ClassMeta<T> implements Type {
 			return null;
 		}
 
-		private void findPojoSwaps(List<PojoSwap> l, BeanContext bc) {
+		private void findSwaps(List<PojoSwap> l, BeanContext bc) {
 
 			if (bc != null) {
 				for (Swap swap : bc.getAnnotations(Swap.class, innerClass))
@@ -944,7 +944,7 @@ public final class ClassMeta<T> implements Type {
 	 */
 	@BeanIgnore
 	public ClassMeta<?> getSerializedClassMeta(BeanSession session) {
-		PojoSwap<T,?> ps = getPojoSwap(session);
+		PojoSwap<T,?> ps = getSwap(session);
 		return (ps == null ? this : ps.getSwapClassMeta(session));
 	}
 
@@ -1497,12 +1497,12 @@ public final class ClassMeta<T> implements Type {
 	 * 	The {@link PojoSwap} associated with this class, or <jk>null</jk> if there are no POJO swaps associated with
 	 * 	this class.
 	 */
-	public PojoSwap<T,?> getPojoSwap(BeanSession session) {
-		if (pojoSwaps != null) {
+	public PojoSwap<T,?> getSwap(BeanSession session) {
+		if (swaps != null) {
 			int matchQuant = 0, matchIndex = -1;
 
-			for (int i = 0; i < pojoSwaps.length; i++) {
-				int q = pojoSwaps[i].match(session);
+			for (int i = 0; i < swaps.length; i++) {
+				int q = swaps[i].match(session);
 				if (q > matchQuant) {
 					matchQuant = q;
 					matchIndex = i;
@@ -1510,7 +1510,7 @@ public final class ClassMeta<T> implements Type {
 			}
 
 			if (matchIndex > -1)
-				return pojoSwaps[matchIndex];
+				return swaps[matchIndex];
 		}
 		return null;
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
index 42da591..ed3fea6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
@@ -357,8 +357,8 @@ public abstract class ContextBuilder {
 	 * </ul>
 	 *
 	 * <p>
-	 * For example, <js>"BeanContext.pojoSwaps.lc"</js> refers to a property on the <l>BeanContext</l> class
-	 * called <l>pojoSwaps</l> that has a data type of <l>List&lt;Class&gt;</l>.
+	 * For example, <js>"BeanContext.swaps.lc"</js> refers to a property on the <l>BeanContext</l> class
+	 * called <l>swaps</l> that has a data type of <l>List&lt;Class&gt;</l>.
 	 *
 	 * <p>
 	 * Property values get 'normalized' when they get set.
@@ -635,20 +635,20 @@ public abstract class ContextBuilder {
 	 * </ul>
 	 *
 	 * <p>
-	 * For example, the {@link BeanContext#BEAN_pojoSwaps} property which has the value <js>"BeanContext.pojoSwaps.lo"</js>.
+	 * For example, the {@link BeanContext#BEAN_swaps} property which has the value <js>"BeanContext.swaps.lo"</js>.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
 	 * 	<jc>// Create a serializer that converts Temporal objects to Basic ISO date strings.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.pojoSwaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
+	 * 		.swaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use generic appendTo() method.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.appendTo(<jsf>BEAN_pojoSwaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
+	 * 		.appendTo(<jsf>BEAN_swaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
 	 * 		.build();
 	 * </p>
 	 *
@@ -689,20 +689,20 @@ public abstract class ContextBuilder {
 	 * </ul>
 	 *
 	 * <p>
-	 * For example, the {@link BeanContext#BEAN_pojoSwaps} property which has the value <js>"BeanContext.pojoSwaps.lo"</js>.
+	 * For example, the {@link BeanContext#BEAN_swaps} property which has the value <js>"BeanContext.swaps.lo"</js>.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
 	 * 	<jc>// Create a serializer that converts Temporal objects to Basic ISO date strings.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.pojoSwaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
+	 * 		.swaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use generic prependTo() method.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.prependTo(<jsf>BEAN_pojoSwaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
+	 * 		.prependTo(<jsf>BEAN_swaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
 	 * 		.build();
 	 * </p>
 	 *
@@ -856,13 +856,13 @@ public abstract class ContextBuilder {
 	 * 	<jc>// Create a serializer that specifies the concrete implementation class for an interface.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.pojoSwaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
+	 * 		.swaps(TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
 	 * 		.build();
 	 *
 	 * 	<jc>// Clone the previous serializer but remove the swap.</jc>
 	 * 	s = s
 	 * 		.<jsm>builder</jsm>()
-	 * 		.removeFrom(<jsf>BEAN_pojoSwaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
+	 * 		.removeFrom(<jsf>BEAN_swaps</jsf>, TemoralCalendarSwap.BasicIsoDate.<jk>class</jk>)
 	 * 		.build();
 	 * </p>
 	 *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyStore.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyStore.java
index 77c2f52..0b5e91b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyStore.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyStore.java
@@ -40,8 +40,8 @@ import org.apache.juneau.reflect.*;
  * the same serializer:
  *
  * <p class='bcode w800'>
- * 	WriterSerializer s1 = JsonSerializer.<jsm>create</jsm>().pojoSwaps(MySwap.<jk>class</jk>).simple().build();
- * 	WriterSerializer s2 = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(MySwap.<jk>class</jk>).build();
+ * 	WriterSerializer s1 = JsonSerializer.<jsm>create</jsm>().swaps(MySwap.<jk>class</jk>).simple().build();
+ * 	WriterSerializer s2 = JsonSerializer.<jsm>create</jsm>().simple().swaps(MySwap.<jk>class</jk>).build();
  * 	<jk>assert</jk>(s1 == s2);
  * </p>
  *
@@ -61,7 +61,7 @@ import org.apache.juneau.reflect.*;
  * <p class='bcode w800'>
  * 	PropertyStore ps = PropertyStore
  * 		.<jsm>create</jsm>()
- * 		.set(<js>"BeanContext.pojoSwaps.lc"</js>, MySwap.<jk>class</jk>)
+ * 		.set(<js>"BeanContext.swaps.lc"</js>, MySwap.<jk>class</jk>)
  * 		.set(<js>"JsonSerializer.simpleMode.b"</js>, <jk>true</jk>)
  * 		.build();
  * </p>
@@ -111,8 +111,8 @@ import org.apache.juneau.reflect.*;
  * </ul>
  *
  * <p>
- * For example, <js>"BeanContext.pojoSwaps.lc"</js> refers to a property on the <c>BeanContext</c> class
- * called <c>pojoSwaps</c> that has a data type of <c>List&lt;Class&gt;</c>.
+ * For example, <js>"BeanContext.swaps.lc"</js> refers to a property on the <c>BeanContext</c> class
+ * called <c>swaps</c> that has a data type of <c>List&lt;Class&gt;</c>.
  *
  * <h5 class='topic'>Property value normalization</h5>
  *
@@ -140,19 +140,19 @@ import org.apache.juneau.reflect.*;
  * <br>This ensures that the resulting order of the list is in most-to-least importance.
  *
  * <p>
- * For example, multiple calls to <c>pojoSwaps()</c> causes new entries to be added to the beginning of the list
+ * For example, multiple calls to <c>swaps()</c> causes new entries to be added to the beginning of the list
  * so that previous values can be 'overridden':
  * <p class='bcode w800'>
  * 	<jc>// Swap order:  [MySwap2.class, MySwap1.class]</jc>
- * 	JsonSerializer.create().pojoSwaps(MySwap1.<jk>class</jk>).pojoSwaps(MySwap2.<jk>class</jk>).build();
+ * 	JsonSerializer.create().swaps(MySwap1.<jk>class</jk>).swaps(MySwap2.<jk>class</jk>).build();
  * </p>
  *
  * <p>
- * Note that the order is different when passing multiple values into the <c>pojoSwaps()</c> method, in which
+ * Note that the order is different when passing multiple values into the <c>swaps()</c> method, in which
  * case the order should be first-match-wins:
  * <p class='bcode w800'>
  * 	<jc>// Swap order:  [MySwap1.class, MySwap2.class]</jc>
- * 	JsonSerializer.create().pojoSwaps(MySwap1.<jk>class</jk>,MySwap2.<jk>class</jk>).build();
+ * 	JsonSerializer.create().swaps(MySwap1.<jk>class</jk>,MySwap2.<jk>class</jk>).build();
  * </p>
  *
  * <p>
@@ -161,9 +161,9 @@ import org.apache.juneau.reflect.*;
  * 	<jc>// Swap order:  [MySwap4.class, MySwap3.class, MySwap1.class, MySwap2.class]</jc>
  * 	JsonSerializer
  * 		.create()
- * 		.pojoSwaps(MySwap1.<jk>class</jk>,MySwap2.<jk>class</jk>)
- * 		.pojoSwaps(MySwap3.<jk>class</jk>)
- * 		.pojoSwaps(MySwap4.<jk>class</jk>)
+ * 		.swaps(MySwap1.<jk>class</jk>,MySwap2.<jk>class</jk>)
+ * 		.swaps(MySwap3.<jk>class</jk>)
+ * 		.swaps(MySwap4.<jk>class</jk>)
  * 		.build();
  * </p>
  *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
index f643fca..637c6b1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
@@ -1377,46 +1377,36 @@ public @interface BeanConfig {
 	/**
 	 * Configuration property:  POJO swaps.
 	 *
-	 * <p>
-	 * POJO swaps are used to "swap out" non-serializable classes with serializable equivalents during serialization,
-	 * and "swap in" the non-serializable class during parsing.
-	 *
-	 * <p>
-	 * An example of a POJO swap would be a <c>Calendar</c> object that gets swapped out for an ISO8601 string.
-	 *
-	 * <p>
-	 * Multiple POJO swaps can be associated with a single class.
-	 * <br>When multiple swaps are applicable to the same class, the media type pattern defined by
-	 * {@link PojoSwap#forMediaTypes()} or {@link Swap#mediaTypes() @Swap(mediaTypes)} are used to come up with the best match.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_pojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.PojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.PerMediaTypePojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.OneWayPojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.SwapAnnotation}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.AutoPojoSwaps}
-	 * 	<li class='link'>{@doc juneau-marshall.Transforms.SurrogateClasses}
-	 * </ul>
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #swaps(Class[])}
+	 * </div>
 	 */
+	@SuppressWarnings("javadoc")
+	@Deprecated
 	Class<? extends PojoSwap<?,?>>[] pojoSwaps() default {};
 
 	/**
 	 * Configuration property:  Add to POJO swap classes.
 	 *
-	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_pojoSwaps}
-	 * </ul>
+	 *
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #swaps_replace(Class[])}
+	 * </div>
 	 */
+	@SuppressWarnings("javadoc")
+	@Deprecated
 	Class<? extends PojoSwap<?,?>>[] pojoSwaps_replace() default {};
 
 	/**
 	 * Configuration property:  Remove from POJO swap classes.
 	 *
-	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_pojoSwaps}
-	 * </ul>
+	 *
+	 * <div class='warn'>
+	 * 	<b>Deprecated</b> - Use {@link #swaps_remove(Class[])}
+	 * </div>
 	 */
+	@SuppressWarnings("javadoc")
+	@Deprecated
 	Class<? extends PojoSwap<?,?>>[] pojoSwaps_remove() default {};
 
 	/**
@@ -1471,6 +1461,51 @@ public @interface BeanConfig {
 	String sortProperties() default "";
 
 	/**
+	 * Configuration property:  Java object swaps.
+	 *
+	 * <p>
+	 * Swaps are used to "swap out" non-serializable classes with serializable equivalents during serialization,
+	 * and "swap in" the non-serializable class during parsing.
+	 *
+	 * <p>
+	 * An example of a swap would be a <c>Calendar</c> object that gets swapped out for an ISO8601 string.
+	 *
+	 * <p>
+	 * Multiple swaps can be associated with a single class.
+	 * <br>When multiple swaps are applicable to the same class, the media type pattern defined by
+	 * {@link PojoSwap#forMediaTypes()} or {@link Swap#mediaTypes() @Swap(mediaTypes)} are used to come up with the best match.
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.PojoSwaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.PerMediaTypePojoSwaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.OneWayPojoSwaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.SwapAnnotation}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.AutoPojoSwaps}
+	 * 	<li class='link'>{@doc juneau-marshall.Transforms.SurrogateClasses}
+	 * </ul>
+	 */
+	Class<?>[] swaps() default {};
+
+	/**
+	 * Configuration property:  Add to Java object swap classes.
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
+	 * </ul>
+	 */
+	Class<?>[] swaps_replace() default {};
+
+	/**
+	 * Configuration property:  Remove from Java object swap classes.
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
+	 * </ul>
+	 */
+	Class<?>[] swaps_remove() default {};
+
+	/**
 	 * Configuration property:  Time zone.
 	 *
 	 * <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
index 5c9cc6d..2a4b29c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
@@ -135,6 +135,12 @@ public class BeanConfigApply extends ConfigApply<BeanConfig> {
 			psb.set(BEAN_propertyNamer, a.propertyNamer());
 		if (! a.sortProperties().isEmpty())
 			psb.set(BEAN_sortProperties, bool(a.sortProperties()));
+		if (a.swaps().length != 0)
+			psb.prependTo(BEAN_swaps, a.swaps());
+		if (a.swaps_replace().length != 0)
+			psb.set(BEAN_swaps, a.swaps_replace());
+		if (a.swaps_remove().length != 0)
+			psb.removeFrom(BEAN_swaps, a.swaps_remove());
 		if (! a.timeZone().isEmpty())
 			psb.set(BEAN_timeZone, timeZone(a.timeZone()));
 		if (! a.useEnumNames().isEmpty())
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
index 2ca96af..e544676 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
@@ -434,32 +434,32 @@ public class CsvParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public CsvParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public CsvParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public CsvParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public CsvParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvParserBuilder sortProperties() {
-		super.sortProperties();
+	public CsvParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
index bd56325..610c3e6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
@@ -434,32 +434,32 @@ public class CsvSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public CsvSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public CsvSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public CsvSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public CsvSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public CsvSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
index 799ef55..b3c11a8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
@@ -960,32 +960,32 @@ public class HtmlDocSerializerBuilder extends HtmlStrippedDocSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlDocSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public HtmlDocSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlDocSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public HtmlDocSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlDocSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public HtmlDocSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlDocSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public HtmlDocSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlDocSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public HtmlDocSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
index f242b2d..55ac6c0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
@@ -437,32 +437,32 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public HtmlParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public HtmlParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public HtmlParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public HtmlParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlParserBuilder sortProperties() {
-		super.sortProperties();
+	public HtmlParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserSession.java
index c0732ed..b549fc4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserSession.java
@@ -89,7 +89,7 @@ public final class HtmlParserSession extends XmlParserSession {
 
 		if (eType == null)
 			eType = (ClassMeta<T>)object();
-		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getPojoSwap(this);
+		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getSwap(this);
 		BuilderSwap<T,Object> builder = (BuilderSwap<T,Object>)eType.getBuilderSwap(this);
 		ClassMeta<?> sType = null;
 		if (builder != null)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
index a7591a8..19ebcce 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
@@ -655,32 +655,32 @@ public class HtmlSchemaSerializerBuilder extends HtmlSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSchemaSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public HtmlSchemaSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSchemaSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public HtmlSchemaSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSchemaSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public HtmlSchemaSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSchemaSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public HtmlSchemaSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSchemaSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public HtmlSchemaSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
index f134111..4f31e25 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
@@ -586,32 +586,32 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public HtmlSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public HtmlSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public HtmlSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public HtmlSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public HtmlSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index e617660..6aba5e0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -192,7 +192,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 			type = object();
 		else if (type.isDelegate())
 			type = ((Delegate)o).getClassMeta();
-		PojoSwap swap = type.getPojoSwap(this);
+		PojoSwap swap = type.getSwap(this);
 		if (swap != null) {
 			o = swap(swap, o);
 			type = swap.getSwapClassMeta(this);
@@ -273,7 +273,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 				typeName = aType.getDictionaryName();
 
 			// Swap if necessary
-			PojoSwap swap = aType.getPojoSwap(this);
+			PojoSwap swap = aType.getSwap(this);
 			if (swap != null) {
 				o = swap(swap, o);
 				sType = swap.getSwapClassMeta(this);
@@ -580,8 +580,8 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 			for (Object o : c) {
 				ClassMeta<?> cm = getClassMetaForObject(o);
 
-				if (cm != null && cm.getPojoSwap(this) != null) {
-					PojoSwap swap = cm.getPojoSwap(this);
+				if (cm != null && cm.getSwap(this) != null) {
+					PojoSwap swap = cm.getSwap(this);
 					o = swap(swap, o);
 					cm = swap.getSwapClassMeta(this);
 				}
@@ -735,7 +735,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 
 		ClassMeta<?> cm1 = getClassMetaForObject(o1);
 
-		PojoSwap swap = cm1.getPojoSwap(this);
+		PojoSwap swap = cm1.getSwap(this);
 		o1 = swap(swap, o1);
 		if (swap != null)
 			cm1 = swap.getSwapClassMeta(this);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
index cd2ad3a..a659e39 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
@@ -434,32 +434,32 @@ public class HtmlStrippedDocSerializerBuilder extends HtmlSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlStrippedDocSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public HtmlStrippedDocSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlStrippedDocSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public HtmlStrippedDocSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlStrippedDocSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public HtmlStrippedDocSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlStrippedDocSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public HtmlStrippedDocSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlStrippedDocSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public HtmlStrippedDocSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
index cb61b2c..2eb3437 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
@@ -433,32 +433,32 @@ public class JsoParserBuilder extends InputStreamParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public JsoParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public JsoParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public JsoParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public JsoParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoParserBuilder sortProperties() {
-		super.sortProperties();
+	public JsoParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
index a832446..b08133e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
@@ -433,32 +433,32 @@ public class JsoSerializerBuilder extends OutputStreamSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public JsoSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public JsoSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public JsoSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public JsoSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public JsoSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
index ce7adf8..4950802 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
@@ -468,32 +468,32 @@ public class JsonParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public JsonParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public JsonParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public JsonParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public JsonParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonParserBuilder sortProperties() {
-		super.sortProperties();
+	public JsonParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
index 56098e3..3b056b2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
@@ -116,7 +116,7 @@ public final class JsonParserSession extends ReaderParserSession {
 
 		if (eType == null)
 			eType = object();
-		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getPojoSwap(this);
+		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getSwap(this);
 		BuilderSwap<T,Object> builder = (BuilderSwap<T,Object>)eType.getBuilderSwap(this);
 		ClassMeta<?> sType = null;
 		if (builder != null)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
index 171b3c0..92c3e32 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
@@ -654,32 +654,32 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public JsonSchemaSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public JsonSchemaSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public JsonSchemaSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public JsonSchemaSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public JsonSchemaSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
index a5c67f7..7fc8032 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
@@ -56,7 +56,7 @@ import org.apache.juneau.serializer.*;
  * The types above are considered "JSON-primitive" object types.
  * Any non-JSON-primitive object types are transformed into JSON-primitive object types through
  * {@link org.apache.juneau.transform.PojoSwap PojoSwaps} associated through the
- * {@link BeanContextBuilder#pojoSwaps(Class...)} method.
+ * {@link BeanContextBuilder#swaps(Object...)} method.
  * Several default transforms are provided for transforming Dates, Enums, Iterators, etc...
  *
  * <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
index b16df79..714abd3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
@@ -517,32 +517,32 @@ public class JsonSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public JsonSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public JsonSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public JsonSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public JsonSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public JsonSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerSession.java
index 8e9acf1..c24a5cc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerSession.java
@@ -117,7 +117,7 @@ public class JsonSerializerSession extends WriterSerializerSession {
 		String typeName = getBeanTypeName(eType, aType, pMeta);
 
 		// Swap if necessary
-		PojoSwap swap = aType.getPojoSwap(this);
+		PojoSwap swap = aType.getSwap(this);
 		if (swap != null) {
 			o = swap(swap, o);
 			sType = swap.getSwapClassMeta(this);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
index 9cdc749..bdf2cf8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
@@ -433,32 +433,32 @@ public class SimpleJsonParserBuilder extends JsonParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public SimpleJsonParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public SimpleJsonParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public SimpleJsonParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public SimpleJsonParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonParserBuilder sortProperties() {
-		super.sortProperties();
+	public SimpleJsonParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
index 8c2930f..46ac7aa 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
@@ -433,32 +433,32 @@ public class SimpleJsonSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public SimpleJsonSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public SimpleJsonSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public SimpleJsonSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public SimpleJsonSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public SimpleJsonSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
index 379af74..44ca076 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
@@ -684,32 +684,32 @@ public class JsonSchemaGeneratorBuilder extends BeanTraverseBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaGeneratorBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public JsonSchemaGeneratorBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaGeneratorBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public JsonSchemaGeneratorBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaGeneratorBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public JsonSchemaGeneratorBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaGeneratorBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public JsonSchemaGeneratorBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaGeneratorBuilder sortProperties() {
-		super.sortProperties();
+	public JsonSchemaGeneratorBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
index 991c9bd..7f38072 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
@@ -112,7 +112,7 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 
 		ClassMeta<?> aType;			// The actual type (will be null if recursion occurs)
 		ClassMeta<?> sType;			// The serialized type
-		PojoSwap pojoSwap = eType.getPojoSwap(this);
+		PojoSwap pojoSwap = eType.getSwap(this);
 
 		aType = push(attrName, eType, null);
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
index 4c7fc38..461535f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
@@ -433,32 +433,32 @@ public class MsgPackParserBuilder extends InputStreamParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public MsgPackParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public MsgPackParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public MsgPackParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public MsgPackParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackParserBuilder sortProperties() {
-		super.sortProperties();
+	public MsgPackParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java
index 1d5dafe..7ae1e7c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java
@@ -59,7 +59,7 @@ public final class MsgPackParserSession extends InputStreamParserSession {
 
 		if (eType == null)
 			eType = object();
-		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getPojoSwap(this);
+		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getSwap(this);
 		BuilderSwap<T,Object> builder = (BuilderSwap<T,Object>)eType.getBuilderSwap(this);
 		ClassMeta<?> sType = null;
 		if (builder != null)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
index bf62918..645b25b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
@@ -433,32 +433,32 @@ public class MsgPackSerializerBuilder extends OutputStreamSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public MsgPackSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public MsgPackSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public MsgPackSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public MsgPackSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public MsgPackSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java
index 898c0f2..88ffd7c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerSession.java
@@ -100,7 +100,7 @@ public final class MsgPackSerializerSession extends OutputStreamSerializerSessio
 		String typeName = getBeanTypeName(eType, aType, pMeta);
 
 		// Swap if necessary
-		PojoSwap swap = aType.getPojoSwap(this);
+		PojoSwap swap = aType.getSwap(this);
 		if (swap != null) {
 			o = swap(swap, o);
 			sType = swap.getSwapClassMeta(this);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
index e24c759..0ac4216 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
@@ -549,32 +549,32 @@ public class OpenApiParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public OpenApiParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public OpenApiParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public OpenApiParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public OpenApiParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiParserBuilder sortProperties() {
-		super.sortProperties();
+	public OpenApiParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
index bc769b5..ee219bd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
@@ -113,7 +113,7 @@ public class OpenApiParserSession extends UonParserSession {
 			in = schema.getDefault();
 		} else {
 
-			PojoSwap<T,Object> swap = (PojoSwap<T,Object>)type.getPojoSwap(this);
+			PojoSwap<T,Object> swap = (PojoSwap<T,Object>)type.getSwap(this);
 			BuilderSwap<T,Object> builder = (BuilderSwap<T,Object>)type.getBuilderSwap(this);
 			ClassMeta<?> sType = null;
 			if (builder != null)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
index a2e1089..b6bb5a3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
@@ -560,32 +560,32 @@ public class OpenApiSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public OpenApiSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public OpenApiSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public OpenApiSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public OpenApiSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public OpenApiSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerSession.java
index 19f9429..0ec36f2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerSession.java
@@ -99,7 +99,7 @@ public class OpenApiSerializerSession extends UonSerializerSession {
 			type = object();
 
 		// Swap if necessary
-		PojoSwap swap = type.getPojoSwap(this);
+		PojoSwap swap = type.getSwap(this);
 		if (swap != null && ! type.isDateOrCalendarOrTemporal()) {
 			value = swap(swap, value);
 			type = swap.getSwapClassMeta(this);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
index 0d28802..ab2f0b8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
@@ -478,32 +478,32 @@ public class InputStreamParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public InputStreamParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public InputStreamParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public InputStreamParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public InputStreamParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public InputStreamParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public InputStreamParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public InputStreamParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public InputStreamParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public InputStreamParserBuilder sortProperties() {
-		super.sortProperties();
+	public InputStreamParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
index 69ec940..8b23577 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
@@ -766,32 +766,32 @@ public class ParserBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public ParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public ParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public ParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public ParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserBuilder sortProperties() {
-		super.sortProperties();
+	public ParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java
index 8198089..0f27aa9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroup.java
@@ -59,7 +59,7 @@ import org.apache.juneau.http.*;
  *
  * 	<jc>// Change settings on parsers simultaneously</jc>
  * 	b.set(BeanContext.<jsf>BEAN_beansRequireSerializable</jsf>, <jk>true</jk>)
- * 		.pojoSwaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>);
+ * 		.swaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>);
  *
  * 	ParserGroup g = b.build();
  *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
index bae4a7a..7f7b48a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
@@ -751,32 +751,32 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserGroupBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public ParserGroupBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserGroupBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public ParserGroupBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserGroupBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public ParserGroupBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserGroupBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public ParserGroupBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserGroupBuilder sortProperties() {
-		super.sortProperties();
+	public ParserGroupBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
index d5ef179..b2f588e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
@@ -781,7 +781,7 @@ public abstract class ParserSession extends BeanSession {
 
 		if (type == null)
 			type = (ClassMeta<T>)object();
-		PojoSwap swap = type.getPojoSwap(this);
+		PojoSwap swap = type.getSwap(this);
 		ClassMeta<?> sType = swap == null ? type : swap.getSwapClassMeta(this);
 
 		Object o = s;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
index 807d38a..667c8c0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
@@ -501,32 +501,32 @@ public abstract class ReaderParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ReaderParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public ReaderParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ReaderParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public ReaderParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ReaderParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public ReaderParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ReaderParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public ReaderParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ReaderParserBuilder sortProperties() {
-		super.sortProperties();
+	public ReaderParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
index a7b2f8c..eb137a6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
@@ -434,32 +434,32 @@ public class PlainTextParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public PlainTextParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public PlainTextParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public PlainTextParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public PlainTextParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextParserBuilder sortProperties() {
-		super.sortProperties();
+	public PlainTextParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
index aa7da48..8ae41d8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
@@ -434,32 +434,32 @@ public class PlainTextSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public PlainTextSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public PlainTextSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public PlainTextSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public PlainTextSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public PlainTextSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
index eafbba1..2fc78a5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
@@ -481,32 +481,32 @@ public class OutputStreamSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OutputStreamSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public OutputStreamSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OutputStreamSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public OutputStreamSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OutputStreamSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public OutputStreamSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OutputStreamSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public OutputStreamSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OutputStreamSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public OutputStreamSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
index dc18760..eef70e3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
@@ -1072,32 +1072,32 @@ public class SerializerBuilder extends BeanTraverseBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public SerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public SerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public SerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public SerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerBuilder sortProperties() {
-		super.sortProperties();
+	public SerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
index 24769f4..28fe169 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
@@ -52,7 +52,7 @@ import org.apache.juneau.http.*;
  * 	<jc>// Construct a new serializer group</jc>
  * 	SerializerGroup g = SerializerGroup.<jsm>create</jsm>();
  * 		.append(JsonSerializer.<jk>class</jk>, XmlSerializer.<jk>class</jk>); <jc>// Add some serializers to it</jc>
- * 		.ws().pojoSwaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>) <jc>// Change settings for all serializers in the group.</jc>
+ * 		.ws().swaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>) <jc>// Change settings for all serializers in the group.</jc>
  * 		.build();
  *
  * 	<jc>// Find the appropriate serializer by Accept type</jc>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
index 85827e0..c5c4851 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
@@ -1029,32 +1029,32 @@ public class SerializerGroupBuilder extends BeanTraverseBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerGroupBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public SerializerGroupBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerGroupBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public SerializerGroupBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerGroupBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public SerializerGroupBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerGroupBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public SerializerGroupBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerGroupBuilder sortProperties() {
-		super.sortProperties();
+	public SerializerGroupBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
index cdc7bf9..56a18af 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
@@ -305,7 +305,7 @@ public abstract class SerializerSession extends BeanTraverseSession {
 		try {
 			if (o == null)
 				return null;
-			PojoSwap f = (type == null || type.isObject() ? getClassMeta(o.getClass()).getPojoSwap(this) : type.getPojoSwap(this));
+			PojoSwap f = (type == null || type.isObject() ? getClassMeta(o.getClass()).getSwap(this) : type.getSwap(this));
 			if (f == null)
 				return o;
 			return f.swap(this, o);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
index c1fcb7f..d2b03b9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
@@ -695,32 +695,32 @@ public class WriterSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public WriterSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public WriterSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public WriterSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public WriterSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public WriterSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public WriterSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public WriterSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public WriterSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public WriterSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public WriterSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
index d475b8d..66bd60d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
@@ -454,32 +454,32 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SoapXmlSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public SoapXmlSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SoapXmlSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public SoapXmlSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SoapXmlSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public SoapXmlSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SoapXmlSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public SoapXmlSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SoapXmlSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public SoapXmlSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/MapSwap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/MapSwap.java
index 8c92742..855abdd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/MapSwap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/MapSwap.java
@@ -35,7 +35,7 @@ import org.apache.juneau.collections.*;
  * 	}
  *
  * 	<jc>// Use it to serialize a byte array.</jc>
- * 	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(MyBeanSwap.<jk>class</jk>).build();
+ * 	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().swaps(MyBeanSwap.<jk>class</jk>).build();
  * 	String json = s.serialize(<jk>new</jk> MyBean(<js>"bar"</js>));  <jc>// Produces "{foo:'bar'}"</jc>
  * </p>
  *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java
index 2f12167..b29d4f8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/PojoSwap.java
@@ -43,12 +43,9 @@ import org.apache.juneau.serializer.*;
  * <ul class='javatree'>
  * 	<li class='ja'>{@link Swap @Swap}
  * 	<li class='ja'>{@link Swaps @Swaps}
- * 	<li class='jm'>{@link BeanContextBuilder#pojoSwaps(Object...)}
- * 	<li class='jm'>{@link BeanContextBuilder#pojoSwaps(Class...)}
- * 	<li class='jm'>{@link BeanContextBuilder#pojoSwapsReplace(Object...)}
- * 	<li class='jm'>{@link BeanContextBuilder#pojoSwapsReplace(Class...)}
- * 	<li class='jm'>{@link BeanContextBuilder#pojoSwapsRemove(Object...)}
- * 	<li class='jm'>{@link BeanContextBuilder#pojoSwapsRemove(Class...)}
+ * 	<li class='jm'>{@link BeanContextBuilder#swaps(Object...)}
+ * 	<li class='jm'>{@link BeanContextBuilder#swaps(Object...)}
+ * 	<li class='jm'>{@link BeanContextBuilder#swaps(Object...)}
  * </ul>
  *
  * <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/StringSwap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/StringSwap.java
index 3c1852d..2cb2a9a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/StringSwap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/StringSwap.java
@@ -34,7 +34,7 @@ import org.apache.juneau.*;
  * 	}
  *
  * 	<jc>// Use it to serialize a byte array.</jc>
- * 	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(ByteArrayBase64Swap.<jk>class</jk>).build();
+ * 	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().swaps(ByteArrayBase64Swap.<jk>class</jk>).build();
  * 	String json = s.serialize(<jk>new byte</jk>[] {1,2,3});  <jc>// Produces "'AQID'"</jc>
  * </p>
  *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java
index 751789b..3b45b0c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/Surrogate.java
@@ -46,17 +46,17 @@ import org.apache.juneau.annotation.*;
  * </p>
  *
  * <p>
- * Surrogate classes are associated with serializers and parsers using the {@link BeanContextBuilder#pojoSwaps(Class...)}
+ * Surrogate classes are associated with serializers and parsers using the {@link BeanContextBuilder#swaps(Class...)}
  * method.
  * <p class='bcode w800'>
  * 	JsonSerializer s = JsonSerializer
  * 		.<jsm>create</jsm>()
- * 		.pojoSwaps(MySurrogate.<jk>class</jk>)
+ * 		.swaps(MySurrogate.<jk>class</jk>)
  * 		.build();
  *
  * 	JsonParser p = JsonParser
  * 		.<jsm>create</jsm>()
- * 		.pojoSwaps(MySurrogate.<jk>class</jk>)
+ * 		.swaps(MySurrogate.<jk>class</jk>)
  * 		.build();
  * </p>
  *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
index b6eb19e..a6b2a57 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
@@ -507,32 +507,32 @@ public class UonParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public UonParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public UonParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public UonParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public UonParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonParserBuilder sortProperties() {
-		super.sortProperties();
+	public UonParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
index b09fded..dbfc4de 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
@@ -162,7 +162,7 @@ public class UonParserSession extends ReaderParserSession implements HttpPartPar
 
 		if (eType == null)
 			eType = object();
-		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getPojoSwap(this);
+		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getSwap(this);
 		BuilderSwap<T,Object> builder = (BuilderSwap<T,Object>)eType.getBuilderSwap(this);
 		ClassMeta<?> sType = null;
 		if (builder != null)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
index cabb4b5..cd73ebf 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
@@ -614,32 +614,32 @@ public class UonSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public UonSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public UonSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public UonSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public UonSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public UonSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java
index 8811793..fd42b4b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerSession.java
@@ -127,7 +127,7 @@ public class UonSerializerSession extends WriterSerializerSession implements Htt
 		String typeName = getBeanTypeName(eType, aType, pMeta);
 
 		// Swap if necessary
-		PojoSwap swap = aType.getPojoSwap(this);
+		PojoSwap swap = aType.getSwap(this);
 		if (swap != null) {
 			o = swap(swap, o);
 			sType = swap.getSwapClassMeta(this);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
index cfc5f31..ca65ca9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
@@ -468,32 +468,32 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public UrlEncodingParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public UrlEncodingParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public UrlEncodingParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public UrlEncodingParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingParserBuilder sortProperties() {
-		super.sortProperties();
+	public UrlEncodingParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
index 55851ba..eb3b487 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
@@ -87,7 +87,7 @@ public class UrlEncodingParserSession extends UonParserSession {
 
 		if (eType == null)
 			eType = (ClassMeta<T>)object();
-		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getPojoSwap(this);
+		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getSwap(this);
 		BuilderSwap<T,Object> builder = (BuilderSwap<T,Object>)eType.getBuilderSwap(this);
 		ClassMeta<?> sType = null;
 		if (builder != null)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
index 9a97f34..26fbd93 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
@@ -468,32 +468,32 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public UrlEncodingSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public UrlEncodingSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public UrlEncodingSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public UrlEncodingSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public UrlEncodingSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
index 5767ebf..29fa799 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
@@ -106,7 +106,7 @@ public class UrlEncodingSerializerSession extends UonSerializerSession {
 		String typeName = getBeanTypeName(eType, aType, null);
 
 		// Swap if necessary
-		PojoSwap swap = aType.getPojoSwap(this);
+		PojoSwap swap = aType.getSwap(this);
 		if (swap != null) {
 			o = swap(swap, o);
 			sType = swap.getSwapClassMeta(this);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
index 33b8cdd..60afee9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
@@ -610,32 +610,32 @@ public class XmlParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlParserBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public XmlParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlParserBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public XmlParserBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlParserBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public XmlParserBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public XmlParserBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlParserBuilder sortProperties() {
-		super.sortProperties();
+	public XmlParserBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
index 7e74691..c4fce6b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
@@ -287,7 +287,7 @@ public class XmlParserSession extends ReaderParserSession {
 
 		if (eType == null)
 			eType = (ClassMeta<T>)object();
-		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getPojoSwap(this);
+		PojoSwap<T,Object> swap = (PojoSwap<T,Object>)eType.getSwap(this);
 		BuilderSwap<T,Object> builder = (BuilderSwap<T,Object>)eType.getBuilderSwap(this);
 		ClassMeta<?> sType = null;
 		if (builder != null)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
index a632733..cab1bfd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
@@ -647,32 +647,32 @@ public class XmlSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public XmlSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public XmlSerializerBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public XmlSerializerBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public XmlSerializerBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlSerializerBuilder sortProperties() {
-		super.sortProperties();
+	public XmlSerializerBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
index 3595a5f..636c16c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
@@ -291,7 +291,7 @@ public class XmlSerializerSession extends WriterSerializerSession {
 			sType = aType;
 
 			// Swap if necessary
-			PojoSwap swap = aType.getPojoSwap(this);
+			PojoSwap swap = aType.getSwap(this);
 			if (swap != null) {
 				o = swap(swap, o);
 				sType = swap.getSwapClassMeta(this);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
index e3a70a1..9d335bd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
@@ -663,24 +663,6 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
-	public XmlSchemaSerializerBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
-		return this;
-	}
-
-	@Override /* BeanContextBuilder */
-	public XmlSchemaSerializerBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
-		return this;
-	}
-
-	@Override /* BeanContextBuilder */
-	public XmlSchemaSerializerBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
-		return this;
-	}
-
-	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
diff --git a/juneau-doc/docs/ReleaseNotes/8.1.4.html b/juneau-doc/docs/ReleaseNotes/8.1.4.html
index 5607ab6..0c08586 100644
--- a/juneau-doc/docs/ReleaseNotes/8.1.4.html
+++ b/juneau-doc/docs/ReleaseNotes/8.1.4.html
@@ -235,6 +235,7 @@
 		.beanFilters(BeanFilter.<jsm>create</jsm>(MyBean.<jk>class</jk>).bpi(<js>"foo,bar,baz"</js>).build())
 		.build();
 		</p>
+	<li><c>BeanContext.REST_pojoSwaps</c> replaced with {@link oajr.BeanContext#REST_swaps} (and builder methods as well).
 </ul>
 
 <h5 class='topic w800'>juneau-rest-server</h5>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/09.Groups.html b/juneau-doc/docs/Topics/02.juneau-marshall/09.Groups.html
index 0665ca9..df38758 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/09.Groups.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/09.Groups.html
@@ -26,7 +26,7 @@ SerializerGroups and ParserGroups
 	SerializerGroup sg = SerializerGroup.<jsm>create</jsm>()
 		.append(JsonSerializer.<jk>class</jk>, UrlEncodingSerializer.<jk>class</jk>);
 		.ws   <jc>// or .useWhitespace(true)</jc>
-		.pojoSwaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>)
+		.swaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>)
 		.build();
 
 	<jc>// Find the appropriate serializer by Accept type and serialize our POJO to the specified writer.</jc>
@@ -36,7 +36,7 @@ SerializerGroups and ParserGroups
 	<jc>// Construct a new parser group with configuration parameters that get applied to all parsers.</jc>
 	ParserGroup pg = ParserGroup.<jsm>create</jsm>()
 		.append(JsonSerializer.<jk>class</jk>, UrlEncodingSerializer.<jk>class</jk>);
- 		.pojoSwaps(CalendarSwap.IsoLocalDateTime.<jk>class</jk>)
+ 		.swaps(CalendarSwap.IsoLocalDateTime.<jk>class</jk>)
  		.build();
 
 	Person p = pg.getParser(<js>"text/json"</js>).parse(myReader, Person.<jk>class</jk>);
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/10.ContextsBuildersSessionsPropertyStores.html b/juneau-doc/docs/Topics/02.juneau-marshall/10.ContextsBuildersSessionsPropertyStores.html
index ae5e5f8..1b4b923 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/10.ContextsBuildersSessionsPropertyStores.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/10.ContextsBuildersSessionsPropertyStores.html
@@ -119,8 +119,8 @@ Contexts, Builders, Sessions, and PropertyStores
 </p>
 <p class='bpcode w800'>
 	<jc>// Two serializers created with identical configurations will always be the same copy.</jc> 
-	WriterSerializer s1 = JsonSerializer.<jsm>create</jsm>().pojoSwaps(MySwap.<jk>class</jk>).simple().build();
-	WriterSerializer s2 = JsonSerializer.<jsm>create</jsm>().set(<jsf>JSON_simpleMode</jsf>, <jk>true</jk>).pojoSwaps(MySwap.<jk>class</jk>).build();
+	WriterSerializer s1 = JsonSerializer.<jsm>create</jsm>().swaps(MySwap.<jk>class</jk>).simple().build();
+	WriterSerializer s2 = JsonSerializer.<jsm>create</jsm>().set(<jsf>JSON_simpleMode</jsf>, <jk>true</jk>).swaps(MySwap.<jk>class</jk>).build();
 	<jk>assert</jk>(s1 == s2);
 </p>
 <p>
@@ -137,7 +137,7 @@ Contexts, Builders, Sessions, and PropertyStores
 <p class='bpcode w800'>
 	PropertyStore ps = PropertyStore
 		.<jsm>create</jsm>()
-		.set(<js>"BeanContext.pojoSwaps.lc"</js>, MySwap.<jk>class</jk>)
+		.set(<js>"BeanContext.swaps.lo"</js>, MySwap.<jk>class</jk>)
 		.set(<js>"JsonSerializer.simpleMode.b"</js>, <jk>true</jk>)
 		.build();
 </p>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms.html
index 0118c63..d2ba47d 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms.html
@@ -39,7 +39,7 @@ Transforms
 	<li class='jc'>{@link oaj.BeanContext}
 	<ul>
 		<li class='jf'>{@link oaj.BeanContext#BEAN_beanFilters BEAN_beanFilters}
-		<li class='jf'>{@link oaj.BeanContext#BEAN_pojoSwaps BEAN_pojoSwaps}
+		<li class='jf'>{@link oaj.BeanContext#BEAN_swaps BEAN_swaps}
 	</ul>
 </ul>
 <p>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/01.PojoSwaps.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/01.PojoSwaps.html
index 39eaa19..33a2c17 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/01.PojoSwaps.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/01.PojoSwaps.html
@@ -13,11 +13,11 @@
  ***************************************************************************************************************************/
  -->
 
-{8.1.0-updated} 
-PojoSwaps
+{8.1.0-updated,8.1.4-updated} 
+Swaps
 
 <p>
-	{@link oaj.transform.PojoSwap PojoSwaps} are a critical component of Juneau.
+	{@link oaj.transform.PojoSwap Swaps} are a critical component of Juneau.
 	They allow the serializers and parsers to handle Java objects that wouldn't normally be serializable.
 </p>
 <p>
@@ -57,11 +57,11 @@ PojoSwaps
 </p>
 <p class='bpcode w800'>
 	<jc>// Create a new JSON serializer with our swap.</jc>
-	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(MyBeanSwap.<jk>class</jk>).build();
+	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().swaps(MyBeanSwap.<jk>class</jk>).build();
 	String json = s.serialize(<jk>new</jk> MyBean());
 	
 	<jc>// Create a JSON parser with our swap.</jc>
-	ReaderParser p = JsonParser.<jsm>create</jsm>().pojoSwaps(MyBeanSwap.<jk>class</jk>).build();
+	ReaderParser p = JsonParser.<jsm>create</jsm>().swaps(MyBeanSwap.<jk>class</jk>).build();
 	MyBean bean = p.parse(json, MyBean.<jk>class</jk>);
 </p>
 <p>
@@ -98,8 +98,8 @@ PojoSwaps
 </p>
 <p class='bpcode w800'>
 	<jc>// Create a JSON serializer and register the BASE64 encoding swap with it.</jc>
-	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(ByteArrayBase64Swap.<jk>class</jk>).build();
-	ReaderParser p = JsonParser.<jsm>create</jsm>().pojoSwaps(ByteArrayBase64Swap.<jk>class</jk>).build();
+	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().swaps(ByteArrayBase64Swap.<jk>class</jk>).build();
+	ReaderParser p = JsonParser.<jsm>create</jsm>().swaps(ByteArrayBase64Swap.<jk>class</jk>).build();
 	
 	<jk>byte</jk>[] bytes = {1,2,3};
 	String json = s.serialize(bytes);		<jc>// Produces "'AQID'"</jc>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/04.PerMediaTypePojoSwaps.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/04.PerMediaTypePojoSwaps.html
index 4904277..a800a41 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/04.PerMediaTypePojoSwaps.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/04.PerMediaTypePojoSwaps.html
@@ -13,8 +13,8 @@
  ***************************************************************************************************************************/
  -->
 
-{8.1.0-updated} 
-Per-media-type PojoSwaps
+{8.1.0-updated,8.1.4-updated} 
+Per-media-type Swaps
 
 <p>
 	Swaps can also be defined per-media-type.		
@@ -74,7 +74,7 @@ Per-media-type PojoSwaps
 			SerializerGroup g = SerializerGroup.<jsm>create</jsm>()
 				.append(JsonSerializer.<jk>class</jk>, XmlSerializer.<jk>class</jk>, HtmlSerializer.<jk>class</jk>)
 				.sq()
-				.pojoSwaps(MyJsonSwap.<jk>class</jk>, MyXmlSwap.<jk>class</jk>, MyOtherSwap.<jk>class</jk>)
+				.swaps(MyJsonSwap.<jk>class</jk>, MyXmlSwap.<jk>class</jk>, MyOtherSwap.<jk>class</jk>)
 				.build();
 
 			MyPojo myPojo = <jk>new</jk> MyPojo();
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/05.OneWayPojoSwaps.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/05.OneWayPojoSwaps.html
index e8b210f..4e897ca 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/05.OneWayPojoSwaps.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/05.OneWayPojoSwaps.html
@@ -13,7 +13,7 @@
  ***************************************************************************************************************************/
  -->
 
-One-way PojoSwaps
+One-way Swaps
 
 <p>
 	In the previous sections, we defined two-way swaps, meaning swaps where the original objects could be 
@@ -23,7 +23,7 @@ One-way PojoSwaps
 	For these, we can use one-way object swaps.
 </p>
 <p>
-	A one-way POJO swap is simply an object transform that only implements the {@code swap()} method.  
+	A one-way swap is simply an object transform that only implements the {@code swap()} method.  
 	The {@code unswap()} method is simply left unimplemented.
 </p>
 <p>
@@ -49,7 +49,7 @@ One-way PojoSwaps
 </p>
 <p class='bpcode w800'>
 	<jc>// Create a JSON serializer that can serialize Iterators.</jc>
-	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(IteratorSwap.<jk>class</jk>).build();
+	WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().swaps(IteratorSwap.<jk>class</jk>).build();
 	
 	<jc>// Construct an iterator we want to serialize.</jc>
 	Iterator i = OList.<jsm>of</jsm>(1,2,3).iterator();
@@ -58,6 +58,6 @@ One-way PojoSwaps
 	String json = s.serialize(i);		<jc>// Produces "[1,2,3]"</jc>
 	
 	<jc>// Try to parse it.</jc>
-	ReaderParser p = JsonParser.<jsm>create</jsm>().pojoSwaps(IteratorSwap.<jk>class</jk>).build();
+	ReaderParser p = JsonParser.<jsm>create</jsm>().swaps(IteratorSwap.<jk>class</jk>).build();
 	i = p.parse(s, Iterator.<jk>class</jk>);		<jc>// Throws ParseException!!!</jc>
 </p>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/06.SwapAnnotation.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/06.SwapAnnotation.html
index 93c7660..f2c5e09 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/06.SwapAnnotation.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/06.SwapAnnotation.html
@@ -19,7 +19,7 @@
 <p>
 	{@link oaj.annotation.Swap @Swap} can be used to associate a swap class using an 
 	annotation.
-	This is often cleaner than using the builder <c>pojoSwaps()</c> method since you can keep
+	This is often cleaner than using the builder <c>swaps()</c> method since you can keep
 	your swap class near your POJO class. 
 </p>
 <p class='bpcode w800'>
diff --git a/juneau-doc/docs/Topics/04.juneau-dto/04.SwaggerUI.html b/juneau-doc/docs/Topics/04.juneau-dto/04.SwaggerUI.html
index 76c418a..6b56f78 100644
--- a/juneau-doc/docs/Topics/04.juneau-dto/04.SwaggerUI.html
+++ b/juneau-doc/docs/Topics/04.juneau-dto/04.SwaggerUI.html
@@ -58,13 +58,15 @@ Swagger UI
 		<jc>// Allow OPTIONS requests to be simulated using ?method=OPTIONS query parameter.</jc>
 		allowedMethodParams=<js>"OPTIONS"</js>,
 	
+	
+		...
+	)
+	<ja>@BeanConfig</ja>(
 		<jc>// POJO swaps to apply to all serializers/parsers.</jc>
-		pojoSwaps={
+		swaps={
 			<jc>// Use the SwaggerUI swap when rendering Swagger beans.</jc>
 			SwaggerUI.<jk>class</jk>
-		},
-	
-		...
+		}
 	)
 	<jk>public abstract class</jk> BasicRestServlet <jk>extends</jk> RestServlet <jk>implements</jk> BasicRestConfig {
 	
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/02.BasicRestServlet.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/02.BasicRestServlet.html
index 3028804..e5ecbd2 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/02.BasicRestServlet.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/02.BasicRestServlet.html
@@ -84,7 +84,7 @@ BasicRestServlet
 			<jc>// When parsing generated beans, ignore unknown properties that may only exist as getters and not setters.</jc>
 			ignoreUnknownBeanProperties=<js>"true"</js>,
 			<jc>// POJO swaps to apply to all serializers/parsers on this method.</jc>
-			pojoSwaps={
+			swaps={
 				<jc>// Use the SwaggerUI swap when rendering Swagger beans.</jc>
 				<jc>// This is a per-media-type swap that only applies to text/html requests.</jc>
 				SwaggerUI.<jk>class</jk>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/03.BasicRest.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/03.BasicRest.html
index 3962aac..86508ad 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/03.BasicRest.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/03.BasicRest.html
@@ -78,7 +78,7 @@ BasicRest
 			<jc>// When parsing generated beans, ignore unknown properties that may only exist as getters and not setters.</jc>
 			ignoreUnknownBeanProperties=<js>"true"</js>,
 			<jc>// POJO swaps to apply to all serializers/parsers on this method.</jc>
-			pojoSwaps={
+			swaps={
 				<jc>// Use the SwaggerUI swap when rendering Swagger beans.</jc>
 				<jc>// This is a per-media-type swap that only applies to text/html requests.</jc>
 				SwaggerUI.<jk>class</jk>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/05.RestContext.html b/juneau-doc/docs/Topics/06.juneau-rest-server/05.RestContext.html
index 0dfd03b..32f9ba1 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/05.RestContext.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/05.RestContext.html
@@ -45,7 +45,7 @@ RestContext
 	<jc>// Option #1 - Pass in through constructor.</jc>
 	<jk>public</jk> MyResource(RestContextBuilder builder) {
 			builder
-				.pojoSwaps(TemporalCalendarSwap.Rfc1123DateTime.<jk>class</jk>)
+				.swaps(TemporalCalendarSwap.Rfc1123DateTime.<jk>class</jk>)
 				.set(<jsf>PARSER_debug</jsf>, <jk>true</jk>);
 	}
 
@@ -53,7 +53,7 @@ RestContext
 	<ja>@RestHook</ja>(<jsf>INIT</jsf>)
 	<jk>public void</jk> init(RestContextBuilder builder) <jk>throws</jk> Exception {
 			builder
-				.pojoSwaps(TemporalCalendarSwap.Rfc1123DateTime.<jk>class</jk>)
+				.swaps(TemporalCalendarSwap.Rfc1123DateTime.<jk>class</jk>)
 				.set(<jsf>PARSER_debug</jsf>, <jk>true</jk>);
 	}
 </p>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/17.Transforms.html b/juneau-doc/docs/Topics/06.juneau-rest-server/17.Transforms.html
index 8b9b686..e3e6bf6 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/17.Transforms.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/17.Transforms.html
@@ -25,9 +25,9 @@ Transforms
 </p>
 <ul class='javatree'>
 	<li class='ja'>{@link oaj.annotation.BeanConfig#beanFilters() BeanConfig(beanFilters)} - On class or methods. 
-	<li class='ja'>{@link oaj.annotation.BeanConfig#pojoSwaps() BeanConfig(pojoSwaps)} - On class or methods. 
+	<li class='ja'>{@link oaj.annotation.BeanConfig#swaps() BeanConfig(swaps)} - On class or methods. 
 	<li class='jm'>{@link oajr.RestContextBuilder#beanFilters(Object...)} 
-	<li class='jm'>{@link oajr.RestContextBuilder#pojoSwaps(Object...)} 
+	<li class='jm'>{@link oajr.RestContextBuilder#swaps(Object...)} 
 </ul>
 <p class='bpcode w800'>
 	<jc>// Servlet with transforms applied</jc>
@@ -35,7 +35,7 @@ Transforms
 		...
 	)
 	<ja>@BeanConfig</ja>(
-		pojoSwaps={
+		swaps={
 			<jc>// Calendars should be serialized/parsed as ISO8601 date-time strings</jc>
 			TemporalCalendarSwap.IsoInstant.<jk>class</jk>,
 
@@ -61,7 +61,7 @@ Transforms
 		<jk>public</jk> MyRestServlet(RestContextBuilder builder) {
 			
 			builder
-				.pojoSwaps(
+				.swaps(
 					TemporalCalendarSwap.IsoInstant.<jk>class</jk>,
 					ByteArraySwap.Base64.<jk>class</jk>
 				) 
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/01.BasicRestServlet.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/01.BasicRestServlet.html
index 256c89e..d2c979f 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/01.BasicRestServlet.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/01.BasicRestServlet.html
@@ -74,7 +74,7 @@ BasicRestServlet
 			<jc>// When parsing generated beans, ignore unknown properties that may only exist as getters and not setters.</jc>
 			ignoreUnknownBeanProperties=<js>"true"</js>,
 			<jc>// POJO swaps to apply to all serializers/parsers on this method.</jc>
-			pojoSwaps={
+			swaps={
 				<jc>// Use the SwaggerUI swap when rendering Swagger beans.</jc>
 				<jc>// This is a per-media-type swap that only applies to text/html requests.</jc>
 				SwaggerUI.<jk>class</jk>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client.html b/juneau-doc/docs/Topics/09.juneau-rest-client.html
index 875344d..e4ca06f 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client.html
@@ -195,7 +195,7 @@ juneau-rest-client
 	}
 				
 	<jc>// GET request, getting a filtered object</jc>
-	<jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().pojoSwaps(TemporalCalendarSwap.IsoInstant.<jk>class</jk>).build()) {
+	<jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().swaps(TemporalCalendarSwap.IsoInstant.<jk>class</jk>).build()) {
 		Calendar birthDate = client
 			.get(<js>"http://localhost:10000/addressBook/0/birthDate"</js>)
 			.run()
diff --git a/juneau-examples/juneau-examples-rest-jetty-ftest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java b/juneau-examples/juneau-examples-rest-jetty-ftest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java
index 836c3ff..4dd3421 100644
--- a/juneau-examples/juneau-examples-rest-jetty-ftest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java
+++ b/juneau-examples/juneau-examples-rest-jetty-ftest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java
@@ -49,12 +49,12 @@ public class TestUtils {
 
 	private static JsonSerializer js2 = JsonSerializer.create()
 		.ssq()
-		.pojoSwaps(IteratorSwap.class, EnumerationSwap.class)
+		.swaps(IteratorSwap.class, EnumerationSwap.class)
 		.build();
 
 	private static JsonSerializer js3 = JsonSerializer.create()
 		.ssq()
-		.pojoSwaps(IteratorSwap.class, EnumerationSwap.class)
+		.swaps(IteratorSwap.class, EnumerationSwap.class)
 		.sortProperties()
 		.build();
 
diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
index fecced1..1826124 100644
--- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
+++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
@@ -73,7 +73,7 @@ import org.apache.juneau.transforms.*;
 		// Interpret these as their parent classes, not subclasses
 		HttpServletRequest.class, HttpSession.class, ServletContext.class,
 	},
-	pojoSwaps={
+	swaps={
 		// Add a special filter for Enumerations
 		EnumerationSwap.class
 	}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
index 4e8f0d2..8dec9a4 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
@@ -2724,24 +2724,6 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
-		return this;
-	}
-
-	@Override /* BeanContextBuilder */
-	public RestClientBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
-		return this;
-	}
-
-	@Override /* BeanContextBuilder */
-	public RestClientBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
-		return this;
-	}
-
-	@Override /* BeanContextBuilder */
 	public RestClientBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
index 9ecf564..05366fd 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
@@ -136,13 +136,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * {@link JsonSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link JsonParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"application/json"</js> unless overridden
@@ -183,13 +183,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link SimpleJsonSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link JsonParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"application/json"</js> unless overridden
@@ -226,13 +226,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * {@link XmlSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link XmlParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"text/xml"</js> unless overridden
@@ -272,13 +272,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link HtmlSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link HtmlParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"text/html"</js> unless overridden
@@ -318,13 +318,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link HtmlSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link HtmlParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"text/html"</js> unless overridden
@@ -364,13 +364,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link HtmlSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link HtmlParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"text/html+stripped"</js> unless overridden
@@ -411,13 +411,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link PlainTextSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link PlainTextParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"text/plain"</js> unless overridden
@@ -457,13 +457,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link MsgPackSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link MsgPackParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"octal/msgpack"</js> unless overridden
@@ -504,13 +504,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link UonSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	{@link UonParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"text/uon"</js> unless overridden
@@ -547,7 +547,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link UrlEncodingSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 		<li>This serializer is NOT used when using the {@link RestRequest#formData(String, Object)} (and related) methods for constructing
 	 * 			the request body.  Instead, the part serializer specified via {@link #partSerializer(Class)} is used.
 	 * 	</ul>
@@ -555,7 +555,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link UrlEncodingParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header will be set to <js>"application/x-www-form-urlencoded"</js> unless overridden
@@ -595,7 +595,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link OpenApiSerializer} will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 		<li>Typically the {@link RestRequest#body(Object, HttpPartSchema)} method will be used to specify the body of the request with the
 	 * 			schema describing it's structure.
 	 * 	</ul>
@@ -603,7 +603,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	{@link OpenApiParser} will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 		<li>Typically the {@link RestResponseBody#schema(HttpPartSchema)} method will be used to specify the structure of the response body.
 	 * 	</ul>
 	 * <p>
@@ -641,13 +641,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	All basic Juneau serializers will be used to serialize POJOs to request bodies unless overridden per request via {@link RestRequest#serializer(Serializer)}.
 	 * 	<ul>
 	 * 		<li>The serializers can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	All basic Juneau parsers will be used to parse POJOs from response bodies unless overridden per request via {@link RestRequest#parser(Parser)}.
 	 * 	<ul>
 	 * 		<li>The parsers can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 			bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 			bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * 	</ul>
 	 * <p>
 	 * 	<c>Accept</c> request header must be set by {@link #header(String,Object)} or {@link #accept(Object)}, or per-request
@@ -2437,7 +2437,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in a pre-instantiated serializers and parsers, the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 	parser property setters (e.g. {@link #strict()}), bean context property setters (e.g. {@link #pojoSwaps(Class...)}),
+	 * 	parser property setters (e.g. {@link #strict()}), bean context property setters (e.g. {@link #swaps(Class...)}),
 	 * 	or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class have no effect.
 	 * </ul>
 	 *
@@ -2469,7 +2469,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in a pre-instantiated serializers and parsers, the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 	parser property setters (e.g. {@link #strict()}), bean context property setters (e.g. {@link #pojoSwaps(Class...)}),
+	 * 	parser property setters (e.g. {@link #strict()}), bean context property setters (e.g. {@link #swaps(Class...)}),
 	 * 	or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class have no effect.
 	 * </ul>
 	 *
@@ -2504,7 +2504,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in a class, the parser can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 	bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 	bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * </ul>
 	 *
 	 * <h5 class='section'>Example:</h5>
@@ -2543,7 +2543,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in a pre-instantiated parser, the parser property setters (e.g. {@link #strict()}),
-	 * 	bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined
+	 * 	bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined
 	 * 	on this builder class have no effect.
 	 * </ul>
 	 *
@@ -2585,7 +2585,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in classes, the parsers can be configured using any of the parser property setters (e.g. {@link #strict()}),
-	 * 	bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 	bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * </ul>
 	 *
 	 * <h5 class='section'>Example:</h5>
@@ -2628,7 +2628,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in pre-instantiated parsers, the parser property setters (e.g. {@link #strict()}),
-	 * 	bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined
+	 * 	bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined
 	 * 	on this builder class have no effect.
 	 * </ul>
 	 *
@@ -2831,7 +2831,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in a class, the serializer can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 	bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 	bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * </ul>
 	 *
 	 * <h5 class='section'>Example:</h5>
@@ -2870,7 +2870,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in a pre-instantiated serializer, the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 	bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined
+	 * 	bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined
 	 * 	on this builder class have no effect.
 	 * </ul>
 	 *
@@ -2912,7 +2912,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in classes, the serializers can be configured using any of the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 	bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
+	 * 	bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined on this builder class.
 	 * </ul>
 	 *
 	 * <h5 class='section'>Example:</h5>
@@ -2955,7 +2955,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 *
 	 * <ul class='notes'>
 	 * 	<li>When using this method that takes in a pre-instantiated serializers, the serializer property setters (e.g. {@link #sortCollections()}),
-	 * 	bean context property setters (e.g. {@link #pojoSwaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined
+	 * 	bean context property setters (e.g. {@link #swaps(Class...)}), or generic property setters (e.g. {@link #set(String, Object)}) defined
 	 * 	on this builder class have no effect.
 	 * </ul>
 	 *
@@ -4597,32 +4597,32 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestClientBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public RestClientBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestClientBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public RestClientBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestClientBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public RestClientBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestClientBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public RestClientBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestClientBuilder sortProperties() {
-		super.sortProperties();
+	public RestClientBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
index 57cb576..5020bd9 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
@@ -512,32 +512,32 @@ public class MockRestClient extends RestClientBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public MockRestClient propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public MockRestClient sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public MockRestClient swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public MockRestClient swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient sortProperties() {
-		super.sortProperties();
+	public MockRestClient swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java b/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
index e721387..0749b46 100644
--- a/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
+++ b/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
@@ -47,6 +47,7 @@ public class BaseProvider implements MessageBodyReader<Object>, MessageBodyWrite
 	/**
 	 * Constructor.
 	 */
+	@SuppressWarnings("deprecation")
 	protected BaseProvider() {
 		try {
 			properties = new OMap();
@@ -60,14 +61,16 @@ public class BaseProvider implements MessageBodyReader<Object>, MessageBodyWrite
 			serializers = SerializerGroup.create()
 				.append(jp.serializers())
 				.beanFilters((Object[])jp.beanFilters())
-				.pojoSwaps((Object[])jp.pojoSwaps())
+				.swaps((Object[])jp.pojoSwaps())
+				.swaps((Object[])jp.swaps())
 				.set(properties)
 				.build();
 
 			parsers = ParserGroup.create()
 				.append(jp.parsers())
 				.beanFilters((Object[])jp.beanFilters())
-				.pojoSwaps((Object[])jp.pojoSwaps())
+				.swaps((Object[])jp.pojoSwaps())
+				.swaps((Object[])jp.swaps())
 				.set(properties)
 				.build();
 
diff --git a/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java b/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java
index 5700a3f..ed6193b 100644
--- a/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java
+++ b/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java
@@ -55,13 +55,9 @@ public @interface JuneauProvider {
 	/**
 	 * Provider-level POJO swaps.
 	 *
-	 * <p>
-	 * These POJO swaps are applied to all serializers and parsers being used by the provider.
-	 *
-	 * <p>
-	 * If the specified class is an instance of {@link PojoSwap}, then that swap is added.
-	 * Any other classes are wrapped in a {@link SurrogateSwap}.
+	 * @deprecated Use {@link #swaps()}
 	 */
+	@Deprecated
 	Class<?>[] pojoSwaps() default {};
 
 	/**
@@ -76,6 +72,18 @@ public @interface JuneauProvider {
 	Property[] properties() default {};
 
 	/**
+	 * Provider-level POJO swaps.
+	 *
+	 * <p>
+	 * These POJO swaps are applied to all serializers and parsers being used by the provider.
+	 *
+	 * <p>
+	 * If the specified class is an instance of {@link PojoSwap}, then that swap is added.
+	 * Any other classes are wrapped in a {@link SurrogateSwap}.
+	 */
+	Class<?>[] swaps() default {};
+
+	/**
 	 * Shortcut for setting {@link #properties()} of boolean types.
 	 *
 	 * <p>
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourcePojoSwapsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourcePojoSwapsTest.java
index e9a8864..e171368 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourcePojoSwapsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation2/RestResourcePojoSwapsTest.java
@@ -88,11 +88,11 @@ public class RestResourcePojoSwapsTest {
 	}
 
 	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class)
-	@BeanConfig(pojoSwaps={SwapA1.class})
+	@BeanConfig(swaps={SwapA1.class})
 	public static class A01_Parent {}
 
 	@Rest
-	@BeanConfig(pojoSwaps={SwapA2.class})
+	@BeanConfig(swaps={SwapA2.class})
 	public static class A01 extends A01_Parent {
 
 		@RestMethod(name=GET, path="/classTransformOverridesParentClassTransform")
@@ -107,15 +107,18 @@ public class RestResourcePojoSwapsTest {
 		public A a01c(@Path("a") A a) {
 			return a; // Should return "A2-1".
 		}
-		@RestMethod(name=GET, path="/methodTransformOverridesClassTransform", pojoSwaps={SwapA3.class})
+		@RestMethod(name=GET, path="/methodTransformOverridesClassTransform")
+		@BeanConfig(swaps={SwapA3.class})
 		public A a02a() {
 			return new A(); // Should return "A3-1".
 		}
-		@RestMethod(name=PUT, path="/methodTransformOverridesClassTransform", pojoSwaps={SwapA3.class})
+		@RestMethod(name=PUT, path="/methodTransformOverridesClassTransform")
+		@BeanConfig(swaps={SwapA3.class})
 		public A a02b(@Body A a) {
 			return a; // Should return "A3-1".
 		}
-		@RestMethod(name=PUT, path="/methodTransformOverridesClassTransform/{a}", pojoSwaps={SwapA3.class})
+		@RestMethod(name=PUT, path="/methodTransformOverridesClassTransform/{a}")
+		@BeanConfig(swaps={SwapA3.class})
 		public A a02c(@Path("a") A a) {
 			return a; // Should return "A3-1".
 		}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestMethods.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestMethods.java
index 02d0edf..7548047 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestMethods.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/BasicRestMethods.java
@@ -46,7 +46,7 @@ import org.apache.juneau.rest.annotation.*;
 )
 @BeanConfig(
 	// POJO swaps to apply to all serializers/parsers on this method.
-	pojoSwaps={
+	swaps={
 		// Use the SwaggerUI swap when rendering Swagger beans.
 		// This is a per-media-type swap that only applies to text/html requests.
 		SwaggerUI.class
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/Inherit.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/Inherit.java
index e93ed82..f7722f1 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/Inherit.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/Inherit.java
@@ -35,7 +35,7 @@ package org.apache.juneau.rest;
  * 		<jc>// Override the POJO swaps for this method, but also inherit the POJO swaps from the class.
  * 		// Overridden POJO swaps only apply to NEW serializers and parsers defined on the method
  * 		// (not those inherited from the class).</jc>
- * 		pojoSwaps={MySwap.<jk>class</jk>, Inherit.<jk>class</jk>}
+ * 		swaps={MySwap.<jk>class</jk>, Inherit.<jk>class</jk>}
  * 	)
  * </p>
  */
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/None.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/None.java
index f880aba..5764e87 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/None.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/None.java
@@ -29,7 +29,7 @@ package org.apache.juneau.rest;
  * 		beanFilters=None.<jk>class</jk>,
  *
  * 		<jc>// No POJO swaps are defined method or inherited from the class.</jc>
- * 		pojoSwaps=None.<jk>class</jk>
+ * 		swaps=None.<jk>class</jk>
  * 	)
  * </p>
  */
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index 149e101..74f0c9e 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -72,7 +72,7 @@ import org.apache.juneau.utils.*;
  * 	<jc>// Option #1 - Pass in through constructor.</jc>
  * 	<jk>public</jk> MyResource(RestContextBuilder builder) {
  * 			builder
- * 				.pojoSwaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>)
+ * 				.swaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>)
  * 				.set(<jsf>PARSER_debug</jsf>, <jk>true</jk>);
  * 	}
  *
@@ -80,7 +80,7 @@ import org.apache.juneau.utils.*;
  * 	<ja>@RestHook</ja>(<jsf>INIT</jsf>)
  * 	<jk>public void</jk> init(RestContextBuilder builder) <jk>throws</jk> Exception {
  * 			builder
- * 				.pojoSwaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>)
+ * 				.swaps(TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>)
  * 				.set(<jsf>PARSER_debug</jsf>, <jk>true</jk>);
  * 	}
  * </p>
@@ -2966,32 +2966,32 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestContextBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public RestContextBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestContextBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public RestContextBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestContextBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public RestContextBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestContextBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public RestContextBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestContextBuilder sortProperties() {
-		super.sortProperties();
+	public RestContextBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
index b12ba37..e54f157 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
@@ -449,32 +449,32 @@ public class RestMethodContextBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestMethodContextBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public RestMethodContextBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestMethodContextBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public RestMethodContextBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestMethodContextBuilder pojoSwapsReplace(Object...values) {
-		super.pojoSwapsReplace(values);
+	public RestMethodContextBuilder swaps(Object...values) {
+		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestMethodContextBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
+	public RestMethodContextBuilder swapsRemove(Object...values) {
+		super.swapsRemove(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestMethodContextBuilder sortProperties() {
-		super.sortProperties();
+	public RestMethodContextBuilder swapsReplace(Object...values) {
+		super.swapsReplace(values);
 		return this;
 	}
 
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
index 8bd8727..8fb8f57 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
@@ -613,7 +613,7 @@ public @interface RestMethod {
 	 * Sets the POJO swaps for the serializers and parsers defined on this method.
 	 *
 	 * <div class='warn'>
-	 * 	<b>Deprecated</b> - Use {@link BeanConfig#pojoSwaps()}
+	 * 	<b>Deprecated</b> - Use {@link BeanConfig#swaps()}
 	 * </div>
 	 *
 	 * <p>
@@ -627,7 +627,7 @@ public @interface RestMethod {
 	 * Use {@link None} to suppress inheriting POJO swaps defined on the class.
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_pojoSwaps}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
 	 * </ul>
 	 */
 	@Deprecated
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
index ce9c1da..5607e14 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
@@ -799,7 +799,7 @@ public @interface RestResource {
 	 * Shortcut to add POJO swaps to the bean contexts of all serializers and parsers on all methods in the class.
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_pojoSwaps}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
 	 * </ul>
 	 */
 	Class<?>[] pojoSwaps() default {};
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
index 2c2c1b9..3ba961b 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
@@ -137,7 +137,7 @@ public class RestResourceConfigApply extends ConfigApply<RestResource> {
 
 		psb.set(BEAN_beanFilters, merge(ObjectUtils.toType(psb.peek(BEAN_beanFilters), Object[].class), a.beanFilters()));
 
-		psb.set(BEAN_pojoSwaps, merge(ObjectUtils.toType(psb.peek(BEAN_pojoSwaps), Object[].class), a.pojoSwaps()));
+		psb.set(BEAN_swaps, merge(ObjectUtils.toType(psb.peek(BEAN_swaps), Object[].class), a.pojoSwaps()));
 
 		psb.prependTo(REST_paramResolvers, a.paramResolvers());
 
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Introspectable.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Introspectable.java
index 65e9978..7aaee15 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Introspectable.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Introspectable.java
@@ -66,7 +66,7 @@ public final class Introspectable implements RestConverter {
 			return o;
 		try {
 			BeanSession bs = req.getBeanSession();
-			PojoSwap swap = bs.getClassMetaForObject(o).getPojoSwap(bs);
+			PojoSwap swap = bs.getClassMetaForObject(o).getSwap(bs);
 			if (swap != null)
 				o = swap.swap(bs, o);
 			return new PojoIntrospector(o, JsonParser.DEFAULT).invokeMethod(method, args);
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
index b87e4fb..b7e07ff 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/converters/Traversable.java
@@ -61,7 +61,7 @@ public final class Traversable implements RestConverter {
 		if (pathRemainder != null) {
 			try {
 				BeanSession bs = req.getBeanSession();
-				PojoSwap swap = bs.getClassMetaForObject(o).getPojoSwap(bs);
+				PojoSwap swap = bs.getClassMetaForObject(o).getSwap(bs);
 				if (swap != null)
 					o = swap.swap(bs, o);
 				PojoRest p = new PojoRest(o, req.getBody().getReaderParser());