JUNEAU-169 Dynamic annotations.
diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/ConfigBuilder.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/ConfigBuilder.java
index 5ff84c74..3b3bb01 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/ConfigBuilder.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/ConfigBuilder.java
@@ -14,7 +14,6 @@
 

 import static org.apache.juneau.config.Config.*;

 

-import java.lang.annotation.*;

 import java.util.*;

 

 import org.apache.juneau.*;

@@ -294,12 +293,6 @@
 	}

 

 	@Override /* ContextBuilder */

-	public ConfigBuilder annotations(Annotation...values) {

-		super.annotations(values);

-		return this;

-	}

-

-	@Override /* ContextBuilder */

 	public ConfigBuilder set(String name, Object value) {

 		super.set(name, value);

 		return this;

diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigApply.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigApply.java
index f6c2bde..4952524 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigApply.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigApply.java
@@ -110,6 +110,6 @@
 			psb.set(RDF_trimWhitespace, bool(a.trimWhitespace()));
 
 		if (a.annotateRdf().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateRdf());
+			psb.addTo(BEAN_annotations, a.annotateRdf());
 	}
 }
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 3e7c42a..c61fc58 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
@@ -18,6 +18,7 @@
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
+import java.lang.annotation.*;
 import java.lang.reflect.*;
 import java.util.*;
 import java.util.concurrent.*;
@@ -28,6 +29,7 @@
 import org.apache.juneau.reflect.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.transform.*;
+import org.apache.juneau.utils.*;
 
 /**
  * Core class of the Juneau architecture.
@@ -145,11 +147,59 @@
  */
 @SuppressWarnings({"unchecked","rawtypes"})
 @ConfigurableContext
