[JOHNZON-332] merge jsonb builder with new skipAccessModeWrapper toggle for consistency
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
index 52878dc..0b749a4 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
@@ -38,7 +38,6 @@
 import org.apache.johnzon.mapper.SerializeValueFilter;
 import org.apache.johnzon.mapper.access.AccessMode;
 import org.apache.johnzon.mapper.access.FieldAndMethodAccessMode;
-import org.apache.johnzon.mapper.access.KnownNotOpenedJavaTypesAccessMode;
 import org.apache.johnzon.mapper.converter.LocaleConverter;
 import org.apache.johnzon.mapper.internal.AdapterKey;
 
@@ -212,29 +211,27 @@
             throw new IllegalArgumentException("Unsupported factory: " + val);
         }).orElseGet(() -> findFactory(skipCdi));
 
+        ofNullable(config.getProperty("johnzon.skip-exception-serialization"))
+                .map(v -> Boolean.parseBoolean(String.valueOf(v)))
+                .ifPresent(builder::setSkipAccessModeWrapper);
+
         final AccessMode accessMode = config.getProperty("johnzon.accessMode")
                 .map(this::toAccessMode)
-                .orElseGet(() -> {
-                    final AccessMode access = new JsonbAccessMode(
-                            propertyNamingStrategy, orderValue, visibilityStrategy,
-                            !namingStrategyValue.orElse("").equals(PropertyNamingStrategy.CASE_INSENSITIVE),
-                            builder.getAdapters(),
-                            factory, jsonp, builderFactorySupplier, parserFactoryProvider,
-                            config.getProperty("johnzon.accessModeDelegate")
-                                    .map(this::toAccessMode)
-                                    .orElseGet(() -> new FieldAndMethodAccessMode(true, true, false, true)),
-                            config.getProperty("johnzon.failOnMissingCreatorValues")
-                                    .map(this::toBool)
-                                    .orElse(true) /*spec 1.0 requirement*/,
-                            isNillable,
-                            config.getProperty("johnzon.supportsPrivateAccess")
-                                    .map(this::toBool)
-                                    .orElse(false));
-                    return ofNullable(config.getProperty("johnzon.enable-exception-serialization"))
-                            .map(v -> Boolean.parseBoolean(String.valueOf(v)))
-                            .map(it -> it ? new KnownNotOpenedJavaTypesAccessMode(access) : access)
-                            .orElseGet(() -> new KnownNotOpenedJavaTypesAccessMode(access));
-                });
+                .orElseGet(() -> new JsonbAccessMode(
+                        propertyNamingStrategy, orderValue, visibilityStrategy,
+                        !namingStrategyValue.orElse("").equals(PropertyNamingStrategy.CASE_INSENSITIVE),
+                        builder.getAdapters(),
+                        factory, jsonp, builderFactorySupplier, parserFactoryProvider,
+                        config.getProperty("johnzon.accessModeDelegate")
+                                .map(this::toAccessMode)
+                                .orElseGet(() -> new FieldAndMethodAccessMode(true, true, false, true)),
+                        config.getProperty("johnzon.failOnMissingCreatorValues")
+                                .map(this::toBool)
+                                .orElse(true) /*spec 1.0 requirement*/,
+                        isNillable,
+                        config.getProperty("johnzon.supportsPrivateAccess")
+                                .map(this::toBool)
+                                .orElse(false)));
         builder.setAccessMode(accessMode);
 
         // user adapters