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 2019/06/10 00:32:32 UTC

[juneau] branch master updated: Make asMap() methods consistent.

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 6868c45  Make asMap() methods consistent.
6868c45 is described below

commit 6868c45268cebaf7e12bcb8ee3397da6b5ae190a
Author: JamesBognar <ja...@apache.org>
AuthorDate: Sun Jun 9 20:31:45 2019 -0400

    Make asMap() methods consistent.
---
 .../juneau/config/store/ConfigClasspathStore.java  | 11 +++++
 .../juneau/config/store/ConfigFileStore.java       | 15 ++++++-
 .../juneau/config/store/ConfigMemoryStore.java     | 11 +++++
 .../apache/juneau/config/store/ConfigStore.java    | 11 +++++
 .../java/org/apache/juneau/jena/RdfParser.java     |  2 +-
 .../org/apache/juneau/jena/RdfParserSession.java   | 18 +++++----
 .../java/org/apache/juneau/jena/RdfSerializer.java |  2 +-
 .../apache/juneau/jena/RdfSerializerSession.java   | 18 +++++----
 .../main/java/org/apache/juneau/BeanContext.java   |  2 +-
 .../main/java/org/apache/juneau/BeanSession.java   | 26 ++++++------
 .../java/org/apache/juneau/BeanSessionArgs.java    |  4 +-
 .../org/apache/juneau/BeanTraverseContext.java     |  6 +--
 .../org/apache/juneau/BeanTraverseSession.java     | 11 +++++
 .../src/main/java/org/apache/juneau/Context.java   | 30 +++++++++-----
 ...Session.java => DefaultFilteringObjectMap.java} | 47 ++++++++++++----------
 .../src/main/java/org/apache/juneau/Session.java   | 22 +++++-----
 .../main/java/org/apache/juneau/SessionArgs.java   | 10 +++--
 .../main/java/org/apache/juneau/csv/CsvParser.java |  6 ++-
 .../org/apache/juneau/csv/CsvParserSession.java    | 11 +++++
 .../java/org/apache/juneau/csv/CsvSerializer.java  |  6 ++-
 .../apache/juneau/csv/CsvSerializerSession.java    | 11 +++++
 .../org/apache/juneau/html/HtmlDocSerializer.java  |  2 +-
 .../juneau/html/HtmlDocSerializerSession.java      | 37 +++++++++--------
 .../java/org/apache/juneau/html/HtmlParser.java    |  6 ++-
 .../org/apache/juneau/html/HtmlParserSession.java  | 11 +++++
 .../juneau/html/HtmlSchemaDocSerializer.java       | 11 +++++
 .../apache/juneau/html/HtmlSchemaSerializer.java   | 12 ++++++
 .../juneau/html/HtmlSchemaSerializerSession.java   | 12 ++++++
 .../org/apache/juneau/html/HtmlSerializer.java     |  2 +-
 .../apache/juneau/html/HtmlSerializerSession.java  | 18 +++++----
 .../juneau/html/HtmlStrippedDocSerializer.java     | 11 +++++
 .../html/HtmlStrippedDocSerializerSession.java     | 12 ++++++
 .../main/java/org/apache/juneau/jso/JsoParser.java | 11 +++++
 .../org/apache/juneau/jso/JsoParserSession.java    | 11 +++++
 .../java/org/apache/juneau/jso/JsoSerializer.java  | 11 +++++
 .../apache/juneau/jso/JsoSerializerSession.java    | 12 ++++++
 .../java/org/apache/juneau/json/JsonParser.java    |  2 +-
 .../org/apache/juneau/json/JsonParserSession.java  | 11 +++++
 .../apache/juneau/json/JsonSchemaSerializer.java   | 12 ++++++
 .../juneau/json/JsonSchemaSerializerSession.java   | 12 ++++++
 .../org/apache/juneau/json/JsonSerializer.java     |  2 +-
 .../apache/juneau/json/JsonSerializerSession.java  | 18 +++++----
 .../apache/juneau/json/SimpleJsonSerializer.java   | 11 +++++
 .../juneau/jsonschema/JsonSchemaGenerator.java     | 19 +++++++++
 .../jsonschema/JsonSchemaGeneratorSession.java     | 11 +++++
 .../org/apache/juneau/msgpack/MsgPackParser.java   |  6 ++-
 .../juneau/msgpack/MsgPackParserSession.java       | 11 +++++
 .../apache/juneau/msgpack/MsgPackSerializer.java   |  6 ++-
 .../juneau/msgpack/MsgPackSerializerSession.java   | 18 +++++----
 .../java/org/apache/juneau/oapi/OpenApiParser.java | 11 +++++
 .../apache/juneau/oapi/OpenApiParserSession.java   | 11 +++++
 .../org/apache/juneau/oapi/OpenApiSerializer.java  | 11 +++++
 .../juneau/oapi/OpenApiSerializerSession.java      | 11 +++++
 .../apache/juneau/parser/InputStreamParser.java    |  2 +-
 .../juneau/parser/InputStreamParserSession.java    |  2 +-
 .../main/java/org/apache/juneau/parser/Parser.java | 27 ++++++++-----
 .../org/apache/juneau/parser/ParserSession.java    | 20 ++++-----
 .../apache/juneau/parser/ParserSessionArgs.java    | 10 +++--
 .../org/apache/juneau/parser/ReaderParser.java     |  2 +-
 .../apache/juneau/parser/ReaderParserSession.java  |  2 +-
 .../apache/juneau/plaintext/PlainTextParser.java   | 11 +++++
 .../juneau/plaintext/PlainTextParserSession.java   | 11 +++++
 .../juneau/plaintext/PlainTextSerializer.java      | 11 +++++
 .../plaintext/PlainTextSerializerSession.java      | 12 ++++++
 .../juneau/serializer/OutputStreamSerializer.java  |  2 +-
 .../serializer/OutputStreamSerializerSession.java  | 11 +++++
 .../org/apache/juneau/serializer/Serializer.java   |  2 +-
 .../juneau/serializer/SerializerSession.java       | 20 +++++----
 .../juneau/serializer/SerializerSessionArgs.java   | 10 +++--
 .../apache/juneau/serializer/WriterSerializer.java |  4 +-
 .../juneau/serializer/WriterSerializerSession.java |  4 +-
 .../org/apache/juneau/soap/SoapXmlSerializer.java  | 12 ++++++
 .../juneau/soap/SoapXmlSerializerSession.java      | 13 ++++++
 .../main/java/org/apache/juneau/uon/UonParser.java |  3 +-
 .../org/apache/juneau/uon/UonParserSession.java    | 20 +++++----
 .../java/org/apache/juneau/uon/UonSerializer.java  |  2 +-
 .../apache/juneau/uon/UonSerializerSession.java    | 18 +++++----
 .../juneau/urlencoding/UrlEncodingParser.java      |  2 +-
 .../urlencoding/UrlEncodingParserSession.java      | 18 +++++----
 .../juneau/urlencoding/UrlEncodingSerializer.java  |  2 +-
 .../urlencoding/UrlEncodingSerializerSession.java  | 18 +++++----
 .../org/apache/juneau/xml/XmlDocSerializer.java    | 11 +++++
 .../apache/juneau/xml/XmlDocSerializerSession.java | 12 ++++++
 .../main/java/org/apache/juneau/xml/XmlParser.java |  2 +-
 .../org/apache/juneau/xml/XmlParserSession.java    | 18 +++++----
 .../java/org/apache/juneau/xml/XmlSerializer.java  |  2 +-
 .../apache/juneau/xml/XmlSerializerSession.java    | 18 +++++----
 .../juneau/xmlschema/XmlSchemaDocSerializer.java   | 11 +++++
 .../juneau/xmlschema/XmlSchemaSerializer.java      | 11 +++++
 .../xmlschema/XmlSchemaSerializerSession.java      | 11 +++++
 .../org/apache/juneau/rest/client/RestCall.java    | 34 ++++++++++++++++
 .../org/apache/juneau/rest/client/RestClient.java  | 26 ++++++++++++
 .../java/org/apache/juneau/rest/RestContext.java   | 42 +++++++++++++++++--
 .../org/apache/juneau/rest/RestMethodContext.java  | 17 ++++++++
 94 files changed, 904 insertions(+), 224 deletions(-)

diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigClasspathStore.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigClasspathStore.java
index eb235a4..4385596 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigClasspathStore.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigClasspathStore.java
@@ -133,4 +133,15 @@ public class ConfigClasspathStore extends ConfigStore {
 	public void close() throws IOException {
 		// No-op
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods.
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("ConfigClasspathStore", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStore.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStore.java
index 97e1988..01c7433 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStore.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigFileStore.java
@@ -417,7 +417,6 @@ public class ConfigFileStore extends ConfigStore {
 			dir.toPath().register(watchService, kinds, modifier);
 		}
 
-		@SuppressWarnings("restriction")
 		private WatchEvent.Modifier lookupModifier(WatcherSensitivity s) {
 			try {
 				switch(s) {
@@ -480,4 +479,18 @@ public class ConfigFileStore extends ConfigStore {
 			update(fn, newContents);
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods.
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("ConfigFileStore", new DefaultFilteringObjectMap()
+				.append("charset", charset)
+				.append("extensions", extensions)
+				.append("updateOnWrite", updateOnWrite)
+			);
+	}
 }
diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigMemoryStore.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigMemoryStore.java
index e091ca1..963f917 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigMemoryStore.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigMemoryStore.java
@@ -116,4 +116,15 @@ public class ConfigMemoryStore extends ConfigStore {
 	public void close() throws IOException {
 		// No-op
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods.
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("ConfigMemoryStore", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigStore.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigStore.java
index 91f6ccc..a40ceea 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigStore.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ConfigStore.java
@@ -206,4 +206,15 @@ public abstract class ConfigStore extends Context implements Closeable {
 	public final SessionArgs createDefaultSessionArgs() {
 		throw new NoSuchMethodError();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods.
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("ConfigStore", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
index 92ddffb..45bf004 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -264,7 +264,7 @@ public class RdfParser extends ReaderParser implements RdfCommon {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("RdfParser", new ObjectMap()
+			.append("RdfParser", new DefaultFilteringObjectMap()
 				.append("trimWhitespace", trimWhitespace)
 				.append("looseCollections", looseCollections)
 				.append("rdfLanguage", rdfLanguage)
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 91658e0..da2dbd2 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
@@ -68,13 +68,6 @@ public class RdfParserSession extends ReaderParserSession {
 		}
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("RdfParser", new ObjectMap()
-			);
-	}
-
 	@Override /* ReaderParserSession */
 	protected <T> T doParse(ParserPipe pipe, ClassMeta<T> type) throws Exception {
 
@@ -517,4 +510,15 @@ public class RdfParserSession extends ReaderParserSession {
 	protected final boolean isTrimWhitespace() {
 		return ctx.isTrimWhitespace();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("RdfParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
index 7186212..604a09e 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
@@ -460,7 +460,7 @@ public class RdfSerializer extends WriterSerializer implements RdfCommon {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("RdfSerializer", new ObjectMap()
+			.append("RdfSerializer", new DefaultFilteringObjectMap()
 				.append("addLiteralTypes", addLiteralTypes)
 				.append("addRootProperty", addRootProperty)
 				.append("useXmlNamespaces", useXmlNamespaces)
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 ef52ec7..e79618e 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
@@ -88,13 +88,6 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 				writer.setProperty(k.substring(15 + propPrefix.length()), getProperty(k));
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("RdfSerializerSession", new ObjectMap()
-			);
-	}
-
 	/*
 	 * Adds the specified namespace as a model prefix.
 	 */
@@ -548,4 +541,15 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	protected final boolean isUseXmlNamespaces() {
 		return ctx.isUseXmlNamespaces();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("RdfSerializerSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
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 7944372..cef2360 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
@@ -3214,7 +3214,7 @@ public class BeanContext extends Context {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("BeanContext", new ObjectMap()
+			.append("BeanContext", new DefaultFilteringObjectMap()
 				.append("id", System.identityHashCode(this))
 				.append("beanClassVisibility", beanClassVisibility)
 				.append("beanConstructorVisibility", beanConstructorVisibility)
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 c254673..42a7c72 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
@@ -67,19 +67,6 @@ public class BeanSession extends Session {
 		schema = args.schema;
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.appendAll(ctx.asMap())
-			.append("BeanSession", new ObjectMap()
-				.append("debug", debug)
-				.append("locale", locale)
-				.append("schema", schema)
-				.append("mediaType", mediaType)
-				.append("timeZone", timeZone)
-			);
-	}
-
 	/**
 	 * Converts the specified value to the specified class type.
 	 *
@@ -1567,4 +1554,17 @@ public class BeanSession extends Session {
 		if (debug)
 			super.checkForWarnings();
 	}
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("Context", ctx.asMap())
+			.append("BeanSession", new DefaultFilteringObjectMap()
+				.append("debug", debug)
+				.append("locale", locale)
+				.append("mediaType", mediaType)
+				.append("schema", schema)
+				.append("timeZone", timeZone)
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSessionArgs.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSessionArgs.java
index 74bb629..fedc80c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSessionArgs.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSessionArgs.java
@@ -150,8 +150,8 @@ public class BeanSessionArgs extends SessionArgs {
 	@Override /* SessionArgs */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("BeanSessionArgs", new ObjectMap()
-				.appendSkipNull("schema", schema)
+			.append("BeanSessionArgs", new DefaultFilteringObjectMap()
+				.append("schema", schema)
 			);
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseContext.java
index 91c389c..8c92919 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseContext.java
@@ -306,11 +306,11 @@ public abstract class BeanTraverseContext extends BeanContext {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("BeanTraverseContext", new ObjectMap()
-				.append("maxDepth", maxDepth)
-				.append("initialDepth", initialDepth)
+			.append("BeanTraverseContext", new DefaultFilteringObjectMap()
 				.append("detectRecursions", detectRecursions)
+				.append("maxDepth", maxDepth)
 				.append("ignoreRecursions", ignoreRecursions)
+				.append("initialDepth", initialDepth)
 			);
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
index ef82929..711ea47 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
@@ -287,4 +287,15 @@ public class BeanTraverseSession extends BeanSession {
 	protected final int getMaxDepth() {
 		return ctx.getMaxDepth();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("BeanTraverseSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
index 54e20e1..b921e84 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
@@ -485,16 +485,6 @@ public abstract class Context {
 	 */
 	public abstract SessionArgs createDefaultSessionArgs();
 
-	/**
-	 * Returns the properties defined on this bean context as a simple map for debugging purposes.
-	 *
-	 * @return A new map containing the properties defined on this context.
-	 */
-	@BeanIgnore
-	public ObjectMap asMap() {
-		return new ObjectMap();
-	}
-
 	@Override /* Object */
 	public int hashCode() {
 		return identityCode;
@@ -520,6 +510,10 @@ public abstract class Context {
 		return (c.propertyStore.equals(propertyStore));
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+	
 	@Override /* Object */
 	public String toString() {
 		try {
@@ -528,4 +522,20 @@ public abstract class Context {
 			return e.getLocalizedMessage();
 		}
 	}
+	
+	/**
+	 * Returns the properties defined on this bean context as a simple map for debugging purposes.
+	 *
+	 * @return A new map containing the properties defined on this context.
+	 */
+	@BeanIgnore
+	public ObjectMap asMap() {
+		return new DefaultFilteringObjectMap()
+			.append("Context", new DefaultFilteringObjectMap()
+				.append("identityCode", identityCode)
+				.append("propertyStore", propertyStore)
+			);
+	}
+
+	
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/DefaultFilteringObjectMap.java
similarity index 61%
copy from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserSession.java
copy to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/DefaultFilteringObjectMap.java
index 12f9cf2..30f96b2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/DefaultFilteringObjectMap.java
@@ -10,36 +10,39 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.jso;
+package org.apache.juneau;
 
-import java.io.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.parser.*;
+import java.lang.reflect.*;
+import java.util.*;
 
 /**
- * Session object that lives for the duration of a single use of {@link JsoParser}.
- *
- * <p>
- * This class is NOT thread safe.
- * It is typically discarded after one-time use although it can be reused against multiple inputs.
+ * Subclass of {@link ObjectMap} that avoids adding common default values.
  */
-@SuppressWarnings("unchecked")
-public class JsoParserSession extends InputStreamParserSession {
+public class DefaultFilteringObjectMap extends ObjectMap {
+
+	private static final long serialVersionUID = 1L;
+
+	@Override /* ObjectMap */
+	public ObjectMap append(String key, Object value) {
+		if (! shouldSkip(value))
+			super.append(key, value);
+		return this;
+	}
 
 	/**
-	 * Create a new session using properties specified in the context.
+	 * Returns <jk>true</jk> if the specified value should be skipped.
 	 *
-	 * @param args
-	 * 	Runtime session arguments.
+	 * @param value The value to check.
+	 * @return <jk>true</jk> if the specified value should be skipped.
 	 */
-	protected JsoParserSession(ParserSessionArgs args) {
-		super(args);
-	}
+	protected boolean shouldSkip(Object value) {
+		return
+			value == null
+			|| (value instanceof Boolean && value.equals(false))
+			|| (value instanceof Number && ((Number)value).intValue() == -1)
+			|| (value.getClass().isArray() && Array.getLength(value) == 0)
+			|| (value instanceof Map && ((Map<?,?>)value).isEmpty())
+			|| (value instanceof Collection && ((Collection<?>)value).isEmpty());
 
-	@Override /* ParserSession */
-	protected <T> T doParse(ParserPipe pipe, ClassMeta<T> type) throws Exception {
-		ObjectInputStream ois = new ObjectInputStream(pipe.getInputStream());
-		return (T)ois.readObject();
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Session.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Session.java
index 56a9935..160d87b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Session.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Session.java
@@ -297,12 +297,24 @@ public abstract class Session {
 	}
 
 	/**
+	 * Throws a {@link BeanRuntimeException} if any warnings occurred in this session.
+	 */
+	public void checkForWarnings() {
+		if (warnings != null && ! warnings.isEmpty())
+			throw new BeanRuntimeException("Warnings occurred in session: \n" + join(getWarnings(), "\n"));
+	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+	
+	/**
 	 * Returns the properties defined on this bean context as a simple map for debugging purposes.
 	 *
 	 * @return A new map containing the properties defined on this context.
 	 */
 	public ObjectMap asMap() {
-		return new ObjectMap();
+		return new DefaultFilteringObjectMap();
 	}
 
 	@Override /* Object */
@@ -313,12 +325,4 @@ public abstract class Session {
 			return e.getLocalizedMessage();
 		}
 	}
-
-	/**
-	 * Throws a {@link BeanRuntimeException} if any warnings occurred in this session.
-	 */
-	public void checkForWarnings() {
-		if (warnings != null && ! warnings.isEmpty())
-			throw new BeanRuntimeException("Warnings occurred in session: \n" + join(getWarnings(), "\n"));
-	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/SessionArgs.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/SessionArgs.java
index 05c25e3..6e6afd9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/SessionArgs.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/SessionArgs.java
@@ -83,15 +83,19 @@ public class SessionArgs {
 		return null;
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+	
 	/**
 	 * Returns the properties defined on this object as a simple map for debugging purposes.
 	 *
 	 * @return A new map containing the properties defined on this object.
 	 */
 	public ObjectMap asMap() {
-		return new ObjectMap()
-			.append("SessionArgs", new ObjectMap()
-				.appendSkipNull("properties", properties)
+		return new DefaultFilteringObjectMap()
+			.append("SessionArgs", new DefaultFilteringObjectMap()
+				.append("properties", properties)
 			);
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java
index be2df50..7e5af15 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParser.java
@@ -76,10 +76,14 @@ public class CsvParser extends ReaderParser {
 	public CsvParserSession createSession(ParserSessionArgs args) {
 		return new CsvParserSession(this, args);
 	}
+	
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
 
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("CsvParser", new ObjectMap());
+			.append("CsvParser", new DefaultFilteringObjectMap());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserSession.java
index 0980ffa..3c8d87a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserSession.java
@@ -50,4 +50,15 @@ public final class CsvParserSession extends ReaderParserSession {
 	private <T> T parseAnything(ClassMeta<T> eType, ParserReader r, Object outer, BeanPropertyMeta pMeta) throws Exception {
 		throw new NoSuchMethodException("Not implemented.");
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("CsvParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java
index e66bf6b..9b389d9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializer.java
@@ -80,9 +80,13 @@ public final class CsvSerializer extends WriterSerializer {
 		return new CsvSerializerSession(this, args);
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("CsvSerializer", new ObjectMap());
+			.append("CsvSerializer", new DefaultFilteringObjectMap());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
index 0677bae..15d9636 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
@@ -101,4 +101,15 @@ public final class CsvSerializerSession extends WriterSerializerSession {
 				w.append(s);
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("CsvSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
index 7034c86..21b2cf2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
@@ -846,7 +846,7 @@ public class HtmlDocSerializer extends HtmlStrippedDocSerializer {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("HtmlDocSerializer", new ObjectMap()
+			.append("HtmlDocSerializer", new DefaultFilteringObjectMap()
 				.append("header", header)
 				.append("nav", nav)
 				.append("navlinks", navlinks)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
index 621a825..b5aec3d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
@@ -73,23 +73,6 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 		return DEFAULT_VR.createSession();
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("HtmlDocSerializerSession", new ObjectMap()
-				.append("aside", aside)
-				.append("head", head)
-				.append("header", header)
-				.append("footer", footer)
-				.append("nav", nav)
-				.append("navlinks", navlinks)
-				.append("script", script)
-				.append("style", style)
-				.append("stylesheet", stylesheet)
-				.append("varResolver", getVarResolver())
-			);
-	}
-
 	/**
 	 * Returns the {@link HtmlDocSerializer#HTMLDOC_navlinks} setting value in this context.
 	 *
@@ -270,4 +253,24 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 		return ctx.getWidgets().values();
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("HtmlDocSerializerSession", new DefaultFilteringObjectMap()
+				.append("aside", aside)
+				.append("head", head)
+				.append("header", header)
+				.append("footer", footer)
+				.append("nav", nav)
+				.append("navlinks", navlinks)
+				.append("script", script)
+				.append("style", style)
+				.append("stylesheet", stylesheet)
+				.append("varResolver", getVarResolver())
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java
index 9b76dd6..d43ccff 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParser.java
@@ -91,9 +91,13 @@ public class HtmlParser extends XmlParser {
 		return new HtmlParserSession(this, args);
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("HtmlParser", new ObjectMap());
+			.append("HtmlParser", new DefaultFilteringObjectMap());
 	}
 }
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 df23b53..7ea3fbf 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
@@ -730,4 +730,15 @@ public final class HtmlParserSession extends XmlParserSession {
 			throw new ParseException(this, "Invalid tag found in parseWhitespaceElement(): ''{0}''", tag);
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("HtmlParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
index f7ad845..dcacbd4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
@@ -103,4 +103,15 @@ public final class HtmlSchemaDocSerializer extends HtmlDocSerializer {
 	JsonSchemaGenerator getGenerator() {
 		return generator;
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("HtmlSchemaDocSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializer.java
index 715b934..12f662d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializer.java
@@ -158,4 +158,16 @@ public class HtmlSchemaSerializer extends HtmlSerializer {
 	JsonSchemaGenerator getGenerator() {
 		return generator;
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("HtmlSchemaSerializer", new DefaultFilteringObjectMap()
+				.append("generator", generator)
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerSession.java
index 0a53944..a379860 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerSession.java
@@ -12,6 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.html;
 
+import org.apache.juneau.*;
 import org.apache.juneau.jsonschema.*;
 import org.apache.juneau.serializer.*;
 
@@ -43,4 +44,15 @@ public class HtmlSchemaSerializerSession extends HtmlSerializerSession {
 	protected void doSerialize(SerializerPipe out, Object o) throws Exception {
 		super.doSerialize(out, genSession.getSchema(o));
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("HtmlSchemaSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
index 5587597..fd95024 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
@@ -804,7 +804,7 @@ public class HtmlSerializer extends XmlSerializer {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("HtmlSerializer", new ObjectMap()
+			.append("HtmlSerializer", new DefaultFilteringObjectMap()
 				.append("uriAnchorText", uriAnchorText)
 				.append("detectLabelParameters", detectLabelParameters)
 				.append("detectLinksInStrings", detectLinksInStrings)
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 5745a01..f8c9ad5 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
@@ -60,13 +60,6 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 		labelPattern = Pattern.compile("[\\?\\&]" + Pattern.quote(ctx.getLabelParameter()) + "=([^\\&]*)");
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("HtmlSerializerSession", new ObjectMap()
-			);
-	}
-
 	/**
 	 * Converts the specified output target object to an {@link HtmlWriter}.
 	 *
@@ -891,4 +884,15 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	protected final AnchorText getUriAnchorText() {
 		return ctx.getUriAnchorText();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("HtmlSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializer.java
index 1562704..6aa7c71 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializer.java
@@ -110,4 +110,15 @@ public class HtmlStrippedDocSerializer extends HtmlSerializer {
 	public HtmlSerializerSession createSession(SerializerSessionArgs args) {
 		return new HtmlStrippedDocSerializerSession(this, args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("HtmlStrippedDocSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerSession.java
index 1459fba..80a566a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerSession.java
@@ -15,6 +15,7 @@ package org.apache.juneau.html;
 import java.lang.reflect.*;
 import java.util.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.serializer.*;
 
 /**
@@ -49,4 +50,15 @@ public class HtmlStrippedDocSerializerSession extends HtmlSerializerSession {
 				super.doSerialize(out, o);
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("HtmlStrippedDocSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java
index 7eb4e45..9c8bf89 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParser.java
@@ -84,4 +84,15 @@ public final class JsoParser extends InputStreamParser {
 	public JsoParserSession createSession(ParserSessionArgs args) {
 		return new JsoParserSession(args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsoParser", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserSession.java
index 12f9cf2..245f25d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserSession.java
@@ -42,4 +42,15 @@ public class JsoParserSession extends InputStreamParserSession {
 		ObjectInputStream ois = new ObjectInputStream(pipe.getInputStream());
 		return (T)ois.readObject();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsoParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java
index 5dac052..9c3261b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializer.java
@@ -86,4 +86,15 @@ public class JsoSerializer extends OutputStreamSerializer {
 	public JsoSerializerSession createSession(SerializerSessionArgs args) {
 		return new JsoSerializerSession(this, args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsoSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerSession.java
index 5d4f6f8..04d8dd1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerSession.java
@@ -14,6 +14,7 @@ package org.apache.juneau.jso;
 
 import java.io.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.serializer.*;
 
 /**
@@ -47,4 +48,15 @@ public class JsoSerializerSession extends OutputStreamSerializerSession {
 			oos.writeObject(o);
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsoSerializerSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java
index 72f4fe0..0c4a99b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParser.java
@@ -271,6 +271,6 @@ public class JsonParser extends ReaderParser {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("JsonParser", new ObjectMap());
+			.append("JsonParser", new DefaultFilteringObjectMap());
 	}
 }
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 5037a2a..26c4bf3 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
@@ -797,4 +797,15 @@ public final class JsonParserSession extends ReaderParserSession {
 	protected final boolean isValidateEnd() {
 		return ctx.isValidateEnd();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsonParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
index 1f5f49c..af72fe0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
@@ -166,4 +166,16 @@ public class JsonSchemaSerializer extends JsonSerializer {
 	JsonSchemaGenerator getGenerator() {
 		return generator;
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsonSchemaSerializer", new DefaultFilteringObjectMap()
+				.append("generator", generator)
+			);
+	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerSession.java
index b7a5ccf..3fcabd7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerSession.java
@@ -12,6 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.json;
 
+import org.apache.juneau.*;
 import org.apache.juneau.jsonschema.*;
 import org.apache.juneau.serializer.*;
 
@@ -47,4 +48,15 @@ public class JsonSchemaSerializerSession extends JsonSerializerSession {
 	protected void doSerialize(SerializerPipe out, Object o) throws Exception {
 		super.doSerialize(out, genSession.getSchema(o));
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsonSchemaSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
\ No newline at end of file
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 3be2f62..4b751aa 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
@@ -452,7 +452,7 @@ public class JsonSerializer extends WriterSerializer {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("JsonSerializer", new ObjectMap()
+			.append("JsonSerializer", new DefaultFilteringObjectMap()
 				.append("simpleMode", simpleMode)
 				.append("escapeSolidus", escapeSolidus)
 				.append("addBeanTypes", addBeanTypes)
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 f1b8838..1923872 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
@@ -48,13 +48,6 @@ public class JsonSerializerSession extends WriterSerializerSession {
 		this.ctx = ctx;
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("JsonSerializerSession", new ObjectMap()
-			);
-	}
-
 	@Override /* SerializerSesssion */
 	protected void doSerialize(SerializerPipe out, Object o) throws Exception {
 		serializeAnything(getJsonWriter(out), o, getExpectedRootType(o), "root", null);
@@ -305,4 +298,15 @@ public class JsonSerializerSession extends WriterSerializerSession {
 	protected final boolean isSimpleMode() {
 		return ctx.isSimpleMode();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsonSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializer.java
index 0211520..f2af29a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializer.java
@@ -85,4 +85,15 @@ public class SimpleJsonSerializer extends JsonSerializer {
 			"application/json", "application/json+simple,text/json+simple,application/json;q=0.9,text/json;q=0.9"
 		);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("SimpleJsonSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
index 4d3cbab..aadfe22 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
@@ -450,4 +450,23 @@ public class JsonSchemaGenerator extends BeanTraverseContext {
 				return true;
 		return false;
 	}
+	
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsonSchemaGenerator", new DefaultFilteringObjectMap()
+				.append("useBeanDefs", useBeanDefs)
+				.append("allowNestedExamples", allowNestedExamples)
+				.append("allowNestedDescriptions", allowNestedDescriptions)
+				.append("beanDefMapper", beanDefMapper)
+				.append("addExamplesTo", addExamplesTo)
+				.append("addDescriptionsTo", addDescriptionsTo)
+				.append("defaultSchemas", defaultSchemas)
+				.append("ignoreTypes", ignoreTypes)
+			);
+	}
 }
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 d8fc9bf..b054712 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
@@ -448,4 +448,15 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 			return getClassMeta((Type)o);
 		return getClassMetaForObject(o);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("JsonSchemaGeneratorSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
index 9487334..51b7704 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
@@ -123,9 +123,13 @@ public class MsgPackParser extends InputStreamParser {
 		return new MsgPackParserSession(this, args);
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("MsgPackParser", new ObjectMap());
+			.append("MsgPackParser", new DefaultFilteringObjectMap());
 	}
 }
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 6ca6cb0..226de99 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
@@ -201,4 +201,15 @@ public final class MsgPackParserSession extends InputStreamParserSession {
 
 		return (T)o;
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("MsgPackParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
index 4be6ff2..6fc9026 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
@@ -165,10 +165,14 @@ public class MsgPackSerializer extends OutputStreamSerializer {
 		return addBeanTypes;
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("MsgPackSerializer", new ObjectMap()
+			.append("MsgPackSerializer", new DefaultFilteringObjectMap()
 				.append("addBeanTypes", addBeanTypes)
 			);
 	}
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 15bc2d8..9bb5217 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
@@ -47,13 +47,6 @@ public final class MsgPackSerializerSession extends OutputStreamSerializerSessio
 		this.ctx = ctx;
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("MsgPackSerializerSession", new ObjectMap()
-			);
-	}
-
 	@Override /* SerializerSession */
 	protected void doSerialize(SerializerPipe out, Object o) throws Exception {
 		serializeAnything(getMsgPackOutputStream(out), o, getExpectedRootType(o), "root", null);
@@ -229,4 +222,15 @@ public final class MsgPackSerializerSession extends OutputStreamSerializerSessio
 	protected final boolean isAddBeanTypes() {
 		return ctx.isAddBeanTypes();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("MsgPackSerializerSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParser.java
index 53cbf64..28d7423 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParser.java
@@ -101,4 +101,15 @@ public class OpenApiParser extends UonParser {
 	public OpenApiParserSession createPartSession(ParserSessionArgs args) {
 		return new OpenApiParserSession(this, args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("OpenApiParser", new DefaultFilteringObjectMap()
+			);
+	}
 }
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 da52292..ab3657a 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
@@ -227,4 +227,15 @@ public class OpenApiParserSession extends UonParserSession {
 			throw new ParseException(e.getMessage());
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("OpenApiParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializer.java
index 2f78da5..17e1cee 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializer.java
@@ -144,4 +144,15 @@ public class OpenApiSerializer extends UonSerializer {
 	public String serialize(HttpPartSchema schema, Object value) throws SchemaValidationException, SerializeException {
 		return createPartSession().serialize(null, schema, value);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("OpenApiSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
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 a45ae07..f884eab 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
@@ -304,4 +304,15 @@ public class OpenApiSerializerSession extends UonSerializerSession {
 			throw new SerializeException(e.getMessage());
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("OpenApiSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java
index 32dc217..919a068 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParser.java
@@ -124,7 +124,7 @@ public abstract class InputStreamParser extends Parser {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("InputStreamParser", new ObjectMap()
+			.append("InputStreamParser", new DefaultFilteringObjectMap()
 				.append("binaryFormat", binaryFormat)
 			);
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java
index e211734..722f458 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java
@@ -100,7 +100,7 @@ public abstract class InputStreamParserSession extends ParserSession {
 	@Override /* Session */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("InputStreamParserSession", new ObjectMap()
+			.append("InputStreamParserSession", new DefaultFilteringObjectMap()
 			);
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
index 2ed516b..10d4890 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
@@ -809,16 +809,6 @@ public abstract class Parser extends BeanContext {
 		return consumes == null || consumes.length == 0 ? null : consumes[0];
 	}
 
-	@Override /* Context */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("Parser", new ObjectMap()
-				.append("trimStrings", trimStrings)
-				.append("strict", strict)
-				.append("listener", listener)
-			);
-	}
-
 	/**
 	 * Returns <jk>true</jk> if this parser can handle the specified content type.
 	 *
@@ -904,4 +894,21 @@ public abstract class Parser extends BeanContext {
 	protected final boolean isUnbuffered() {
 		return unbuffered;
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+	
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("Parser", new DefaultFilteringObjectMap()
+				.append("autoCloseStreams", autoCloseStreams)
+				.append("debugOutputLines", debugOutputLines)
+				.append("listener", listener)
+				.append("strict", strict)
+				.append("trimStrings", trimStrings)
+				.append("unbuffered", unbuffered)
+			);
+	}
 }
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 1fb2c39..572e2ff 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
@@ -74,16 +74,6 @@ public abstract class ParserSession extends BeanSession {
 		this(Parser.DEFAULT, args);
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("ParserSession", new ObjectMap()
-				.append("javaMethod", javaMethod)
-				.append("listener", listener)
-				.append("outer", outer)
-			);
-	}
-
 	//-----------------------------------------------------------------------------------------------------------------
 	// Abstract methods
 	//-----------------------------------------------------------------------------------------------------------------
@@ -882,4 +872,14 @@ public abstract class ParserSession extends BeanSession {
 	protected final Class<? extends ParserListener> getListenerClass() {
 		return ctx.getListener();
 	}
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("ParserSession", new DefaultFilteringObjectMap()
+				.append("javaMethod", javaMethod)
+				.append("listener", listener)
+				.append("outer", outer)
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSessionArgs.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSessionArgs.java
index 561082b..43a4281 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSessionArgs.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSessionArgs.java
@@ -158,12 +158,16 @@ public final class ParserSessionArgs extends BeanSessionArgs {
 		return this;
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+	
 	@Override /* SessionArgs */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("ParserSessionArgs", new ObjectMap()
-				.appendSkipNull("javaMethod", javaMethod)
-				.appendSkipNull("outer", outer)
+			.append("ParserSessionArgs", new DefaultFilteringObjectMap()
+				.append("javaMethod", javaMethod)
+				.append("outer", outer)
 			);
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParser.java
index 10e0d03..c5f6765 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParser.java
@@ -189,7 +189,7 @@ public abstract class ReaderParser extends Parser {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("ReaderParser", new ObjectMap()
+			.append("ReaderParser", new DefaultFilteringObjectMap()
 				.append("fileCharset", fileCharset)
 				.append("streamCharset", streamCharset)
 			);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserSession.java
index ae6a5ff..84e93bb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserSession.java
@@ -119,7 +119,7 @@ public abstract class ReaderParserSession extends ParserSession {
 	@Override /* Session */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("ReaderParserSession", new ObjectMap()
+			.append("ReaderParserSession", new DefaultFilteringObjectMap()
 				.append("fileCharset", fileCharset)
 				.append("streamCharset", streamCharset)
 			);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
index b3c7a55..1ee5739 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
@@ -110,4 +110,15 @@ public class PlainTextParser extends ReaderParser {
 	public PlainTextParserSession createSession(ParserSessionArgs args) {
 		return new PlainTextParserSession(this, args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("PlainTextParser", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserSession.java
index 53da179..625693e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserSession.java
@@ -43,4 +43,15 @@ public class PlainTextParserSession extends ReaderParserSession {
 	protected <T> T doParse(ParserPipe pipe, ClassMeta<T> type) throws Exception {
 		return convertToType(read(pipe.getReader()), type);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("PlainTextParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
index fc5ac28..7d4aa89 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
@@ -126,4 +126,15 @@ public class PlainTextSerializer extends WriterSerializer {
 	public PlainTextSerializerSession createSession(SerializerSessionArgs args) {
 		return new PlainTextSerializerSession(this, args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("PlainTextSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerSession.java
index 31b88a5..b5ade98 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerSession.java
@@ -12,6 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.plaintext;
 
+import org.apache.juneau.*;
 import org.apache.juneau.serializer.*;
 
 /**
@@ -43,4 +44,15 @@ public class PlainTextSerializerSession extends WriterSerializerSession {
 	protected void doSerialize(SerializerPipe out, Object o) throws Exception {
 		out.getWriter().write(o == null ? "null" : convertToType(o, String.class));
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("PlainTextSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
index df61b97..9dbc744 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
@@ -172,7 +172,7 @@ public abstract class OutputStreamSerializer extends Serializer {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("OutputStreamSerializer", new ObjectMap()
+			.append("OutputStreamSerializer", new DefaultFilteringObjectMap()
 				.append("binaryFormat", binaryFormat)
 			);
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerSession.java
index 8e30dd3..aa481f8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerSession.java
@@ -108,4 +108,15 @@ public abstract class OutputStreamSerializerSession extends SerializerSession {
 	protected final BinaryFormat getBinaryFormat() {
 		return ctx.getBinaryFormat();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("OutputStreamSerializerSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
index 30b25b1..2065b9e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
@@ -1033,7 +1033,7 @@ public abstract class Serializer extends BeanTraverseContext {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("Serializer", new ObjectMap()
+			.append("Serializer", new DefaultFilteringObjectMap()
 				.append("addBeanTypes", addBeanTypes)
 				.append("trimNullProperties", trimNullProperties)
 				.append("trimEmptyCollections", trimEmptyCollections)
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 da51c82..d7ea61f 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
@@ -127,14 +127,6 @@ public abstract class SerializerSession extends BeanTraverseSession {
 		this(Serializer.DEFAULT, args);
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("SerializerSession", new ObjectMap()
-				.append("uriResolver", uriResolver)
-			);
-	}
-
 	//-----------------------------------------------------------------------------------------------------------------
 	// Abstract methods
 	//-----------------------------------------------------------------------------------------------------------------
@@ -768,4 +760,16 @@ public abstract class SerializerSession extends BeanTraverseSession {
 	protected final UriResolution getUriResolution() {
 		return ctx.getUriResolution();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("SerializerSession", new DefaultFilteringObjectMap()
+				.append("uriResolver", uriResolver)
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSessionArgs.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSessionArgs.java
index fbaf029..9d596b9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSessionArgs.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSessionArgs.java
@@ -202,12 +202,16 @@ public final class SerializerSessionArgs extends BeanSessionArgs {
 		return this;
 	}
 
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+	
 	@Override /* SessionArgs */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("SerializerSessionArgs", new ObjectMap()
-				.appendSkipNull("javaMethod", javaMethod)
-				.appendSkipNull("resolver", resolver)
+			.append("SerializerSessionArgs", new DefaultFilteringObjectMap()
+				.append("javaMethod", javaMethod)
+				.append("resolver", resolver)
 			);
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
index 5575977..054e5d1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
@@ -428,12 +428,12 @@ public abstract class WriterSerializer extends Serializer {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("WriterSerializer", new ObjectMap()
+			.append("WriterSerializer", new DefaultFilteringObjectMap()
 				.append("fileCharset", fileCharset)
 				.append("maxIndent", maxIndent)
 				.append("quoteChar", quoteChar)
 				.append("streamCharset", streamCharset)
-				.appendSkipFalse("useWhitespace", useWhitespace)
+				.append("useWhitespace", useWhitespace)
 			);
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java
index 6e24157..d32f968 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerSession.java
@@ -144,7 +144,7 @@ public abstract class WriterSerializerSession extends SerializerSession {
 	@Override /* Session */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("WriterSerializerSession", new ObjectMap()
-		);
+			.append("WriterSerializerSession", new DefaultFilteringObjectMap()
+			);
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
index 75218a5..9752448 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
@@ -117,4 +117,16 @@ public final class SoapXmlSerializer extends XmlSerializer {
 	public String getSoapAction() {
 		return soapAction;
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("SoapXmlSerializer", new DefaultFilteringObjectMap()
+				.append("soapAction", soapAction)
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java
index 30a0140..78a8ba6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerSession.java
@@ -16,6 +16,7 @@ import static org.apache.juneau.soap.SoapXmlSerializer.*;
 
 import java.util.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.utils.*;
 import org.apache.juneau.xml.*;
@@ -91,4 +92,16 @@ public class SoapXmlSerializerSession extends XmlSerializerSession {
 	public String getSoapAction() {
 		return soapAction;
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("SoapXmlSerializerSession", new DefaultFilteringObjectMap()
+				.append("soapAction", soapAction)
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java
index ff9f9ce..3585781 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParser.java
@@ -292,8 +292,9 @@ public class UonParser extends ReaderParser implements HttpPartParser {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("UonParser", new ObjectMap()
+			.append("UonParser", new DefaultFilteringObjectMap()
 				.append("decoding", decoding)
+				.append("validateEnd", validateEnd)
 			);
 	}
 }
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 66c4048..ad4df33 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
@@ -58,14 +58,6 @@ public class UonParserSession extends ReaderParserSession implements HttpPartPar
 		decoding = getProperty(UON_decoding, boolean.class, ctx.isDecoding());
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("UonParser", new ObjectMap()
-				.append("decoding", decoding)
-			);
-	}
-
 	/**
 	 * Create a specialized parser session for parsing URL parameters.
 	 *
@@ -864,4 +856,16 @@ public class UonParserSession extends ReaderParserSession implements HttpPartPar
 	protected final boolean isValidateEnd() {
 		return ctx.isValidateEnd();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("UonParserSession", new DefaultFilteringObjectMap()
+				.append("decoding", decoding)
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
index 3d48657..1714053 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
@@ -458,7 +458,7 @@ public class UonSerializer extends WriterSerializer implements HttpPartSerialize
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("UonSerializer", new ObjectMap()
+			.append("UonSerializer", new DefaultFilteringObjectMap()
 				.append("encoding", encoding)
 				.append("addBeanTypes", addBeanTypes)
 				.append("paramFormat", paramFormat)
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 361f0f3..15f2099 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
@@ -50,13 +50,6 @@ public class UonSerializerSession extends WriterSerializerSession implements Htt
 		plainTextParams = ctx.getParamFormat() == ParamFormat.PLAINTEXT;
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("UonSerializerSession", new ObjectMap()
-		);
-	}
-
 	/**
 	 * Converts the specified output target object to an {@link UonWriter}.
 	 *
@@ -332,4 +325,15 @@ public class UonSerializerSession extends WriterSerializerSession implements Htt
 	protected final ParamFormat getParamFormat() {
 		return ctx.getParamFormat();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("UonSerializerSession", new DefaultFilteringObjectMap()
+		);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
index 8d6601f..cb6709e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
@@ -186,7 +186,7 @@ public class UrlEncodingParser extends UonParser {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("UrlEncodingParser", new ObjectMap()
+			.append("UrlEncodingParser", new DefaultFilteringObjectMap()
 				.append("expandedParams", expandedParams)
 			);
 	}
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 0aa0cef..7d4376c 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
@@ -47,13 +47,6 @@ public class UrlEncodingParserSession extends UonParserSession {
 		this.ctx = ctx;
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("UrlEncodingParser", new ObjectMap()
-			);
-	}
-
 	/**
 	 * Returns <jk>true</jk> if the specified bean property should be expanded as multiple key-value pairs.
 	 *
@@ -373,4 +366,15 @@ public class UrlEncodingParserSession extends UonParserSession {
 	protected final boolean isExpandedParams() {
 		return ctx.isExpandedParams();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("UrlEncodingParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
index 28b46d1..ec22227 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
@@ -357,7 +357,7 @@ public class UrlEncodingSerializer extends UonSerializer {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("UrlEncodingSerializer", new ObjectMap()
+			.append("UrlEncodingSerializer", new DefaultFilteringObjectMap()
 				.append("expandedParams", expandedParams)
 			);
 	}
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 c14c6d3..7021833 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
@@ -53,13 +53,6 @@ public class UrlEncodingSerializerSession extends UonSerializerSession {
 		this.ctx = ctx;
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("UrlEncodingSerializerSession", new ObjectMap()
-			);
-	}
-
 	/*
 	 * Returns <jk>true</jk> if the specified bean property should be expanded as multiple key-value pairs.
 	 */
@@ -280,4 +273,15 @@ public class UrlEncodingSerializerSession extends UonSerializerSession {
 	protected final boolean isExpandedParams() {
 		return ctx.isExpandedParams();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("UrlEncodingSerializerSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
index b07a477..3c27f92 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
@@ -71,4 +71,15 @@ public class XmlDocSerializer extends XmlSerializer {
 	public XmlDocSerializerSession createSession(SerializerSessionArgs args) {
 		return new XmlDocSerializerSession(this, args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("XmlDocSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlDocSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlDocSerializerSession.java
index 3f9449f..9bcd12a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlDocSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlDocSerializerSession.java
@@ -12,6 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.xml;
 
+import org.apache.juneau.*;
 import org.apache.juneau.serializer.*;
 
 /**
@@ -50,4 +51,15 @@ public class XmlDocSerializerSession extends XmlSerializerSession {
 			super.doSerialize(out, o);
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("XmlDocSerializerSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java
index d584e13..63f5d14 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java
@@ -324,7 +324,7 @@ public class XmlParser extends ReaderParser {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("XmlParser", new ObjectMap()
+			.append("XmlParser", new DefaultFilteringObjectMap()
 				.append("validating", validating)
 				.append("preserveRootElement", preserveRootElement)
 				.append("reporter", reporter)
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 4bc9657..3a9ee7e 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
@@ -56,13 +56,6 @@ public class XmlParserSession extends ReaderParserSession {
 		this.ctx = ctx;
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("XmlParser", new ObjectMap()
-			);
-	}
-
 	/**
 	 * Wrap the specified reader in a STAX reader based on settings in this context.
 	 *
@@ -741,4 +734,15 @@ public class XmlParserSession extends ReaderParserSession {
 	protected final boolean isValidating() {
 		return ctx.isValidating();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("XmlParserSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
index 9d68af8..e899939 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
@@ -644,7 +644,7 @@ public class XmlSerializer extends WriterSerializer {
 	@Override /* Context */
 	public ObjectMap asMap() {
 		return super.asMap()
-			.append("XmlSerializer", new ObjectMap()
+			.append("XmlSerializer", new DefaultFilteringObjectMap()
 				.append("autoDetectNamespaces", autoDetectNamespaces)
 				.append("enableNamespaces", enableNamespaces)
 				.append("addNamespaceUrlsToRoot", addNamespaceUrlsToRoot)
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 b3ac5f5..36bdfde 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
@@ -79,13 +79,6 @@ public class XmlSerializerSession extends WriterSerializerSession {
 		return n;
 	}
 
-	@Override /* Session */
-	public ObjectMap asMap() {
-		return super.asMap()
-			.append("XmlSerializerSession", new ObjectMap()
-			);
-	}
-
 	/*
 	 * Add a namespace to this session.
 	 *
@@ -822,4 +815,15 @@ public class XmlSerializerSession extends WriterSerializerSession {
 	protected final Namespace getXsNamespace() {
 		return ctx.getXsNamespace();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("XmlSerializerSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaDocSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaDocSerializer.java
index 4bd2446..376b9b6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaDocSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaDocSerializer.java
@@ -61,4 +61,15 @@ public class XmlSchemaDocSerializer extends XmlSchemaSerializer {
 	public XmlSchemaSerializerSession createSession(SerializerSessionArgs args) {
 		return new XmlSchemaSerializerSession(this, args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("XmlSchemaDocSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializer.java
index ca3088d..7481c14 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializer.java
@@ -63,4 +63,15 @@ public class XmlSchemaSerializer extends XmlSerializer {
 	public XmlSchemaSerializerSession createSession(SerializerSessionArgs args) {
 		return new XmlSchemaSerializerSession(this, args);
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("XmlSchemaSerializer", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerSession.java
index c7a9664..9deff0c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerSession.java
@@ -564,4 +564,15 @@ public class XmlSchemaSerializerSession extends XmlSerializerSession {
 		}
 		return "string";
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("XmlSchemaSerializerSession", new DefaultFilteringObjectMap()
+			);
+	}
 }
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
index cb3da05..04bca4d 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
@@ -2495,4 +2495,38 @@ public final class RestCall extends BeanSession implements Closeable {
 	private static String className(Object o) {
 		return ClassInfo.of(o).getFullName();
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Session */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("RestCall", new DefaultFilteringObjectMap()
+				.append("allowRedirectsOnPosts", allowRedirectsOnPosts)
+				.append("byLines", byLines)
+				.append("capturedResponse", capturedResponse)
+				.append("client", client)
+				.append("hasInput", hasInput)
+				.append("ignoreErrors", ignoreErrors)
+				.append("interceptors", interceptors)
+				.append("isClosed", isClosed)
+				.append("isConnected", isConnected)
+				.append("isFailed", isFailed)
+				.append("parser", parser)
+				.append("partParser", partParser)
+				.append("partSerializer", partSerializer)
+				.append("redirectOnPostsTries", redirectOnPostsTries)
+				.append("requestBodySchema", requestBodySchema)
+				.append("response", response)
+				.append("responseBodySchema", responseBodySchema)
+				.append("retries", retries)
+				.append("retryInterval", retryInterval)
+				.append("retryOn", retryOn)
+				.append("serializer", serializer)
+				.append("softClose", softClose)
+				.append("uriBuilder", uriBuilder)
+			);
+	}
 }
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index 29870bd..cf66147 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -1411,4 +1411,30 @@ public class RestClient extends BeanContext implements Closeable {
 			}
 		}
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods.
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("RestClient", new DefaultFilteringObjectMap()
+				.append("debug", debug)
+				.append("executorService", executorService)
+				.append("executorServiceShutdownOnClose", executorServiceShutdownOnClose)
+				.append("headers", headers)
+				.append("interceptors", interceptors)
+				.append("keepHttpClientOpen", keepHttpClientOpen)
+				.append("parser", parser)
+				.append("partParser", partParser)
+				.append("partSerializer", partSerializer)
+				.append("query", query)
+				.append("retries", retries)
+				.append("retryInterval", retryInterval)
+				.append("retryOn", retryOn)
+				.append("rootUri", rootUrl)
+				.append("serializer", serializer)
+			);
+	}
 }
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 2d1d92a..6d7dac4 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -4964,9 +4964,43 @@ public final class RestContext extends BeanContext {
 		res.remove();
 	}
 
-	@Override
-	public String toString() {
-		Object r = getResource();
-		return "RestContext: hashCode=["+System.identityHashCode(this)+"], resource=["+(r == null ? null : r.getClass()+","+System.identityHashCode(r))+"]";
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods.
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("RestContext", new DefaultFilteringObjectMap()
+				.append("allowBodyParam", allowBodyParam)
+				.append("allowedMethodParams", allowedMethodParams)
+				.append("allowHeaderParams", allowHeaderParams)
+				.append("callHandler", callHandler)
+				.append("clientVersionHeader", clientVersionHeader)
+				.append("consumes", consumes)
+				.append("debug", debug)
+				.append("defaultRequestHeaders", defaultRequestHeaders)
+				.append("defaultResponseHeaders", defaultResponseHeaders)
+				.append("infoProvider", infoProvider)
+				.append("logger", logger)
+				.append("paramResolvers", paramResolvers)
+				.append("parsers", parsers)
+				.append("partParser", partParser)
+				.append("partSerializer", partSerializer)
+				.append("produces", produces)
+				.append("properties", properties)
+				.append("renderResponseStackTraces", renderResponseStackTraces)
+				.append("resourceResolver", resourceResolver)
+				.append("responseHandlers", responseHandlers)
+				.append("serializers", serializers)
+				.append("staticFileResponseHeaders", staticFileResponseHeaders)
+				.append("staticFiles", staticFiles)
+				.append("uriAuthority", uriAuthority)
+				.append("uriContext", uriContext)
+				.append("uriRelativity", uriRelativity)
+				.append("uriResolution", uriResolution)
+				.append("useClasspathResourceCaching", useClasspathResourceCaching)
+				.append("useStackTraceHashes", useStackTraceHashes)
+			);
 	}
 }
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
index 512eb20..75a2b8d 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContext.java
@@ -930,6 +930,7 @@ public class RestMethodContext extends BeanContext implements Comparable<RestMet
 	//-----------------------------------------------------------------------------------------------------------------
 	// Utility methods.
 	//-----------------------------------------------------------------------------------------------------------------
+
 	static String[] resolveVars(VarResolver vr, String[] in) {
 		String[] out = new String[in.length];
 		for (int i = 0; i < in.length; i++)
@@ -941,4 +942,20 @@ public class RestMethodContext extends BeanContext implements Comparable<RestMet
 		HttpPartSerializer hps = castOrCreate(HttpPartSerializer.class, c, true, ps);
 		return hps == null ? _default : hps;
 	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Other methods.
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* Context */
+	public ObjectMap asMap() {
+		return super.asMap()
+			.append("RestMethodContext", new DefaultFilteringObjectMap()
+				.append("defaultFormData", defaultFormData)
+				.append("defaultQuery", defaultQuery)
+				.append("defaultRequestHeaders", defaultRequestHeaders)
+				.append("httpMethod", httpMethod)
+				.append("priority", priority)
+			);
+	}
 }
\ No newline at end of file