-public class BeanContext extends Context {
+public class BeanContext extends Context implements MetaProvider {
 
 	static final String PREFIX = "BeanContext";
 
 	/**
+	 * Configuration property:  Annotations.
+	 *
+	 * <h5 class='section'>Property:</h5>
+	 * <ul>
+	 * 	<li><b>Name:</b>  <js>"BeanContext.annotations.lo"</js>
+	 * 	<li><b>Data type:</b>  <c>List&lt;Annotation&gt;</c>
+	 * 	<li><b>Default:</b>  Empty list.
+	 * 	<li><b>Methods:</b>
+	 * 		<ul>
+	 * 			<li class='jm'>{@link BeanContextBuilder#annotations(Annotation...)}
+	 * 		</ul>
+	 * </ul>
+	 *
+	 * <h5 class='section'>Description:</h5>
+	 * <p>
+	 * Defines annotations to apply to specific classes and methods.
+	 *
+	 * <p>
+	 * Allows you to dynamically apply Juneau annotations typically applied directly to classes and methods.
+	 * Useful in cases where you want to use the functionality of the annotation on beans and bean properties but
+	 * do not have access to the code to do so.
+	 *
+	 * <p>
+	 * As a rule, any Juneau annotation with an <c>on()</c> method can be used with this property.
+	 *
+	 * <p>
+	 * The following example shows the equivalent methods for applying the {@link Bean @Bean} annotation:
+	 * <p class='bpcode w800'>
+	 * 	<jc>// Class with explicit annotation.</jc>
+	 * 	<ja>@Bean</ja>(bpi=<jk>"street,city,state"</js>)
+	 * 	<jk>public class</jk> A {...}
+	 *
+	 * 	<jc>// Class with annotation applied via @BeanConfig</jc>
+	 * 	<jk>public class</jk> B {...}
+	 *
+	 * 	<jc>// Java REST method with @BeanConfig annotation.</jc>
+	 * 	<ja>@RestMethod</ja>(...)
+	 * 	<ja>@BeanConfig</ja>(
+	 * 		annotations={
+	 * 			<ja>@Bean</ja>(on=<js>"B"</js>, bpi=<jk>"street,city,state"</js>)
+	 * 		}
+	 * 	)
+	 * 	<jk>public void</jk> doFoo() {...}
+	 * </p>
+	 */
+	public static final String BEAN_annotations = PREFIX + ".annotations.lo";
+
+	/**
 	 * Configuration property:  Minimum bean class visibility.
 	 *
 	 * <h5 class='section'>Property:</h5>
@@ -2086,6 +2136,7 @@
 	private final PropertyNamer propertyNamer;
 	private final String beanTypePropertyName;
 	private final int beanHashCode;
+	private final ReflectionMap<Annotation> annotations;
 
 	final Map<Class,ClassMeta> cmCache;
 	private final ClassMeta<Object> cmObject;  // Reusable ClassMeta that represents general Objects.
@@ -2107,6 +2158,19 @@
 		if (ps == null)
 			ps = PropertyStore.DEFAULT;
 
+
+		ReflectionMap.Builder<Annotation> rmb = ReflectionMap.create(Annotation.class);
+		for (Annotation a : ps.getListProperty(BEAN_annotations, Annotation.class)) {
+			try {
+				Method m = a.getClass().getMethod("on");
+				String on = (String)m.invoke(a);
+				rmb.append(on, a);
+			} catch (Exception e) {
+				throw new ConfigException("Invalid annotation @{0} used in BEAN_annotations property.  Annotation must define an on() method.", a.getClass().getSimpleName());
+			}
+		}
+		this.annotations = rmb.build();
+
 		beanHashCode = ps.hashCode("BeanContext");
 
 		beansRequireDefaultConstructor = getBooleanProperty(BEAN_beansRequireDefaultConstructor, false);
@@ -2944,6 +3008,35 @@
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
+	// MetaProvider methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	@Override /* MetaProvider */
+	public <A extends Annotation> A getAnnotation(Class<A> a, Class<?> c) {
+		return a == null || c == null ? null : (A)annotations.findFirst(c, a).orElse(c.getAnnotation(a));
+	}
+
+	@Override /* MetaProvider */
+	public <A extends Annotation> A getDeclaredAnnotation(Class<A> a, Class<?> c) {
+		return a == null || c == null ? null : (A)annotations.findFirst(c, a).orElse(c.getAnnotation(a));
+	}
+
+	@Override /* MetaProvider */
+	public <A extends Annotation> A getAnnotation(Class<A> a, Method m) {
+		return a == null || m == null ? null : (A)annotations.findFirst(m, a).orElse(m.getAnnotation(a));
+	}
+
+	@Override /* MetaProvider */
+	public <A extends Annotation> A getAnnotation(Class<A> a, Field f) {
+		return a == null || f == null ? null : (A)annotations.findFirst(f, a).orElse(f.getAnnotation(a));
+	}
+
+	@Override /* MetaProvider */
+	public <A extends Annotation> A getAnnotation(Class<A> a, Constructor<?> c) {
+		return a == null || c == null ? null : (A)annotations.findFirst(c, a).orElse(c.getAnnotation(a));
+	}
+
+	//-----------------------------------------------------------------------------------------------------------------
 	// Properties
 	//-----------------------------------------------------------------------------------------------------------------
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
index 62e318a..2e80a66 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
@@ -93,6 +93,29 @@
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
+	 * Configuration property:  Annotations.
+	 *
+	 * <p>
+	 * Defines annotations to apply to specific classes and methods.
+	 *
+	 * <p>
+	 * Allows you to dynamically apply Juneau annotations typically applied directly to classes and methods.
+	 * Useful in cases where you want to use the functionality of the annotation on beans and bean properties but
+	 * do not have access to the code to do so.
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_annotations}
+	 * </ul>
+	 *
+	 * @param values
+	 * 	The values to add to this property.
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder annotations(Annotation...values) {
+		return addTo(BEAN_annotations, values);
+	}
+
+	/**
 	 * Configuration property:  Minimum bean class visibility.
 	 *
 	 * <p>
@@ -1878,12 +1901,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public BeanContextBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public BeanContextBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
index b0012c3..2e82d63 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
@@ -168,6 +168,11 @@
 		return set(BEANTRAVERSE_maxDepth, value);
 	}
 
+	@Override /* BeanContextBuilder */
+	public BeanTraverseBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
 
 	@Override /* BeanContextBuilder */
 	public BeanTraverseBuilder beanClassVisibility(Visibility value) {
@@ -686,12 +691,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public BeanTraverseBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public BeanTraverseBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
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 795f914..5e74db1 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
@@ -12,14 +12,11 @@
 // ***************************************************************************************************************************
 package org.apache.juneau;
 
-import java.lang.annotation.*;
-import java.lang.reflect.*;
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.json.*;
-import org.apache.juneau.utils.*;
 
 /**
  * A reusable stateless thread-safe read-only configuration, typically used for creating one-time use {@link Session}
@@ -43,62 +40,14 @@
  * @see PropertyStore
  */
 @ConfigurableContext
-public abstract class Context implements MetaProvider {
+public abstract class Context {
 
 	static final String PREFIX = "Context";
 
-	/**
-	 * Configuration property:  Annotations.
-	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul>
-	 * 	<li><b>Name:</b>  <js>"Context.annotations.lo"</js>
-	 * 	<li><b>Data type:</b>  <c>List&lt;Annotation&gt;</c>
-	 * 	<li><b>Default:</b>  Empty list.
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link ContextBuilder#annotations(Annotation...)}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <h5 class='section'>Description:</h5>
-	 * <p>
-	 * Defines annotations to apply to specific classes and methods.
-	 *
-	 * <p>
-	 * Allows you to dynamically apply Juneau annotations typically applied directly to classes and methods.
-	 * Useful in cases where you want to use the functionality of the annotation on beans and bean properties but
-	 * do not have access to the code to do so.
-	 *
-	 * <p>
-	 * As a rule, any Juneau annotation with an <c>on()</c> method can be used with this property.
-	 *
-	 * <p>
-	 * The following example shows the equivalent methods for applying the {@link Bean @Bean} annotation:
-	 * <p class='bpcode w800'>
-	 * 	<jc>// Class with explicit annotation.</jc>
-	 * 	<ja>@Bean</ja>(bpi=<jk>"street,city,state"</js>)
-	 * 	<jk>public class</jk> A {...}
-	 *
-	 * 	<jc>// Class with annotation applied via @BeanConfig</jc>
-	 * 	<jk>public class</jk> B {...}
-	 *
-	 * 	<jc>// Java REST method with @BeanConfig annotation.</jc>
-	 * 	<ja>@RestMethod</ja>(...)
-	 * 	<ja>@BeanConfig</ja>(
-	 * 		annotations={
-	 * 			<ja>@Bean</ja>(on=<js>"B"</js>, bpi=<jk>"street,city,state"</js>)
-	 * 		}
-	 * 	)
-	 * 	<jk>public void</jk> doFoo() {...}
-	 * </p>
-	 */
-	public static final String CONTEXT_annotations = PREFIX + ".annotations.lo";
 
 
 	private final PropertyStore propertyStore;
 	private final int identityCode;
-	private final ReflectionMap<Annotation> annotations;
 
 	/**
 	 * Constructor for this class.
@@ -112,18 +61,6 @@
 	public Context(PropertyStore ps, boolean allowReuse) {
 		this.propertyStore = ps == null ? PropertyStore.DEFAULT : ps;
 		this.identityCode = allowReuse ? new HashCode().add(getClass().getName()).add(ps).get() : System.identityHashCode(this);
-
-		ReflectionMap.Builder<Annotation> rmb = ReflectionMap.create(Annotation.class);
-		for (Annotation a : propertyStore.getListProperty(CONTEXT_annotations, Annotation.class)) {
-			try {
-				Method m = a.getClass().getMethod("on");
-				String on = (String)m.invoke(a);
-				rmb.append(on, a);
-			} catch (Exception e) {
-				throw new ConfigException("Invalid annotation @{0} used in CONTEXT_annotations property.  Annotation must define an on() method.", a.getClass().getSimpleName());
-			}
-		}
-		this.annotations = rmb.build();
 	}
 
 	/**
@@ -601,40 +538,6 @@
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// MetaProvider methods
-	//-----------------------------------------------------------------------------------------------------------------
-
-	@SuppressWarnings("unchecked")
-	@Override /* MetaProvider */
-	public <A extends Annotation> A getAnnotation(Class<A> a, Class<?> c) {
-		return a == null || c == null ? null : (A)annotations.findFirst(c, a).orElse(c.getAnnotation(a));
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override /* MetaProvider */
-	public <A extends Annotation> A getDeclaredAnnotation(Class<A> a, Class<?> c) {
-		return a == null || c == null ? null : (A)annotations.findFirst(c, a).orElse(c.getAnnotation(a));
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override /* MetaProvider */
-	public <A extends Annotation> A getAnnotation(Class<A> a, Method m) {
-		return a == null || m == null ? null : (A)annotations.findFirst(m, a).orElse(m.getAnnotation(a));
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override /* MetaProvider */
-	public <A extends Annotation> A getAnnotation(Class<A> a, Field f) {
-		return a == null || f == null ? null : (A)annotations.findFirst(f, a).orElse(f.getAnnotation(a));
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override /* MetaProvider */
-	public <A extends Annotation> A getAnnotation(Class<A> a, Constructor<?> c) {
-		return a == null || c == null ? null : (A)annotations.findFirst(c, a).orElse(c.getAnnotation(a));
-	}
-
-	//-----------------------------------------------------------------------------------------------------------------
 	// Other methods
 	//-----------------------------------------------------------------------------------------------------------------
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
index a7e2db2..a1b165a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
@@ -12,9 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau;
 
-import static org.apache.juneau.BeanContext.*;
-
-import java.lang.annotation.*;
 import java.lang.reflect.*;
 import java.util.*;
 
@@ -231,29 +228,6 @@
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Annotations.
-	 *
-	 * <p>
-	 * Defines annotations to apply to specific classes and methods.
-	 *
-	 * <p>
-	 * Allows you to dynamically apply Juneau annotations typically applied directly to classes and methods.
-	 * Useful in cases where you want to use the functionality of the annotation on beans and bean properties but
-	 * do not have access to the code to do so.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link Context#CONTEXT_annotations}
-	 * </ul>
-	 *
-	 * @param values
-	 * 	The values to add to this property.
-	 * @return This object (for method chaining).
-	 */
-	public ContextBuilder annotations(Annotation...values) {
-		return addTo(CONTEXT_annotations, values);
-	}
-
-	/**
 	 * Sets a configuration property on this object.
 	 *
 	 * @param name The property name.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
index d498230..67d69a6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigApply.java
@@ -167,9 +167,9 @@
 			psb.set(BEANTRAVERSE_maxDepth, integer(a.maxDepth(), "maxDepth"));
 
 		if (a.annotateBean().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateBean());
+			psb.addTo(BEAN_annotations, a.annotateBean());
 		if (a.annotateBeanp().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateBeanp());
+			psb.addTo(BEAN_annotations, a.annotateBeanp());
 	}
 
 	private Locale locale(String in) {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
index d99fea0..54719f7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
@@ -126,6 +126,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -642,12 +648,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public CsvParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public CsvParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
index 9edeace..3014a2a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
@@ -251,6 +251,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -767,12 +773,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public CsvSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public CsvSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfigApply.java
index c465f0f..a1a5343 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfigApply.java
@@ -12,7 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.csv.annotation;
 
-import static org.apache.juneau.Context.*;
+import static org.apache.juneau.BeanContext.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -38,6 +38,6 @@
 		CsvConfig a = ai.getAnnotation();
 
 		if (a.annotateCsv().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateCsv());
+			psb.addTo(BEAN_annotations, a.annotateCsv());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
index ef76987..1d473b0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
@@ -772,6 +772,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlDocSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlDocSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -1288,12 +1294,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public HtmlDocSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public HtmlDocSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
index 8d40df4..102b383 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
@@ -148,6 +148,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -664,12 +670,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public HtmlParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public HtmlParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
index c6e5143..559611d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
@@ -420,6 +420,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSchemaSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSchemaSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -900,12 +906,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public HtmlSchemaSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public HtmlSchemaSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
index 7ba1850..9b33067 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
@@ -425,6 +425,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -941,12 +947,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public HtmlSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public HtmlSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
index 8099ab8..7734afe 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
@@ -336,6 +336,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlStrippedDocSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlStrippedDocSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -852,12 +858,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public HtmlStrippedDocSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public HtmlStrippedDocSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigApply.java
index 1eb8c0c..cc3acad 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigApply.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.html.annotation;
 
-import static org.apache.juneau.Context.*;
 import static org.apache.juneau.html.HtmlSerializer.*;
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -50,6 +49,6 @@
 			psb.set(HTML_uriAnchorText, string(a.uriAnchorText()));
 
 		if (a.annotateHtml().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateHtml());
+			psb.addTo(BEAN_annotations, a.annotateHtml());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
index c4b5402..7e5d5a6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
@@ -118,6 +118,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -634,12 +640,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public JsoParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public JsoParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
index e214c71..8f91aa3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
@@ -208,6 +208,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -724,12 +730,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public JsoSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public JsoSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfigApply.java
index 0bbaee4..29d3c60 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfigApply.java
@@ -12,7 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.jso.annotation;
 
-import static org.apache.juneau.Context.*;
+import static org.apache.juneau.BeanContext.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -38,6 +38,6 @@
 		JsoConfig a = ai.getAnnotation();
 
 		if (a.annotateJso().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateJso());
+			psb.addTo(BEAN_annotations, a.annotateJso());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
index 09992b6..5d08c1c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
@@ -164,6 +164,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -680,12 +686,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public JsonParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public JsonParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
index 01c157b..a743d1b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
@@ -450,6 +450,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -966,12 +972,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public JsonSchemaSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public JsonSchemaSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
index 55030b6..70d69f8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
@@ -341,6 +341,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -857,12 +863,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public JsonSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public JsonSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigApply.java
index 19b0b2e..c540676 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigApply.java
@@ -47,6 +47,6 @@
 			psb.set(JSON_validateEnd, bool(a.validateEnd()));
 
 		if (a.annotateJson().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateJson());
+			psb.addTo(BEAN_annotations, a.annotateJson());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
index 5ce1b12..931d612 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
@@ -312,6 +312,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaGeneratorBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaGeneratorBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -828,12 +834,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public JsonSchemaGeneratorBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public JsonSchemaGeneratorBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigApply.java
index 64949c4..5655039 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigApply.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.jsonschema.annotation;
 
-import static org.apache.juneau.Context.*;
 import static org.apache.juneau.jsonschema.JsonSchemaGenerator.*;
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
@@ -56,6 +55,6 @@
 			psb.set(JSONSCHEMA_useBeanDefs, bool(a.useBeanDefs()));
 
 		if (a.annotateSchema().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateSchema());
+			psb.addTo(BEAN_annotations, a.annotateSchema());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
index b192d40..39ca7f2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
@@ -118,6 +118,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -634,12 +640,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public MsgPackParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public MsgPackParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
index 0e857b6..4196af7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
@@ -208,6 +208,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -724,12 +730,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public MsgPackSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public MsgPackSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigApply.java
index ebba9ea..5f9671c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigApply.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.msgpack.annotation;
 
-import static org.apache.juneau.Context.*;
 import static org.apache.juneau.msgpack.MsgPackSerializer.*;
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -41,6 +40,6 @@
 			psb.set(MSGPACK_addBeanTypes, bool(a.addBeanTypes()));
 
 		if (a.annotateMsgPack().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateMsgPack());
+			psb.addTo(BEAN_annotations, a.annotateMsgPack());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
index 6167d71..e66ec57 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
@@ -101,6 +101,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public OpenApiParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public OpenApiParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -617,12 +623,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public OpenApiParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public OpenApiParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
index 3380f5b..0a8186f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
@@ -252,6 +252,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public OpenApiSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public OpenApiSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -768,12 +774,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public OpenApiSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public OpenApiSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigApply.java
index 234fdb6..2fee43f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigApply.java
@@ -12,7 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.oapi.annotation;
 
-import static org.apache.juneau.Context.*;
+import static org.apache.juneau.BeanContext.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -38,6 +38,6 @@
 		OpenApiConfig a = ai.getAnnotation();
 
 		if (a.annotateOpenApi().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateOpenApi());
+			psb.addTo(BEAN_annotations, a.annotateOpenApi());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
index 3166ae7..b54928c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
@@ -149,6 +149,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public InputStreamParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public InputStreamParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -665,12 +671,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public InputStreamParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public InputStreamParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
index c76ba04..23fb3f6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
@@ -228,6 +228,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -744,12 +750,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public ParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public ParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
index 8d76fae..3cf8ebf 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
@@ -372,6 +372,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -888,12 +894,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public ParserGroupBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public ParserGroupBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
index 3fa7bde..918566a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
@@ -148,6 +148,12 @@
 	}

 

 	@Override /* BeanContextBuilder */

+	public ReaderParserBuilder annotations(Annotation...values) {

+		super.annotations(values);

+		return this;

+	}

+

+	@Override /* BeanContextBuilder */

 	public ReaderParserBuilder beanClassVisibility(Visibility value) {

 		super.beanClassVisibility(value);

 		return this;

@@ -664,12 +670,6 @@
 	}

 

 	@Override /* ContextBuilder */

-	public ReaderParserBuilder annotations(Annotation...values) {

-		super.annotations(values);

-		return this;

-	}

-

-	@Override /* ContextBuilder */

 	public ReaderParserBuilder set(String name, Object value) {

 		super.set(name, value);

 		return this;

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
index 4535c74..8a03a04 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
@@ -126,6 +126,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -642,12 +648,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public PlainTextParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public PlainTextParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
index 04944d2..2ded5bd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
@@ -251,6 +251,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -767,12 +773,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public PlainTextSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public PlainTextSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfigApply.java
index 7a5c5fe..4b4855a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfigApply.java
@@ -12,7 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.plaintext.annotation;
 
-import static org.apache.juneau.Context.*;
+import static org.apache.juneau.BeanContext.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -38,6 +38,6 @@
 		PlainTextConfig a = ai.getAnnotation();
 
 		if (a.annotatePlainText().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotatePlainText());
+			psb.addTo(BEAN_annotations, a.annotatePlainText());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
index e31b6da..4b3867a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
@@ -89,6 +89,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public OutputStreamSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public OutputStreamSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -605,12 +611,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public OutputStreamSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public OutputStreamSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
index 7db406f..484fb1c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
@@ -503,6 +503,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -1019,12 +1025,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public SerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public SerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
index 654d91a..a06dc10 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
@@ -677,6 +677,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -1193,12 +1199,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public SerializerGroupBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public SerializerGroupBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
index 9674c14..9dd2463 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
@@ -198,6 +198,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public WriterSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public WriterSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -714,12 +720,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public WriterSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public WriterSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
index d7ce4e3..3c2fc74 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
@@ -270,6 +270,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -786,12 +792,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public SoapXmlSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public SoapXmlSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigApply.java
index 957d929..8a72dfe 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigApply.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.soap.annotation;
 
-import static org.apache.juneau.Context.*;
 import static org.apache.juneau.soap.SoapXmlSerializer.*;
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -41,6 +40,6 @@
 			psb.set(SOAPXML_SOAPAction, string(a.soapAction()));
 
 		if (a.annotateSoapXml().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateSoapXml());
+			psb.addTo(BEAN_annotations, a.annotateSoapXml());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
index dd851a2..9afa617 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
@@ -201,6 +201,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -717,12 +723,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public UonParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public UonParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
index 08de009..7b3df29 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
@@ -342,6 +342,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -858,12 +864,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public UonSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public UonSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigApply.java
index 4a24702..f71a8c4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigApply.java
@@ -49,6 +49,6 @@
 			psb.set(UON_validateEnd, bool(a.validateEnd()));
 
 		if (a.annotateUon().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateUon());
+			psb.addTo(BEAN_annotations, a.annotateUon());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
index 818d993..d893c60 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
@@ -146,6 +146,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -662,12 +668,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public UrlEncodingParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public UrlEncodingParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
index 1ca00a2..001471e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
@@ -314,6 +314,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -830,12 +836,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public UrlEncodingSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public UrlEncodingSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfigApply.java
index 30de2a7..ac42f45 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfigApply.java
@@ -12,7 +12,7 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.urlencoding.annotation;
 
-import static org.apache.juneau.Context.*;
+import static org.apache.juneau.BeanContext.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -44,6 +44,6 @@
 		}
 
 		if (a.annotateUrlEncoding().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateUrlEncoding());
+			psb.addTo(BEAN_annotations, a.annotateUrlEncoding());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
index 92fe68a..6db9248 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
@@ -304,6 +304,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -820,12 +826,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public XmlParserBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public XmlParserBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
index 691a052..8bdc64f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
@@ -451,6 +451,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -967,12 +973,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public XmlSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public XmlSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigApply.java
index 897f8f8..9a69d4d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigApply.java
@@ -64,6 +64,6 @@
 			psb.set(XML_validating, bool(a.validating()));
 
 		if (a.annotateXml().length > 0)
-			psb.addTo(CONTEXT_annotations, a.annotateXml());
+			psb.addTo(BEAN_annotations, a.annotateXml());
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
index 709b452..13ade2d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
@@ -294,6 +294,12 @@
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder annotations(Annotation...values) {
+		super.annotations(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
@@ -810,12 +816,6 @@
 	}
 
 	@Override /* ContextBuilder */
-	public XmlSchemaSerializerBuilder annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* ContextBuilder */
 	public XmlSchemaSerializerBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;