@Beanp annotation.
diff --git a/eclipse-preferences/user-dictionary.txt b/eclipse-preferences/user-dictionary.txt
index f879e8b..d146886 100644
--- a/eclipse-preferences/user-dictionary.txt
+++ b/eclipse-preferences/user-dictionary.txt
@@ -499,3 +499,4 @@
 enablement
 stacktraces
 timezones
+beanp
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapErrorsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapErrorsTest.java
index c7fd766..dfc659f 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapErrorsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapErrorsTest.java
@@ -23,7 +23,7 @@
 public class BeanMapErrorsTest {
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// @BeanProperty(name) on method not in @Bean(properties)
+	// @Beanp(name) on method not in @Bean(properties)
 	//-----------------------------------------------------------------------------------------------------------------
 	@Test
 	public void beanPropertyMethodNotInBeanProperties() {
@@ -33,7 +33,7 @@
 			bc.getClassMeta(A1.class);
 			fail();
 		} catch (Exception e) {
-			assertEquals("org.apache.juneau.BeanMapErrorsTest$A1: Found @BeanProperty(\"f2\") but name was not found in @Bean(properties)", e.getMessage());
+			assertEquals("org.apache.juneau.BeanMapErrorsTest$A1: Found @Beanp(\"f2\") but name was not found in @Bean(properties)", e.getMessage());
 		}
 	}
 
@@ -41,14 +41,14 @@
 	public static class A1 {
 		public int f1;
 
-		@BeanProperty("f2")
+		@Beanp("f2")
 		public int f2() {
 			return -1;
 		};
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// @BeanProperty(name) on field not in @Bean(properties)
+	// @Beanp(name) on field not in @Bean(properties)
 	//-----------------------------------------------------------------------------------------------------------------
 	@Test
 	public void beanPropertyFieldNotInBeanProperties() {
@@ -58,14 +58,14 @@
 			bc.getClassMeta(A2.class);
 			fail();
 		} catch (Exception e) {
-			assertEquals("org.apache.juneau.BeanMapErrorsTest$A2: Found @BeanProperty(\"f2\") but name was not found in @Bean(properties)", e.getMessage());
+			assertEquals("org.apache.juneau.BeanMapErrorsTest$A2: Found @Beanp(\"f2\") but name was not found in @Bean(properties)", e.getMessage());
 		}
 	}
 	@Bean(properties="f1")
 	public static class A2 {
 		public int f1;
 
-		@BeanProperty("f2")
+		@Beanp("f2")
 		public int f2;
 	}
 }
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapTest.java
index 84b90d8..ecb6383 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapTest.java
@@ -559,7 +559,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty tests

+	// @Beanp tests

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyAnnotation() throws Exception {

@@ -620,10 +620,10 @@
 

 		public List<G> l2 = new LinkedList<>();

 

-		@BeanProperty(type=List.class,params={G.class})

+		@Beanp(type=List.class,params={G.class})

 		public List<G> l3;

 

-		@BeanProperty(type=LinkedList.class,params={G.class})

+		@Beanp(type=LinkedList.class,params={G.class})

 		public List<G> l4;

 

 		private List<G> m1;

@@ -635,16 +635,16 @@
 		public void setM2(List<G> m2) { this.m2 = m2; }

 

 		private List<G> m3;

-		@BeanProperty(type=List.class,params={G.class})

+		@Beanp(type=List.class,params={G.class})

 		public List<G> getM3() { return m3; }

 		public void setM3(List<G> m3) { this.m3 = m3; }

 

 		private List<G> m4;

-		@BeanProperty(type=LinkedList.class,params={G.class})

+		@Beanp(type=LinkedList.class,params={G.class})

 		public List<G> getM4() { return m4; }

 		public void setM4(List<G> m4) { this.m4 = m4; }

 

-		@BeanProperty(type=LinkedList.class,params={G.class})

+		@Beanp(type=LinkedList.class,params={G.class})

 		private List<G> m5;

 		public List<G> getM5() { return m5; }

 		public void setM5(List<G> m5) { this.m5 = m5; }

@@ -755,26 +755,26 @@
 

 	public static class J {

 

-		@BeanProperty(params={Float.class})

+		@Beanp(params={Float.class})

 		public List<String> p1;

 

-		@BeanProperty(params={Float.class})

+		@Beanp(params={Float.class})

 		public List<Integer> getP2() {

 			return null;

 		}

 

-		@BeanProperty(params={Float.class})

+		@Beanp(params={Float.class})

 		public List<? extends Integer> p3;

 

-		@BeanProperty(params={Object.class, Float.class})

+		@Beanp(params={Object.class, Float.class})

 		public Map<String,Integer> p4;

 

-		@BeanProperty(params={Object.class, Float.class})

+		@Beanp(params={Object.class, Float.class})

 		public Map<String,Integer> getP5() {

 			return null;

 		}

 

-		@BeanProperty(params={String.class, Float.class})

+		@Beanp(params={String.class, Float.class})

 		public Map<String,? extends Integer> p6;

 	}

 

@@ -797,26 +797,26 @@
 

 	public static class K {

 

-		@BeanProperty(params=Float.class)

+		@Beanp(params=Float.class)

 		public List<String> p1;

 

-		@BeanProperty(params=Float.class)

+		@Beanp(params=Float.class)

 		public List<Integer> getP2() {

 			return null;

 		}

 

-		@BeanProperty(params=Float.class)

+		@Beanp(params=Float.class)

 		public List<? extends Integer> p3;

 

-		@BeanProperty(params={String.class,Float.class})

+		@Beanp(params={String.class,Float.class})

 		public Map<String,Integer> p4;

 

-		@BeanProperty(params={String.class,Float.class})

+		@Beanp(params={String.class,Float.class})

 		public Map<String,Integer> getP5() {

 			return null;

 		}

 

-		@BeanProperty(params={String.class,Float.class})

+		@Beanp(params={String.class,Float.class})

 		public Map<String,? extends Integer> p6;

 	}

 

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/DynaBeanComboTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/DynaBeanComboTest.java
index 172cf60..3812bcd 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/DynaBeanComboTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/DynaBeanComboTest.java
@@ -261,7 +261,7 @@
 	@Bean(sort=true)
 	public static class BeanWithDynaField {
 		public int f1;
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		public Map<String,Object> f2 = new LinkedHashMap<>();
 		public int f3;
 
@@ -293,12 +293,12 @@
 			this.f3 = f3;
 		}
 
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		public Map<String, Object> xxx() {
 			return f2;
 		}
 
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		public void setYYY(String name, Object o) {
 			setterCalled = true;
 			this.f2.put(name, o);
@@ -332,18 +332,18 @@
 			this.f3 = f3;
 		}
 
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		public Object get(String name) {
 			return f2.get(name);
 		}
 
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		public void set(String name, Object o) {
 			setterCalled = true;
 			this.f2.put(name, o);
 		}
 
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		public Collection<String> getExtraKeys() {
 			return f2.keySet();
 		}
@@ -375,7 +375,7 @@
 			this.f3 = f3;
 		}
 
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		public Map<String, Object> xxx() {
 			return f2;
 		}
@@ -396,7 +396,7 @@
 
 	@Bean(sort=true)
 	public static class BeanWithDynaFieldSwapped {
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		@Swap(TemporalCalendarSwap.IsoInstant.class)
 		public Map<String,Calendar> f1 = new LinkedHashMap<>();
 
@@ -408,7 +408,7 @@
 
 	@Bean(sort=true)
 	public static class BeanWithDynaFieldStringList {
-		@BeanProperty(name="*")
+		@Beanp(name="*")
 		public Map<String,List<String>> f1 = new LinkedHashMap<>();
 
 		public BeanWithDynaFieldStringList init() {
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
index 6f40311..7e4c3b9 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
@@ -853,7 +853,7 @@
 			return KEnum.FOO;

 		}

 

-		@BeanProperty(name="a")

+		@Beanp(name="a")

 		public String getA2() {

 			return a.toString();

 		}

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtmlTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
index 96a7c93..692b010 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
@@ -2741,11 +2741,11 @@
 	}
 
 	public static class BeanWithMapProperties {
-		@BeanProperty(type=MapWithStrings.class)
+		@Beanp(type=MapWithStrings.class)
 		public Map<String,String> a;
-		@BeanProperty(type=MapWithNumbers.class)
+		@Beanp(type=MapWithNumbers.class)
 		public Map<String,Number> b;
-		@BeanProperty(type=MapWithObjects.class)
+		@Beanp(type=MapWithObjects.class)
 		public Map<String,Object> c;
 
 		BeanWithMapProperties init() {
@@ -2877,7 +2877,7 @@
 	@Bean(typeName="  \b\f\n\t\r  ")
 	public static class BeanWithSpecialCharacters2 {
 
-		@BeanProperty(name="  \b\f\n\t\r  ")
+		@Beanp(name="  \b\f\n\t\r  ")
 		public String a;
 
 		BeanWithSpecialCharacters2 init() {
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/CommonTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/CommonTest.java
index b8ad67a..176d951 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/CommonTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/CommonTest.java
@@ -227,7 +227,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation.

+	// @Beanp.bpi annotation.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyProperties() throws Exception {

@@ -303,12 +303,12 @@
 	}

 

 	public static class E1 {

-		@BeanProperty(properties="f1") public E2 x1 = new E2();

-		@BeanProperty(properties="f1") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",3).append("f2",4);

-		@BeanProperty(properties="f1") public E2[] x3 = {new E2()};

-		@BeanProperty(properties="f1") public List<E2> x4 = new AList<E2>().append(new E2());

-		@BeanProperty(properties="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",5).append("f2",6)};

-		@BeanProperty(properties="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",7).append("f2",8));

+		@Beanp(bpi="f1") public E2 x1 = new E2();

+		@Beanp(bpi="f1") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",3).append("f2",4);

+		@Beanp(bpi="f1") public E2[] x3 = {new E2()};

+		@Beanp(bpi="f1") public List<E2> x4 = new AList<E2>().append(new E2());

+		@Beanp(bpi="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",5).append("f2",6)};

+		@Beanp(bpi="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",7).append("f2",8));

 	}

 

 	public static class E2 {

@@ -317,7 +317,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation on list of beans.

+	// @Beanp.bpi annotation on list of beans.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyPropertiesOnListOfBeans() throws Exception {

@@ -343,7 +343,7 @@
 	}

 

 	public static class F {

-		@BeanProperty(properties="x2") public List<F> x1 = new LinkedList<>();

+		@Beanp(bpi="x2") public List<F> x1 = new LinkedList<>();

 		public int x2 = 2;

 	}

 

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jena/CommonTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jena/CommonTest.java
index ca801ea..9bdb2e7 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jena/CommonTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jena/CommonTest.java
@@ -197,7 +197,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation.

+	// @Beanp.bpi annotation.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyProperties() throws Exception {

@@ -213,12 +213,12 @@
 	}

 

 	public static class E1 {

-		@BeanProperty(properties="f1") public E2 x1;

-		@BeanProperty(properties="f1") public Map<String,Integer> x2;

-		@BeanProperty(properties="f1") public E2[] x3;

-		@BeanProperty(properties="f1") public List<E2> x4;

-		@BeanProperty(properties="f1") public ObjectMap[] x5;

-		@BeanProperty(properties="f1") public List<ObjectMap> x6;

+		@Beanp(bpi="f1") public E2 x1;

+		@Beanp(bpi="f1") public Map<String,Integer> x2;

+		@Beanp(bpi="f1") public E2[] x3;

+		@Beanp(bpi="f1") public List<E2> x4;

+		@Beanp(bpi="f1") public ObjectMap[] x5;

+		@Beanp(bpi="f1") public List<ObjectMap> x6;

 

 		public static E1 create() {

 			E1 t = new E1();

@@ -238,7 +238,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation on list of beans.

+	// @Beanp.bpi annotation on list of beans.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyProperiesOnListOfBeans() throws Exception {

@@ -256,7 +256,7 @@
 	}

 

 	public static class F {

-		@BeanProperty(properties="x2") public List<F> x1;

+		@Beanp(bpi="x2") public List<F> x1;

 		public int x2;

 

 		public static F create() {

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/json/CommonTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/json/CommonTest.java
index dd5e885..794bee5 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/json/CommonTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/json/CommonTest.java
@@ -180,7 +180,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation.

+	// @Beanp.bpi annotation.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyProperies() throws Exception {

@@ -195,12 +195,12 @@
 	}

 

 	public static class E1 {

-		@BeanProperty(properties="f1") public E2 x1 = new E2();

-		@BeanProperty(properties="f1") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",1).append("f2",2);

-		@BeanProperty(properties="f1") public E2[] x3 = {new E2()};

-		@BeanProperty(properties="f1") public List<E2> x4 = new AList<E2>().append(new E2());

-		@BeanProperty(properties="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",1).append("f2",2)};

-		@BeanProperty(properties="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",1).append("f2",2));

+		@Beanp(bpi="f1") public E2 x1 = new E2();

+		@Beanp(bpi="f1") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",1).append("f2",2);

+		@Beanp(bpi="f1") public E2[] x3 = {new E2()};

+		@Beanp(bpi="f1") public List<E2> x4 = new AList<E2>().append(new E2());

+		@Beanp(bpi="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",1).append("f2",2)};

+		@Beanp(bpi="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",1).append("f2",2));

 	}

 

 	public static class E2 {

@@ -209,7 +209,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation on list of beans.

+	// @Beanp.bpi annotation on list of beans.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyProperiesOnListOfBeans() throws Exception {

@@ -223,7 +223,7 @@
 	}

 

 	public static class F {

-		@BeanProperty(properties="x2") public List<F> x1 = new LinkedList<>();

+		@Beanp(bpi="x2") public List<F> x1 = new LinkedList<>();

 		public int x2 = 2;

 	}

 

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BuilderComboTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BuilderComboTest.java
index c63027b..9e3b905 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BuilderComboTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BuilderComboTest.java
@@ -434,7 +434,7 @@
 			return x;
 		}
 
-		@BeanProperty
+		@Beanp
 		public HBuilder fooBar(int fooBar) {
 			this.fooBar = fooBar;
 			return this;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/uon/Common_UonTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/uon/Common_UonTest.java
index a0836fa..c3d8892 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/uon/Common_UonTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/uon/Common_UonTest.java
@@ -178,7 +178,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation.

+	// @Beanp.bpi annotation.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyProperies() throws Exception {

@@ -188,12 +188,12 @@
 	}

 

 	public static class E1 {

-		@BeanProperty(properties="f1") public E2 x1 = new E2();

-		@BeanProperty(properties="f1") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",1).append("f2",2);

-		@BeanProperty(properties="f1") public E2[] x3 = {new E2()};

-		@BeanProperty(properties="f1") public List<E2> x4 = new AList<E2>().append(new E2());

-		@BeanProperty(properties="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",1).append("f2",2)};

-		@BeanProperty(properties="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",1).append("f2",2));

+		@Beanp(bpi="f1") public E2 x1 = new E2();

+		@Beanp(bpi="f1") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",1).append("f2",2);

+		@Beanp(bpi="f1") public E2[] x3 = {new E2()};

+		@Beanp(bpi="f1") public List<E2> x4 = new AList<E2>().append(new E2());

+		@Beanp(bpi="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",1).append("f2",2)};

+		@Beanp(bpi="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",1).append("f2",2));

 	}

 

 	public static class E2 {

@@ -202,7 +202,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation on list of beans.

+	// @Beanp.bpi annotation on list of beans.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyPropertiesOnListOfBeans() throws Exception {

@@ -216,7 +216,7 @@
 	}

 

 	public static class F {

-		@BeanProperty(properties="x2") public List<F> x1 = new LinkedList<>();

+		@Beanp(bpi="x2") public List<F> x1 = new LinkedList<>();

 		public int x2 = 2;

 	}

 

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
index 5504c3e..446c711 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
@@ -177,7 +177,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation.

+	// @Beanp.bpi annotation.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyProperies() throws Exception {

@@ -187,12 +187,12 @@
 	}

 

 	public static class E1 {

-		@BeanProperty(properties="f1") public E2 x1 = new E2();

-		@BeanProperty(properties="f1") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",1).append("f2",2);

-		@BeanProperty(properties="f1") public E2[] x3 = {new E2()};

-		@BeanProperty(properties="f1") public List<E2> x4 = new AList<E2>().append(new E2());

-		@BeanProperty(properties="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",1).append("f2",2)};

-		@BeanProperty(properties="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",1).append("f2",2));

+		@Beanp(bpi="f1") public E2 x1 = new E2();

+		@Beanp(bpi="f1") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",1).append("f2",2);

+		@Beanp(bpi="f1") public E2[] x3 = {new E2()};

+		@Beanp(bpi="f1") public List<E2> x4 = new AList<E2>().append(new E2());

+		@Beanp(bpi="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",1).append("f2",2)};

+		@Beanp(bpi="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",1).append("f2",2));

 	}

 

 	public static class E2 {

@@ -201,7 +201,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation on list of beans.

+	// @Beanp.bpi annotation on list of beans.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyPropertiesOnListOfBeans() throws Exception {

@@ -218,7 +218,7 @@
 	}

 

 	public static class F {

-		@BeanProperty(properties="x2") public List<F> x1 = new LinkedList<>();

+		@Beanp(bpi="x2") public List<F> x1 = new LinkedList<>();

 		public int x2 = 2;

 	}

 

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
index 15a40af..e0ac2ff 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
@@ -475,16 +475,16 @@
 	@Bean(sort=true)

 	public static class A {

 

-		@BeanProperty(name="foo")

+		@Beanp(name="foo")

 		public String f1 = "foo";

 

-		@BeanProperty(name="'foo'")

+		@Beanp(name="'foo'")

 		public String f2 = "'foo'";

 

-		@BeanProperty(name="(foo)")

+		@Beanp(name="(foo)")

 		public String f3 = "(foo)";

 

-		@BeanProperty(name="@(foo)")

+		@Beanp(name="@(foo)")

 		public String f4 = "@(foo)";

 	}

 }
\ No newline at end of file
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/BasicXmlTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/BasicXmlTest.java
index d56df32..2e6ab7a 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/BasicXmlTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/BasicXmlTest.java
@@ -1264,11 +1264,11 @@
 	}
 
 	public static class BeanWithMapProperties {
-		@BeanProperty(type=MapWithStrings.class)
+		@Beanp(type=MapWithStrings.class)
 		public Map<String,String> a;
-		@BeanProperty(type=MapWithNumbers.class)
+		@Beanp(type=MapWithNumbers.class)
 		public Map<String,Number> b;
-		@BeanProperty(type=MapWithObjects.class)
+		@Beanp(type=MapWithObjects.class)
 		public Map<String,Object> c;
 
 		BeanWithMapProperties init() {
@@ -1357,10 +1357,10 @@
 
 	public static class BeanWithChildTypeNames {
 		public BeanX a;
-		@BeanProperty(beanDictionary=BeanX.class)
+		@Beanp(dictionary=BeanX.class)
 		public Object b;
 		public BeanX[] c;
-		@BeanProperty(beanDictionary=BeanX.class)
+		@Beanp(dictionary=BeanX.class)
 		public Object[] d;
 		BeanWithChildTypeNames init() {
 			a = new BeanX().init();
@@ -1480,7 +1480,7 @@
 
 	public static class BeanWithMixedContent {
 		@Xml(format=XmlFormat.MIXED)
-		@BeanProperty(beanDictionary={BeanXSimple.class, BeanYSimple.class})
+		@Beanp(dictionary={BeanXSimple.class, BeanYSimple.class})
 		public Object[] a;
 		BeanWithMixedContent init() {
 			a = new Object[]{
@@ -1544,7 +1544,7 @@
 	@Bean(typeName="  \b\f\n\t\r  ")
 	public static class BeanWithSpecialCharacters2 {
 
-		@BeanProperty(name="  \b\f\n\t\r  ")
+		@Beanp(name="  \b\f\n\t\r  ")
 		public String a;
 
 		BeanWithSpecialCharacters2 init() {
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/CommonTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/CommonTest.java
index 1cae21c..17cb49d 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/CommonTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/CommonTest.java
@@ -184,7 +184,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation.

+	// @Beanp.bpi annotation.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyProperties() throws Exception {

@@ -205,12 +205,12 @@
 	}

 

 	public static class E1 {

-		@BeanProperty(properties="f1,f2") public E2 x1 = new E2();

-		@BeanProperty(properties="f1,f2") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",1).append("f3",3);

-		@BeanProperty(properties="f1,f2") public E2[] x3 = {new E2()};

-		@BeanProperty(properties="f1,f2") public List<E2> x4 = new AList<E2>().append(new E2());

-		@BeanProperty(properties="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",1).append("f3",3)};

-		@BeanProperty(properties="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",1).append("f3",3));

+		@Beanp(bpi="f1,f2") public E2 x1 = new E2();

+		@Beanp(bpi="f1,f2") public Map<String,Integer> x2 = new AMap<String,Integer>().append("f1",1).append("f3",3);

+		@Beanp(bpi="f1,f2") public E2[] x3 = {new E2()};

+		@Beanp(bpi="f1,f2") public List<E2> x4 = new AList<E2>().append(new E2());

+		@Beanp(bpi="f1") public ObjectMap[] x5 = {new ObjectMap().append("f1",1).append("f3",3)};

+		@Beanp(bpi="f1") public List<ObjectMap> x6 = new AList<ObjectMap>().append(new ObjectMap().append("f1",1).append("f3",3));

 	}

 

 	public static class E2 {

@@ -221,7 +221,7 @@
 	}

 

 	//====================================================================================================

-	// @BeanProperty.properties annotation on list of beans.

+	// @Beanp.bpi annotation on list of beans.

 	//====================================================================================================

 	@Test

 	public void testBeanPropertyPropertiesOnListOfBeans() throws Exception {

@@ -235,7 +235,7 @@
 	}

 

 	public static class Test7b {

-		@BeanProperty(properties="x2") public List<Test7b> x1 = new LinkedList<>();

+		@Beanp(bpi="x2") public List<Test7b> x1 = new LinkedList<>();

 		public int x2 = 2;

 	}

 

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreCommentsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreCommentsTest.java
index a071222..5b53e36 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreCommentsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlIgnoreCommentsTest.java
@@ -814,11 +814,11 @@
 	}
 
 	public static class BeanWithMapProperties {
-		@BeanProperty(type=MapWithStrings.class)
+		@Beanp(type=MapWithStrings.class)
 		public Map<String,String> a;
-		@BeanProperty(type=MapWithNumbers.class)
+		@Beanp(type=MapWithNumbers.class)
 		public Map<String,Number> b;
-		@BeanProperty(type=MapWithObjects.class)
+		@Beanp(type=MapWithObjects.class)
 		public Map<String,Object> c;
 
 		BeanWithMapProperties init() {
@@ -907,10 +907,10 @@
 
 	public static class BeanWithChildTypeNames {
 		public BeanX a;
-		@BeanProperty(beanDictionary=BeanX.class)
+		@Beanp(dictionary=BeanX.class)
 		public Object b;
 		public BeanX[] c;
-		@BeanProperty(beanDictionary=BeanX.class)
+		@Beanp(dictionary=BeanX.class)
 		public Object[] d;
 		BeanWithChildTypeNames init() {
 			a = new BeanX().init();
@@ -1030,7 +1030,7 @@
 
 	public static class BeanWithMixedContent {
 		@Xml(format=XmlFormat.MIXED)
-		@BeanProperty(beanDictionary={BeanXSimple.class, BeanYSimple.class})
+		@Beanp(dictionary={BeanXSimple.class, BeanYSimple.class})
 		public Object[] a;
 		BeanWithMixedContent init() {
 			a = new Object[]{
@@ -1094,7 +1094,7 @@
 	@Bean(typeName="  \b\f\n\t\r  ")
 	public static class BeanWithSpecialCharacters2 {
 
-		@BeanProperty(name="  \b\f\n\t\r  ")
+		@Beanp(name="  \b\f\n\t\r  ")
 		public String a;
 
 		BeanWithSpecialCharacters2 init() {
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
index 8b7ad3b..63aeffb 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
@@ -294,7 +294,7 @@
 

 	@Bean(typeName="foo")

 	public static class J1 {

-		@BeanProperty(properties="f2") public List<J2> f1 = new AList<J2>().append(new J2());

+		@Beanp(bpi="f2") public List<J2> f1 = new AList<J2>().append(new J2());

 	}

 

 	@Bean(typeName="bar")

@@ -475,8 +475,8 @@
 

 	@Bean(properties="url2,id2,name")

 	public static class O {

-		@BeanProperty(name="url2") @Xml(format=ELEMENT) public URL url;

-		@BeanProperty(name="id2") public int id;

+		@Beanp(name="url2") @Xml(format=ELEMENT) public URL url;

+		@Beanp(name="id2") public int id;

 		public String name;

 		public O() {}

 		public O(String url, int id, String name) throws Exception {

@@ -508,8 +508,8 @@
 

 	@Bean(properties="url2,id2,name")

 	public static class P {

-		@BeanProperty(name="url2") @Xml(format=ATTR) public URL url;

-		@BeanProperty(name="id2") @Xml(format=ATTR) public int id;

+		@Beanp(name="url2") @Xml(format=ATTR) public URL url;

+		@Beanp(name="id2") @Xml(format=ATTR) public int id;

 		public String name;

 		public P() {}

 		public P(String url, int id, String name) throws Exception {

@@ -1022,7 +1022,7 @@
 		@Xml(format=ATTR)

 		public String f2;

 

-		@BeanProperty(name="x3")

+		@Beanp(name="x3")

 		@Xml(format=ATTR, prefix="nsf3", namespace="http://nsf3")

 		public String f3;

 

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/xml1b/T7.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/xml1b/T7.java
index 1877883..38c6883 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/xml1b/T7.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/xml1b/T7.java
@@ -18,17 +18,17 @@
 @Bean(sort=true)

 public class T7 {

 

-	@BeanProperty(name="g1") public int f1 = 1;

+	@Beanp(name="g1") public int f1 = 1;

 

-	@Xml(prefix="bar",namespace="http://bar") @BeanProperty(name="g2") public int f2 = 2;

+	@Xml(prefix="bar",namespace="http://bar") @Beanp(name="g2") public int f2 = 2;

 

 	private int f3 = 3;

-	@BeanProperty(name="g3") public int getF3() { return f3; }

-	@BeanProperty(name="g3") public void setF3(int f3) { this.f3 = f3; }

+	@Beanp(name="g3") public int getF3() { return f3; }

+	@Beanp(name="g3") public void setF3(int f3) { this.f3 = f3; }

 

 	private int f4 = 4;

-	@BeanProperty(name="g4") @Xml(prefix="baz",namespace="http://baz") public int getF4() { return f4; }

-	@BeanProperty(name="g4") public void setF4(int f4) { this.f4 = f4; }

+	@Beanp(name="g4") @Xml(prefix="baz",namespace="http://baz") public int getF4() { return f4; }

+	@Beanp(name="g4") public void setF4(int f4) { this.f4 = f4; }

 

 	public boolean equals(T7 x) {

 		return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Category.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Category.java
index ea39b5a..fc39182 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Category.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Category.java
@@ -80,7 +80,7 @@
 	 * @param term The category term.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("term")

+	@Beanp("term")

 	public Category term(String term) {

 		this.term = term;

 		return this;

@@ -109,7 +109,7 @@
 	 * @param scheme The category scheme.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("scheme")

+	@Beanp("scheme")

 	public Category scheme(Object scheme) {

 		this.scheme = toURI(scheme);

 		return this;

@@ -131,7 +131,7 @@
 	 * @param label The category label.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("label")

+	@Beanp("label")

 	public Category label(String label) {

 		this.label = label;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Common.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Common.java
index 8ad44a4..3b824ab 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Common.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Common.java
@@ -72,7 +72,7 @@
 	 * @param base The URI base of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("base")

+	@Beanp("base")

 	public Common base(Object base) {

 		this.base = toURI(base);

 		return this;

@@ -94,7 +94,7 @@
 	 * @param lang The language of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("lang")

+	@Beanp("lang")

 	public Common lang(String lang) {

 		this.lang = lang;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java
index 52cbc41..80aadcc 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java
@@ -86,7 +86,7 @@
 	 * @param authors The list of authors for this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("authors")

+	@Beanp("authors")

 	public CommonEntry authors(Person...authors) {

 		this.authors = authors;

 		return this;

@@ -108,7 +108,7 @@
 	 * @param categories The list of categories of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("categories")

+	@Beanp("categories")

 	public CommonEntry categories(Category...categories) {

 		this.categories = categories;

 		return this;

@@ -130,7 +130,7 @@
 	 * @param contributors The list of contributors of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("contributors")

+	@Beanp("contributors")

 	public CommonEntry contributors(Person...contributors) {

 		this.contributors = contributors;

 		return this;

@@ -151,7 +151,7 @@
 	 * @param id The ID of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("id")

+	@Beanp("id")

 	public CommonEntry id(Id id) {

 		this.id = id;

 		return this;

@@ -184,7 +184,7 @@
 	 * @param links The list of links of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("links")

+	@Beanp("links")

 	public CommonEntry links(Link...links) {

 		this.links = links;

 		return this;

@@ -205,7 +205,7 @@
 	 * @param rights The rights statement of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("rights")

+	@Beanp("rights")

 	public CommonEntry rights(Text rights) {

 		this.rights = rights;

 		return this;

@@ -237,7 +237,7 @@
 	 * @param title The title of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("title")

+	@Beanp("title")

 	public CommonEntry title(Text title) {

 		this.title = title;

 		return this;

@@ -269,7 +269,7 @@
 	 * @param updated The update timestamp of this object.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("updated")

+	@Beanp("updated")

 	public CommonEntry updated(Calendar updated) {

 		this.updated = updated;

 		return this;

@@ -281,7 +281,7 @@
 	 * @param updated The update timestamp of this object in ISO8601 format.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("updated")

+	@Beanp("updated")

 	public CommonEntry updated(String updated) {

 		this.updated = parseDateTime(updated);

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Content.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Content.java
index f6c6206..8a392d9 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Content.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Content.java
@@ -116,7 +116,7 @@
 	 * @param src The source URI.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("src")

+	@Beanp("src")

 	public Content src(Object src) {

 		this.src = toURI(src);

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Entry.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Entry.java
index e45f4e7..c017555 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Entry.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Entry.java
@@ -100,7 +100,7 @@
 	 * @param content The content of this entry.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("content")

+	@Beanp("content")

 	public Entry content(Content content) {

 		this.content = content;

 		return this;

@@ -121,7 +121,7 @@
 	 * @param published The publish timestamp of this entry.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("published")

+	@Beanp("published")

 	public Entry published(Calendar published) {

 		this.published = published;

 		return this;

@@ -133,7 +133,7 @@
 	 * @param published The publish timestamp of this entry in ISO8601 format.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("published")

+	@Beanp("published")

 	public Entry published(String published) {

 		this.published = parseDateTime(published);

 		return this;

@@ -154,7 +154,7 @@
 	 * @param source The source of this entry.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("source")

+	@Beanp("source")

 	public Entry source(Source source) {

 		this.source = source;

 		return this;

@@ -175,7 +175,7 @@
 	 * @param summary The summary of this entry.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("summary")

+	@Beanp("summary")

 	public Entry summary(Text summary) {

 		this.summary = summary;

 		return this;

@@ -187,7 +187,7 @@
 	 * @param summary The summary of this entry.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("summary")

+	@Beanp("summary")

 	public Entry summary(String summary) {

 		this.summary = new Text(summary);

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Feed.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Feed.java
index 41a62c7..4051462 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Feed.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Feed.java
@@ -106,7 +106,7 @@
 	 * @param generator The generator information on this feed.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("generator")

+	@Beanp("generator")

 	public Feed generator(Generator generator) {

 		this.generator = generator;

 		return this;

@@ -127,7 +127,7 @@
 	 * @param icon The feed icon.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("icon")

+	@Beanp("icon")

 	public Feed icon(Icon icon) {

 		this.icon = icon;

 		return this;

@@ -148,7 +148,7 @@
 	 * @param logo The feed logo.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("logo")

+	@Beanp("logo")

 	public Feed logo(Logo logo) {

 		this.logo = logo;

 		return this;

@@ -159,7 +159,7 @@
 	 *

 	 * @return The feed subtitle.

 	 */

-	@BeanProperty("subtitle")

+	@Beanp("subtitle")

 	public Text getSubTitle() {

 		return subtitle;

 	}

@@ -170,7 +170,7 @@
 	 * @param subtitle The feed subtitle.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("subtitle")

+	@Beanp("subtitle")

 	public Feed subtitle(Text subtitle) {

 		this.subtitle = subtitle;

 		return this;

@@ -203,7 +203,7 @@
 	 * @param entries The entries in the feed.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("entries")

+	@Beanp("entries")

 	public Feed entries(Entry...entries) {

 		this.entries = entries;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Generator.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Generator.java
index e930feb..33925b6 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Generator.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Generator.java
@@ -88,7 +88,7 @@
 	 * @param uri The URI of this generator statement.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("uri")

+	@Beanp("uri")

 	public Generator uri(Object uri) {

 		this.uri = toURI(uri);

 		return this;

@@ -110,7 +110,7 @@
 	 * @param version The version of this generator statement.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("version")

+	@Beanp("version")

 	public Generator version(String version) {

 		this.version = version;

 		return this;

@@ -132,7 +132,7 @@
 	 * @param text The content of this generator statement.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("text")

+	@Beanp("text")

 	public Generator text(String text) {

 		this.text = text;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Icon.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Icon.java
index 3e2c520..e00217b 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Icon.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Icon.java
@@ -91,7 +91,7 @@
 	 * @param uri The URI of this icon.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("uri")

+	@Beanp("uri")

 	public Icon uri(Object uri) {

 		this.uri = toURI(uri);

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Id.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Id.java
index 3b75a69..9739bf7 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Id.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Id.java
@@ -71,7 +71,7 @@
 	 * @param text The content of this identifier.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("text")

+	@Beanp("text")

 	public Id text(String text) {

 		this.text = text;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Link.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Link.java
index efe0982..c3ec92e 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Link.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Link.java
@@ -86,7 +86,7 @@
 	 * @param href The href of the target of this link.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("href")

+	@Beanp("href")

 	public Link href(String href) {

 		this.href = href;

 		return this;

@@ -108,7 +108,7 @@
 	 * @param rel The rel of this link.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("rel")

+	@Beanp("rel")

 	public Link rel(String rel) {

 		this.rel = rel;

 		return this;

@@ -139,7 +139,7 @@
 	 * @param type The content type of the target of this link.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("type")

+	@Beanp("type")

 	public Link type(String type) {

 		this.type = type;

 		return this;

@@ -161,7 +161,7 @@
 	 * @param hreflang The language of the target of this link.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("hreflang")

+	@Beanp("hreflang")

 	public Link hreflang(String hreflang) {

 		this.hreflang = hreflang;

 		return this;

@@ -183,7 +183,7 @@
 	 * @param title The title of the target of this link.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("title")

+	@Beanp("title")

 	public Link title(String title) {

 		this.title = title;

 		return this;

@@ -205,7 +205,7 @@
 	 * @param length The length of the contents of the target of this link.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("length")

+	@Beanp("length")

 	public Link length(Integer length) {

 		this.length = length;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Logo.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Logo.java
index 0e69714..b362408 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Logo.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Logo.java
@@ -91,7 +91,7 @@
 	 * @param uri The URI of the logo.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("uri")

+	@Beanp("uri")

 	public Logo uri(Object uri) {

 		this.uri = toURI(uri);

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Person.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Person.java
index 826fdcd..3a19f1d 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Person.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Person.java
@@ -78,7 +78,7 @@
 	 * @param name The name of the person.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("name")

+	@Beanp("name")

 	public Person name(String name) {

 		this.name = name;

 		return this;

@@ -106,7 +106,7 @@
 	 * @param uri The URI of the person.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("uri")

+	@Beanp("uri")

 	public Person uri(Object uri) {

 		this.uri = toURI(uri);

 		return this;

@@ -127,7 +127,7 @@
 	 * @param email The email address of the person.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("email")

+	@Beanp("email")

 	public Person email(String email) {

 		this.email = email;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Source.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Source.java
index fcf3cc9..d7fd4b6 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Source.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Source.java
@@ -72,7 +72,7 @@
 	 * @param generator The generator info of this source.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("generator")

+	@Beanp("generator")

 	public Source generator(Generator generator) {

 		this.generator = generator;

 		return this;

@@ -93,7 +93,7 @@
 	 * @param icon The icon of this source.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("icon")

+	@Beanp("icon")

 	public Source icon(Icon icon) {

 		this.icon = icon;

 		return this;

@@ -114,7 +114,7 @@
 	 * @param logo The logo of this source.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("logo")

+	@Beanp("logo")

 	public Source logo(Logo logo) {

 		this.logo = logo;

 		return this;

@@ -135,7 +135,7 @@
 	 * @param subtitle The subtitle of this source.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("subtitle")

+	@Beanp("subtitle")

 	public Source subtitle(Text subtitle) {

 		this.subtitle = subtitle;

 		return this;

@@ -147,7 +147,7 @@
 	 * @param subtitle The subtitle of this source.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("subtitle")

+	@Beanp("subtitle")

 	public Source subtitle(String subtitle) {

 		this.subtitle = new Text(subtitle);

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Text.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Text.java
index 53428bb..07c79f5 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Text.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/Text.java
@@ -93,7 +93,7 @@
 	 * @param type The content type of this content.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("type")

+	@Beanp("type")

 	public Text type(String type) {

 		this.type = type;

 		return this;

@@ -115,7 +115,7 @@
 	 * @param text The content of this content.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("text")

+	@Beanp("text")

 	public Text text(String text) {

 		this.text = text;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/DataSet.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
index c59a23a..28b1693 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
@@ -166,7 +166,7 @@
 	 *

 	 * @return The value of the <property>metadata</property> property on this bean, or <jk>null</jk> if it is not set.

 	 */

-	@BeanProperty("metadata")

+	@Beanp("metadata")

 	public Column[] getMetaData() {

 		return metaData;

 	}

@@ -177,7 +177,7 @@
 	 * @param metaData The new value for the <property>metadata</property> property on this bean.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("metadata")

+	@Beanp("metadata")

 	public DataSet setMetaData(Column[] metaData) {

 		this.metaData = metaData;

 		return this;

@@ -188,7 +188,7 @@
 	 *

 	 * @return The value of the <property>data</property> property on this bean, or <jk>null</jk> if it is not set.

 	 */

-	@BeanProperty("data")

+	@Beanp("data")

 	public List<Row> getData() {

 		return data;

 	}

@@ -199,7 +199,7 @@
 	 * @param data The new value for the <property>data</property> property on this bean.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("data")

+	@Beanp("data")

 	public DataSet setData(List<Row> data) {

 		this.data = data;

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
index 9798871..912d939 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
@@ -47,7 +47,7 @@
 	 * @return The attributes of this element.

 	 */

 	@Xml(format=ATTRS)

-	@BeanProperty("a")

+	@Beanp("a")

 	public LinkedHashMap<String,Object> getAttrs() {

 		return attrs;

 	}

@@ -58,7 +58,7 @@
 	 * @param attrs The new attributes for this element.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("a")

+	@Beanp("a")

 	public HtmlElement setAttrs(LinkedHashMap<String,Object> attrs) {

 		for (Entry<String,Object> e : attrs.entrySet()) {

 			String key = e.getKey();

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
index e1cd29c..034d64a 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
@@ -38,7 +38,7 @@
 	 * @return The children of this element.
 	 */
 	@Xml(format=ELEMENTS)
-	@BeanProperty(beanDictionary=HtmlBeanDictionary.class, name="c")
+	@Beanp(dictionary=HtmlBeanDictionary.class, name="c")
 	public LinkedList<Object> getChildren() {
 		return children;
 	}
@@ -49,7 +49,7 @@
 	 * @param children The new children for this container.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("c")
+	@Beanp("c")
 	public HtmlElementContainer setChildren(LinkedList<Object> children) {
 		this.children = children;
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
index 278203c..57c8244 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
@@ -38,7 +38,7 @@
 	 * @return The children of this element.
 	 */
 	@Xml(format=MIXED)
-	@BeanProperty(beanDictionary=HtmlBeanDictionary.class, name="c")
+	@Beanp(dictionary=HtmlBeanDictionary.class, name="c")
 	public LinkedList<Object> getChildren() {
 		return children;
 	}
@@ -49,7 +49,7 @@
 	 * @param children The new children of this element.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("c")
+	@Beanp("c")
 	public HtmlElement setChildren(LinkedList<Object> children) {
 		this.children = children;
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java
index 269b447..d3a33b5 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java
@@ -33,7 +33,7 @@
 	 * @return The inner text of this element, or <jk>null</jk> if no text is set.
 	 */
 	@Xml(format=XmlFormat.TEXT_PWS)
-	@BeanProperty("c")
+	@Beanp("c")
 	public Object getText() {
 		return text;
 	}
@@ -44,7 +44,7 @@
 	 * @param text The inner text of this element, or <jk>null</jk> if no text is set.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("c")
+	@Beanp("c")
 	public HtmlElement setText(Object text) {
 		this.text = text;
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java
index b86fc64..1b4475d 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java
@@ -32,7 +32,7 @@
 	 * @return The inner text of this element, or <jk>null</jk> if no text is set.
 	 */
 	@Xml(format=XmlFormat.TEXT)
-	@BeanProperty("c")
+	@Beanp("c")
 	public Object getText() {
 		return text;
 	}
@@ -43,7 +43,7 @@
 	 * @param text The inner text of this element, or <jk>null</jk> if no text is set.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("c")
+	@Beanp("c")
 	public HtmlElement setText(Object text) {
 		this.text = text;
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Pre.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Pre.java
index 461bb6d..4687d2a 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Pre.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/Pre.java
@@ -35,7 +35,7 @@
 	//-----------------------------------------------------------------------------------------------------------------
 
 	@Xml(format=MIXED_PWS)
-	@BeanProperty(beanDictionary=HtmlBeanDictionary.class, name="c")
+	@Beanp(dictionary=HtmlBeanDictionary.class, name="c")
 	@Override
 	public LinkedList<Object> getChildren() {
 		return super.getChildren();
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/jsonschema/JsonSchema.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/jsonschema/JsonSchema.java
index 34284f9..1fbf719 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/jsonschema/JsonSchema.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/jsonschema/JsonSchema.java
@@ -144,7 +144,7 @@
 	 *

 	 * @return The value of the <property>$schema</property> property on this bean, or <jk>null</jk> if it is not set.

 	 */

-	@BeanProperty("$schema")

+	@Beanp("$schema")

 	public URI getSchemaVersionUri() {

 		return schemaVersion;

 	}

@@ -162,7 +162,7 @@
 	 * @param schemaVersion The new value for the <property>schemaVersion</property> property on this bean.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("$schema")

+	@Beanp("$schema")

 	public JsonSchema setSchemaVersionUri(Object schemaVersion) {

 		this.schemaVersion = toURI(schemaVersion);

 		return this;

@@ -1140,7 +1140,7 @@
 	 * @return This object (for method chaining).

 	 * @throws BeanRuntimeException If invalid object type passed in.

 	 */

-	@BeanProperty(beanDictionary={JsonSchema.class})

+	@Beanp(dictionary={JsonSchema.class})

 	public JsonSchema setAdditionalProperties(Object additionalProperties) {

 		this.additionalPropertiesBoolean = null;

 		this.additionalPropertiesSchema = null;

@@ -1357,7 +1357,7 @@
 	 *

 	 * @return The value of the <property>$ref</property> property on this bean, or <jk>null</jk> if it is not set.

 	 */

-	@BeanProperty("$ref")

+	@Beanp("$ref")

 	public URI getRef() {

 		return ref;

 	}

@@ -1375,7 +1375,7 @@
 	 * @param ref The new value for the <property>$ref</property> property on this bean.

 	 * @return This object (for method chaining).

 	 */

-	@BeanProperty("$ref")

+	@Beanp("$ref")

 	public JsonSchema setRef(Object ref) {

 		this.ref = toURI(ref);

 		return this;

diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java
index c709e11..64391f7 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/HeaderInfo.java
@@ -993,7 +993,7 @@
 	 *
 	 * @return The property value, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty("$ref")
+	@Beanp("$ref")
 	public String getRef() {
 		return ref;
 	}
@@ -1015,7 +1015,7 @@
 	 * 	<br>Can be <jk>null</jk> to unset the property.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("$ref")
+	@Beanp("$ref")
 	public HeaderInfo setRef(Object value) {
 		ref = StringUtils.stringify(value);
 		return this;
@@ -1038,7 +1038,7 @@
 	 *
 	 * @return The property value, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty("x-example")
+	@Beanp("x-example")
 	public Object getExample() {
 		return example;
 	}
@@ -1051,7 +1051,7 @@
 	 * 	<br>Can be <jk>null</jk> to unset the property.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("x-example")
+	@Beanp("x-example")
 	public HeaderInfo setExample(Object value) {
 		example = value;
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/Items.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/Items.java
index a3c1904..abb44e0 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/Items.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/Items.java
@@ -971,7 +971,7 @@
 	 *
 	 * @return The property value, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty("$ref")
+	@Beanp("$ref")
 	public String getRef() {
 		return ref;
 	}
@@ -993,7 +993,7 @@
 	 * 	<br>Can be <jk>null</jk> to unset the property.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("$ref")
+	@Beanp("$ref")
 	public Items setRef(Object value) {
 		ref = StringUtils.stringify(value);
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
index 769dfde..d65b3ee 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
@@ -1396,7 +1396,7 @@
 	 *
 	 * @return The property value, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty("x-example")
+	@Beanp("x-example")
 	public String getExample() {
 		return example;
 	}
@@ -1409,7 +1409,7 @@
 	 * 	<br>Can be <jk>null</jk> to unset the property.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("x-example")
+	@Beanp("x-example")
 	public ParameterInfo setExample(String value) {
 		example = value;
 		return this;
@@ -1431,7 +1431,7 @@
 	 *
 	 * @return The property value, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty("x-examples")
+	@Beanp("x-examples")
 	public Map<String,String> getExamples() {
 		return examples;
 	}
@@ -1444,7 +1444,7 @@
 	 * 	<br>Can be <jk>null</jk> to unset the property.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("x-examples")
+	@Beanp("x-examples")
 	public ParameterInfo setExamples(Map<String,String> value) {
 		examples = newMap(value);
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ResponseInfo.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ResponseInfo.java
index 8f3cef2..80a77d0 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ResponseInfo.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ResponseInfo.java
@@ -337,7 +337,7 @@
 	 *
 	 * @return The property value, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty("x-example")
+	@Beanp("x-example")
 	public Object getExample() {
 		return example;
 	}
@@ -350,7 +350,7 @@
 	 * 	<br>Can be <jk>null</jk> to unset the property.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("x-example")
+	@Beanp("x-example")
 	public ResponseInfo setExample(Object value) {
 		example = value;
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SchemaInfo.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SchemaInfo.java
index c1ef8fd..4281826 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SchemaInfo.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SchemaInfo.java
@@ -1369,7 +1369,7 @@
 	 *
 	 * @return The property value, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty("$ref")
+	@Beanp("$ref")
 	public String getRef() {
 		return ref;
 	}
@@ -1391,7 +1391,7 @@
 	 * 	<br>Can be <jk>null</jk> to unset the property.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("$ref")
+	@Beanp("$ref")
 	public SchemaInfo setRef(Object value) {
 		ref = StringUtils.stringify(value);
 		return this;
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SwaggerElement.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SwaggerElement.java
index 2e5a7a7..1f39cfd 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SwaggerElement.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SwaggerElement.java
@@ -101,7 +101,7 @@
 	 * @param property The property name to retrieve.
 	 * @return The property value, or <jk>null</jk> if the property does not exist or is not set.
 	 */
-	@BeanProperty("*")
+	@Beanp("*")
 	public Object get(String property) {
 		if (property == null || extra == null)
 			return null;
@@ -118,7 +118,7 @@
 	 * @param value The new value for the property.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty("*")
+	@Beanp("*")
 	public SwaggerElement set(String property, Object value) {
 		if (property == null)
 			return this;
@@ -139,7 +139,7 @@
 	 * 	All the non-standard keys on this element.
 	 * 	<br>Never <jk>null</jk>.
 	 */
-	@BeanProperty("*")
+	@Beanp("*")
 	public Set<String> extraKeys() {
 		return extra == null ? Collections.emptySet() : extra.keySet();
 	}
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 641d820..cb2f18b 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
@@ -244,7 +244,7 @@
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
 	 * 			<li class='ja'>{@link Bean#beanDictionary()}
-	 * 			<li class='ja'>{@link BeanProperty#beanDictionary()}
+	 * 			<li class='ja'>{@link Beanp#dictionary()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -1200,7 +1200,7 @@
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
 	 * 			<li class='ja'>{@link Bean#properties()}
-	 * 			<li class='ja'>{@link BeanProperty#properties()}
+	 * 			<li class='ja'>{@link Beanp#bpi()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
@@ -2529,9 +2529,10 @@
 
 
 	/**
-	 * Used for determining the class type on a method or field where a {@code @BeanProperty} annotation may be present.
+	 * Used for determining the class type on a method or field where a {@code @Beanp} annotation may be present.
 	 *
 	 * @param <T> The class type we're wrapping.
+	 * @param px The property annotation on the type if there is one.
 	 * @param p The property annotation on the type if there is one.
 	 * @param t The type.
 	 * @param typeVarImpls
@@ -2540,9 +2541,39 @@
 	 * 	Can be <jk>null</jk> if the information is not known.
 	 * @return The new {@code ClassMeta} object wrapped around the {@code Type} object.
 	 */
-	protected final <T> ClassMeta<T> resolveClassMeta(BeanProperty p, Type t, Map<Class<?>,Class<?>[]> typeVarImpls) {
+	@SuppressWarnings("deprecation")
+	protected final <T> ClassMeta<T> resolveClassMeta(BeanProperty px, Beanp p, Type t, Map<Class<?>,Class<?>[]> typeVarImpls) {
 		ClassMeta<T> cm = resolveClassMeta(t, typeVarImpls);
 		ClassMeta<T> cm2 = cm;
+		if (px != null) {
+
+			if (px.type() != Object.class)
+				cm2 = resolveClassMeta(px.type(), typeVarImpls);
+
+			if (cm2.isMap()) {
+				Class<?>[] pParams = (px.params().length == 0 ? new Class[]{Object.class, Object.class} : px.params());
+				if (pParams.length != 2)
+					throw new FormattedRuntimeException("Invalid number of parameters specified for Map (must be 2): {0}", pParams.length);
+				ClassMeta<?> keyType = resolveType(pParams[0], cm2.getKeyType(), cm.getKeyType());
+				ClassMeta<?> valueType = resolveType(pParams[1], cm2.getValueType(), cm.getValueType());
+				if (keyType.isObject() && valueType.isObject())
+					return cm2;
+				return new ClassMeta<>(cm2, keyType, valueType, null);
+			}
+
+			if (cm2.isCollection() || cm2.isOptional()) {
+				Class<?>[] pParams = (px.params().length == 0 ? new Class[]{Object.class} : px.params());
+				if (pParams.length != 1)
+					throw new FormattedRuntimeException("Invalid number of parameters specified for "+(cm2.isCollection() ? "Collection" : cm2.isOptional() ? "Optional" : "Array")+" (must be 1): {0}", pParams.length);
+				ClassMeta<?> elementType = resolveType(pParams[0], cm2.getElementType(), cm.getElementType());
+				if (elementType.isObject())
+					return cm2;
+				return new ClassMeta<>(cm2, null, null, elementType);
+			}
+
+			return cm2;
+		}
+
 		if (p != null) {
 
 			if (p.type() != Object.class)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
index 12b42b8..70682d0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
@@ -51,7 +51,7 @@
  * 		<ul>

  * 			<li>Public fields (same order as {@code Class.getFields()}).

  * 			<li>Properties returned by {@code BeanInfo.getPropertyDescriptors()}.

- * 			<li>Non-standard getters/setters with {@link BeanProperty @BeanProperty} annotation defined on them.

+ * 			<li>Non-standard getters/setters with {@link Beanp @Beanp} annotation defined on them.

  * 		</ul>

  * </ul>

  *

@@ -163,6 +163,7 @@
 			this.pNames = pNames;

 		}

 

+		@SuppressWarnings("deprecation")

 		String init(BeanMeta<T> beanMeta) {

 			Class<?> c = classMeta.getInnerClass();

 			ClassInfo ci = classMeta.getInfo();

@@ -326,6 +327,9 @@
 								if (m.getAnnotation(BeanProperty.class) == null && bpm.getter.getAnnotation(BeanProperty.class) != null)

 									m = bpm.getter;  // @BeanProperty annotated method takes precedence.

 

+								else if (m.getAnnotation(Beanp.class) == null && bpm.getter.getAnnotation(Beanp.class) != null)

+									m = bpm.getter;  // @Beanp annotated method takes precedence.

+

 								else if (m.getName().startsWith("is") && bpm.getter.getName().startsWith("get"))

 									m = bpm.getter;  // getX() overrides isX().

 							}

@@ -485,9 +489,11 @@
 		 * Returns null if the field isn't a valid property.

 		 */

 		private String findPropertyName(Field f, Set<String> fixedBeanProps) {

-			BeanProperty bp = f.getAnnotation(BeanProperty.class);

+			@SuppressWarnings("deprecation")

+			BeanProperty px = f.getAnnotation(BeanProperty.class);

+			Beanp p = f.getAnnotation(Beanp.class);

 			Name n = f.getAnnotation(Name.class);

-			String name = bpName(bp, n);

+			String name = bpName(px, p, n);

 			if (isNotEmpty(name)) {

 				if (fixedBeanProps.isEmpty() || fixedBeanProps.contains(name))

 					return name;

@@ -624,9 +630,11 @@
 				if (bi != null)

 					continue;

 

-				BeanProperty bp = m.getAnnotation(BeanProperty.class);

+				@SuppressWarnings("deprecation")

+				BeanProperty px = m.getAnnotation(BeanProperty.class);

+				Beanp p = m.getAnnotation(Beanp.class);

 				Name n2 = m.getAnnotation(Name.class);

-				if (! (m.isVisible(v) || bp != null || n2 != null))

+				if (! (m.isVisible(v) || px != null || p != null || n2 != null))

 					continue;

 

 				String n = m.getSimpleName();

@@ -634,10 +642,10 @@
 				List<ClassInfo> pt = m.getParamTypes();

 				ClassInfo rt = m.getReturnType();

 				MethodType methodType = UNKNOWN;

-				String bpName = bpName(bp, n2);

+				String bpName = bpName(px, p, n2);

 

 				if (! (isEmpty(bpName) || filterProps.isEmpty() || filterProps.contains(bpName)))

-					throw new BeanRuntimeException(c, "Found @BeanProperty(\"{0}\") but name was not found in @Bean(properties)", bpName);

+					throw new BeanRuntimeException(c, "Found @Beanp(\"{0}\") but name was not found in @Bean(properties)", bpName);

 

 				if (pt.size() == 0) {

 					if ("*".equals(bpName)) {

@@ -702,7 +710,7 @@
 				n = pn.getPropertyName(n);

 

 				if ("*".equals(bpName) && methodType == UNKNOWN)

-					throw new BeanRuntimeException(c, "Found @BeanProperty(\"*\") but could not determine method type on method ''{0}''.", m.getSimpleName());

+					throw new BeanRuntimeException(c, "Found @Beanp(\"*\") but could not determine method type on method ''{0}''.", m.getSimpleName());

 

 				if (methodType != UNKNOWN) {

 					if (bpName != null && ! bpName.isEmpty()) {

@@ -728,15 +736,17 @@
 				if (f.hasAnnotation(BeanIgnore.class))

 					continue;

 

-				BeanProperty bp = f.getAnnotation(BeanProperty.class);

+				@SuppressWarnings("deprecation")

+				BeanProperty px = f.getAnnotation(BeanProperty.class);

+				Beanp p = f.getAnnotation(Beanp.class);

 				Name n = f.getAnnotation(Name.class);

-				String bpName = bpName(bp, n);

+				String bpName = bpName(px, p, n);

 

-				if (! (v.isVisible(f.inner()) || bp != null))

+				if (! (v.isVisible(f.inner()) || px != null || p != null))

 					continue;

 

 				if (! (isEmpty(bpName) || filterProps.isEmpty() || filterProps.contains(bpName)))

-					throw new BeanRuntimeException(c, "Found @BeanProperty(\"{0}\") but name was not found in @Bean(properties)", bpName);

+					throw new BeanRuntimeException(c, "Found @Beanp(\"{0}\") but name was not found in @Bean(properties)", bpName);

 

 				l.add(f.inner());

 			}

@@ -906,16 +916,23 @@
 		}

 	}

 

-	static final String bpName(BeanProperty bp, Name n) {

-		if (bp == null && n == null)

+	@SuppressWarnings("deprecation")

+	static final String bpName(BeanProperty px, Beanp p, Name n) {

+		if (px == null && p == null && n == null)

 			return null;

 		if (n != null)

 			return n.value();

-		if (bp == null)

-			return null;

-		if (! bp.name().isEmpty())

-			return bp.name();

-		return bp.value();

+		if (p != null) {

+			if (! p.name().isEmpty())

+				return p.name();

+			return p.value();

+		}

+		if (px != null) {

+			if (! px.name().isEmpty())

+				return px.name();

+			return px.value();

+		}

+		return null;

 	}

 

 	@Override /* Object */

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMetaFiltered.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMetaFiltered.java
index eefaa50..45eac2b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMetaFiltered.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMetaFiltered.java
@@ -17,7 +17,7 @@
 import org.apache.juneau.annotation.*;

 

 /**

- * Same as {@link BeanMeta}, except the list of bean properties are limited by a  {@link BeanProperty#properties() @BeanProperty(properties)} annotation.

+ * Same as {@link BeanMeta}, except the list of bean properties are limited by a  {@link Beanp#bpi() @Beanp(bpi)} annotation.

  *

  * @param <T> The class type that this metadata applies to.

  */

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index eb8c047..e41f80b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -61,8 +61,8 @@
 		rawTypeMeta,                                           // The real class type of the bean property.

 		typeMeta;                                              // The transformed class type of the bean property.

 

-	private final String[] properties;                        // The value of the @BeanProperty(properties) annotation.

-	private final PojoSwap swap;                              // PojoSwap defined only via @BeanProperty annotation.

+	private final String[] properties;                        // The value of the @Beanp(properties) annotation.

+	private final PojoSwap swap;                              // PojoSwap defined only via @Beanp annotation.

 

 	private final MetadataMap extMeta;                        // Extended metadata

 	private final BeanRegistry beanRegistry;

@@ -162,6 +162,7 @@
 			return this;

 		}

 

+		@SuppressWarnings("deprecation")

 		boolean validate(BeanContext f, BeanRegistry parentBeanRegistry, Map<Class<?>,Class<?>[]> typeVarImpls) throws Exception {

 

 			List<Class<?>> bdClasses = new ArrayList<>();

@@ -176,17 +177,23 @@
 			canWrite |= (field != null || setter != null);

 

 			if (innerField != null) {

-				BeanProperty p = innerField.getAnnotation(BeanProperty.class);

-				if (field != null || p != null) {

-					// Only use field type if it's a bean property or has @BeanProperty annotation.

+				BeanProperty px = innerField.getAnnotation(BeanProperty.class);

+				Beanp p = innerField.getAnnotation(Beanp.class);

+				if (field != null || px != null || p != null) {

+					// Only use field type if it's a bean property or has @Beanp annotation.

 					// Otherwise, we want to infer the type from the getter or setter.

-					rawTypeMeta = f.resolveClassMeta(p, innerField.getGenericType(), typeVarImpls);

+					rawTypeMeta = f.resolveClassMeta(px, p, innerField.getGenericType(), typeVarImpls);

 					isUri |= (rawTypeMeta.isUri());

 				}

+				if (px != null) {

+					if (! px.properties().isEmpty())

+						properties = split(px.properties());

+					bdClasses.addAll(Arrays.asList(px.beanDictionary()));

+				}

 				if (p != null) {

-					if (! p.properties().isEmpty())

-						properties = split(p.properties());

-					bdClasses.addAll(Arrays.asList(p.beanDictionary()));

+					if (! p.bpi().isEmpty())

+						properties = split(p.bpi());

+					bdClasses.addAll(Arrays.asList(p.dictionary()));

 				}

 				Swap s = innerField.getAnnotation(Swap.class);

 				if (s != null) {

@@ -196,14 +203,20 @@
 			}

 

 			if (getter != null) {

-				BeanProperty p = MethodInfo.of(getter).getAnnotation(BeanProperty.class);

+				BeanProperty px = MethodInfo.of(getter).getAnnotation(BeanProperty.class);

+				Beanp p = MethodInfo.of(getter).getAnnotation(Beanp.class);

 				if (rawTypeMeta == null)

-					rawTypeMeta = f.resolveClassMeta(p, getter.getGenericReturnType(), typeVarImpls);

+					rawTypeMeta = f.resolveClassMeta(px, p, getter.getGenericReturnType(), typeVarImpls);

 				isUri |= (rawTypeMeta.isUri() || getter.isAnnotationPresent(org.apache.juneau.annotation.URI.class));

+				if (px != null) {

+					if (properties != null && ! px.properties().isEmpty())

+						properties = split(px.properties());

+					bdClasses.addAll(Arrays.asList(px.beanDictionary()));

+				}

 				if (p != null) {

-					if (properties != null && ! p.properties().isEmpty())

-						properties = split(p.properties());

-					bdClasses.addAll(Arrays.asList(p.beanDictionary()));

+					if (properties != null && ! p.bpi().isEmpty())

+						properties = split(p.bpi());

+					bdClasses.addAll(Arrays.asList(p.dictionary()));

 				}

 				Swap s = getter.getAnnotation(Swap.class);

 				if (s != null && swap == null) {

@@ -212,16 +225,24 @@
 			}

 

 			if (setter != null) {

-				BeanProperty p = MethodInfo.of(setter).getAnnotation(BeanProperty.class);

+				BeanProperty px = MethodInfo.of(setter).getAnnotation(BeanProperty.class);

+				Beanp p = MethodInfo.of(setter).getAnnotation(Beanp.class);

 				if (rawTypeMeta == null)

-					rawTypeMeta = f.resolveClassMeta(p, setter.getGenericParameterTypes()[0], typeVarImpls);

+					rawTypeMeta = f.resolveClassMeta(px, p, setter.getGenericParameterTypes()[0], typeVarImpls);

 				isUri |= (rawTypeMeta.isUri() || setter.isAnnotationPresent(org.apache.juneau.annotation.URI.class));

+				if (px != null) {

+					if (swap == null)

+						swap = getPropertyPojoSwap(px);

+					if (properties != null && ! px.properties().isEmpty())

+						properties = split(px.properties());

+					bdClasses.addAll(Arrays.asList(px.beanDictionary()));

+				}

 				if (p != null) {

 					if (swap == null)

 						swap = getPropertyPojoSwap(p);

-					if (properties != null && ! p.properties().isEmpty())

-						properties = split(p.properties());

-					bdClasses.addAll(Arrays.asList(p.beanDictionary()));

+					if (properties != null && ! p.bpi().isEmpty())

+						properties = split(p.bpi());

+					bdClasses.addAll(Arrays.asList(p.dictionary()));

 				}

 				Swap s = setter.getAnnotation(Swap.class);

 				if (s != null && swap == null) {

@@ -301,12 +322,19 @@
 			return new BeanPropertyMeta(this);

 		}

 

+		@SuppressWarnings("deprecation")

 		private PojoSwap getPropertyPojoSwap(BeanProperty p) throws Exception {

 			if (! p.format().isEmpty())

 				return castOrCreate(PojoSwap.class, StringFormatSwap.class, false, p.format());

 			return null;

 		}

 

+		private PojoSwap getPropertyPojoSwap(Beanp p) throws Exception {

+			if (! p.format().isEmpty())

+				return castOrCreate(PojoSwap.class, StringFormatSwap.class, false, p.format());

+			return null;

+		}

+

 		private PojoSwap getPropertyPojoSwap(Swap s) throws Exception {

 			Class<?> c = s.value();

 			if (c == Null.class)

@@ -472,7 +500,7 @@
 	 * <p>

 	 * The order of lookup for the dictionary is as follows:

 	 * <ol>

-	 * 	<li>Dictionary defined via {@link BeanProperty#beanDictionary() @BeanProperty(beanDictionary)}.

+	 * 	<li>Dictionary defined via {@link Beanp#dictionary() @Beanp(dictionary)}.

 	 * 	<li>Dictionary defined via {@link BeanContext#BEAN_beanDictionary} context property.

 	 * </ol>

 	 *

@@ -509,7 +537,7 @@
 	}

 

 	/**

-	 * Returns the override list of properties defined through a {@link BeanProperty#properties() @BeanProperty(properties)} annotation

+	 * Returns the override list of properties defined through a {@link Beanp#bpi() @Beanp(bpi)} annotation

 	 * on this property.

 	 *

 	 * @return The list of override properties, or <jk>null</jk> if annotation not specified.

@@ -1116,7 +1144,7 @@
 

 	private Object transform(BeanSession session, Object o) throws SerializeException {

 		try {

-			// First use swap defined via @BeanProperty.

+			// First use swap defined via @Beanp.

 			if (swap != null)

 				return swap.swap(session, o);

 			if (o == null)

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java
index dcb412b..6970ed7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java
@@ -28,11 +28,14 @@
  * <ul class='seealso'>

  * 	<li class='link'>{@doc juneau-marshall.Transforms.BeanPropertyAnnotation}

  * </ul>

+ *

+ * @deprecated Use {@link Beanp}

  */

 @Documented

 @Target({FIELD,METHOD,PARAMETER})

 @Retention(RUNTIME)

 @Inherited

+@Deprecated

 public @interface BeanProperty {

 

 	/**

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
new file mode 100644
index 0000000..ec66cbb
--- /dev/null
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
@@ -0,0 +1,333 @@
+// ***************************************************************************************************************************

+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *

+// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *

+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *

+// * with the License.  You may obtain a copy of the License at                                                              *

+// *                                                                                                                         *

+// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *

+// *                                                                                                                         *

+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *

+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *

+// * specific language governing permissions and limitations under the License.                                              *

+// ***************************************************************************************************************************

+package org.apache.juneau.annotation;

+

+import static java.lang.annotation.ElementType.*;

+import static java.lang.annotation.RetentionPolicy.*;

+

+import java.lang.annotation.*;

+

+import org.apache.juneau.*;

+

+/**

+ * Used tailor how bean properties get interpreted by the framework.

+ *

+ * <p>

+ * This annotation is applied to public fields and public getter/setter methods of beans.

+ *

+ * <ul class='seealso'>

+ * 	<li class='link'>{@doc juneau-marshall.Transforms.BeanPropertyAnnotation}

+ * </ul>

+ */

+@Documented

+@Target({FIELD,METHOD,PARAMETER})

+@Retention(RUNTIME)

+@Inherited

+public @interface Beanp {

+

+	/**

+	 * Identifies the name of the property.

+	 *

+	 * <p>

+	 * Normally, this is automatically inferred from the field name or getter method name of the property.

+	 * However, this property can be used to assign a different property name from the automatically inferred value.

+	 *

+	 * <p>

+	 * If the {@link BeanContext#BEAN_beanFieldVisibility} setting on the bean context excludes this field (e.g. the

+	 * visibility is set to PUBLIC, but the field is PROTECTED), this annotation can be used to force the field to be

+	 * identified as a property.

+	 *

+	 * <h5 class='topic'>Dynamic beans</h5>

+	 * <p>

+	 * The bean property named <js>"*"</js> is the designated "dynamic property" which allows for "extra" bean

+	 * properties not otherwise defined.

+	 * This is similar in concept to the Jackson <ja>@JsonGetterAll</ja> and <ja>@JsonSetterAll</ja> annotations.

+	 * The primary purpose is for backwards compatibility in parsing newer streams with addition information into older

+	 * beans.

+	 *

+	 * <p>

+	 * The following examples show how to define dynamic bean properties.

+	 * <p class='bcode w800'>

+	 * 	<jc>// Option #1 - A simple public Map field.

+	 * 	// The field name can be anything.</jc>

+	 * 	<jk>public class</jk> BeanWithDynaField {

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>)

+	 * 		<jk>public</jk> Map&lt;String,Object&gt; extraStuff = <jk>new</jk> LinkedHashMap&lt;String,Object&gt;();

+	 * 	}

+	 *

+	 * 	<jc>// Option #2 - Getters and setters.

+	 * 	// Method names can be anything.

+	 * 	// Getter must return a Map with String keys.

+	 * 	// Setter must take in two arguments.</jc>

+	 * 	<jk>public class</jk> BeanWithDynaMethods {

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>)

+	 * 		<jk>public</jk> Map&lt;String,Object&gt; getMyExtraStuff() {

+	 * 			...

+	 * 		}

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>)

+	 * 		<jk>public void</jk> setAnExtraField(String name, Object value) {

+	 * 			...

+	 * 		}

+	 * 	}

+	 *

+	 * 	<jc>// Option #3 - Getter only.

+	 * 	// Properties will be added through the getter.</jc>

+	 * 	<jk>public class</jk> BeanWithDynaGetterOnly {

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>)

+	 * 		<jk>public</jk> Map&lt;String,Object&gt; getMyExtraStuff() {

+	 * 			...

+	 * 		}

+	 * 	}

+	 *

+	 * 	<jc>// Option #4 - Getter, setter, and extra-keys method .

+	 * 	// Define a method that returns a Collection&lt;String&gt; with currently-set property names.</jc>

+	 * 	<jk>public class</jk> BeanWithDynaExtraKeys {

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>)

+	 * 		<jk>public</jk> Object get(String name) {

+	 * 			...

+	 * 		}

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>)

+	 * 		<jk>public void</jk> set(String name, Object value) {

+	 * 			...

+	 * 		}

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>)

+	 * 		<jk>public</jk> Collection&lt;String&gt; extraKeys() {

+	 * 			...

+	 * 		}

+	 * 	}

+	 * </p>

+	 *

+	 *<p>

+	 * Similar rules apply for value types and swaps.

+	 * The property values optionally can be any serializable type or use swaps.

+	 * <p class='bcode w800'>

+	 * 	<jc>// A serializable type other than Object.</jc>

+	 * 	<jk>public class</jk> BeanWithDynaFieldWithListValues {

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>)

+	 * 		<jk>public</jk> Map&lt;String,List&lt;String&gt;&gt; getMyExtraStuff() {

+	 * 			...

+	 * 		}

+	 * 	}

+	 *

+	 * 	<jc>// A swapped value.</jc>

+	 * 	<jk>public class</jk> BeanWithDynaFieldWithSwappedValues {

+	 *

+	 * 		<ja>@Beanp</ja>(name=<js>"*"</js>, swap=TemporalCalendarSwap.IsoLocalDateTime.<jk>class</jk>)

+	 * 		<jk>public</jk> Map&lt;String,Calendar&gt; getMyExtraStuff() {

+	 * 			...

+	 * 		}

+	 * 	}

+	 * </p>

+	 *

+	 * <div class='info'>

+	 * 	Note that if you're not interested in these additional properties, you can also use the

+	 * 	{@link BeanContext#BEAN_ignoreUnknownBeanProperties} setting to ignore values that don't fit into existing

+	 * 	properties.

+	 * </div>

+	 * <div class='info'>

+	 * 		Note that the {@link Name @Name} annotation can also be used for identifying a property name.

+	 * </div>

+	 */

+	String name() default "";

+

+	/**

+	 * A synonym for {@link #name()}.

+	 *

+	 * <p>

+	 * The following annotations are equivalent:

+	 *

+	 * <p class='bcode w800'>

+	 * 	<ja>@Beanp</ja>(name=<js>"foo"</js>)

+	 *

+	 * 	<ja>@Beanp</ja>(<js>"foo"</js>)

+	 * </p>

+	 */

+	String value() default "";

+

+	/**

+	 * Identifies a specialized class type for the property.

+	 *

+	 * <p>

+	 * Normally this can be inferred through reflection of the field type or getter return type.

+	 * However, you'll want to specify this value if you're parsing beans where the bean property class is an interface

+	 * or abstract class to identify the bean type to instantiate.

+	 * Otherwise, you may cause an {@link InstantiationException} when trying to set these fields.

+	 *

+	 * <p>

+	 * This property must denote a concrete bean class with a no-arg constructor.

+	 *

+	 * <h5 class='section'>Example:</h5>

+	 * <p class='bcode w800'>

+	 * 	<jk>public class</jk> MyBean {

+	 *

+	 * 		<jc>// Identify concrete map type.</jc>

+	 * 		<ja>@Beanp</ja>(type=HashMap.<jk>class</jk>)

+	 * 		<jk>public</jk> Map <jf>p1</jf>;

+	 * 	}

+	 * </p>

+	 *

+	 * <p>

+	 * This annotation can also be used on private fields of a property like so:

+	 *

+	 * <h5 class='section'>Example:</h5>

+	 * <p class='bcode w800'>

+	 * 	<jk>public class</jk> MyBean {

+	 *

+	 * 		<ja>@Beanp</ja>(type=HashMap.<jk>class</jk>)

+	 * 		<jk>private</jk> Map <jf>p1</jf>;

+	 *

+	 * 		<jk>public</jk> Map getP1() {

+	 * 			<jk>return</jk> <jf>p1</jf>;

+	 * 		}

+	 * 	}

+	 * </p>

+	 */

+	Class<?> type() default Object.class;

+

+	/**

+	 * For bean properties of maps and collections, this annotation can be used to identify the class types of the

+	 * contents of the bean property object when the generic parameter types are interfaces or abstract classes.

+	 *

+	 * <h5 class='section'>Example:</h5>

+	 * <p class='bcode w800'>

+	 * 	<jk>public class</jk> MyBean {

+	 *

+	 * 		<jc>// Identify concrete map type with String keys and Integer values.</jc>

+	 * 		<ja>@Beanp</ja>(type=HashMap.<jk>class</jk>, params={String.<jk>class</jk>,Integer.<jk>class</jk>})

+	 * 		<jk>public</jk> Map <jf>p1</jf>;

+	 * 	}

+	 * </p>

+	 *

+	 * <p>

+	 * This annotation can also be used on private fields of a property like so:

+	 *

+	 * <h5 class='section'>Example:</h5>

+	 * <p class='bcode w800'>

+	 * 	<jk>public class</jk> MyBean {

+	 *

+	 * 		<ja>@Beanp</ja>(type=HashMap.<jk>class</jk>, params={String.<jk>class</jk>,Integer.<jk>class</jk>})

+	 * 		<jk>private</jk> Map <jf>p1</jf>;

+	 *

+	 * 		<jk>public</jk> Map getP1() {

+	 * 			<jk>return</jk> <jf>p1</jf>;

+	 * 		}

+	 * 	}

+	 * </p>

+	 */

+	Class<?>[] params() default {};

+

+	/**

+	 * Used to limit which child properties are rendered by the serializers.

+	 *

+	 * <p>

+	 * Can be used on any of the following bean property types:

+	 * <ul class='spaced-list'>

+	 * 	<li>Beans - Only render the specified properties of the bean.

+	 * 	<li>Maps - Only render the specified entries in the map.

+	 * 	<li>Bean/Map arrays - Same, but applied to each element in the array.

+	 * 	<li>Bean/Map collections - Same, but applied to each element in the collection.

+	 * </ul>

+	 *

+	 * <h5 class='section'>Example:</h5>

+	 * <p class='bcode w800'>

+	 * 	<jk>public class</jk> MyClass {

+	 *

+	 * 		<jc>// Only render 'f1' when serializing this bean property.</jc>

+	 * 		<ja>@Beanp</ja>(bpi=<js>"f1"</js>)

+	 * 		<jk>public</jk> MyChildClass x1 = <jk>new</jk> MyChildClass();

+	 * 	}

+	 *

+	 * 	<jk>public class</jk> MyChildClass {

+	 * 		<jk>public int</jk> f1 = 1;

+	 * 		<jk>public int</jk> f2 = 2;

+	 * 	}

+	 *

+	 * 	<jc>// Renders "{x1:{f1:1}}"</jc>

+	 * 	String json = JsonSerializer.<jsf>DEFAULT</jsf>.serialize(<jk>new</jk> MyClass());

+	 * </p>

+	 *

+	 * <p>

+	 * This annotation can also be used on private fields of a property like so:

+	 *

+	 * <h5 class='section'>Example:</h5>

+	 * <p class='bcode w800'>

+	 * 	<jk>public class</jk> MyBean {

+	 *

+	 * 		<ja>@Beanp</ja>(bpi=<js>"f1"</js>)

+	 * 		<jk>private</jk> MyChildClass <jf>x1</jf>;

+	 *

+	 * 		<jk>public</jk> MyChildClass getX1() {

+	 * 			<jk>return</jk> <jf>x1</jf>;

+	 * 		}

+	 * 	}

+	 * </p>

+	 */

+	String bpi() default "";

+

+	/**

+	 * Bean dictionary.

+	 *

+	 * <p>

+	 * The list of classes that make up the bean dictionary this bean property.

+	 *

+	 * <ul class='seealso'>

+	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}

+	 * </ul>

+	 *

+	 * <p>

+	 * This annotation can also be used on private fields of a property.

+	 */

+	Class<?>[] dictionary() default {};

+

+	/**

+	 * Specifies a String format for converting the bean property value to a formatted string.

+	 *

+	 * <p>

+	 * Note that this is usually a one-way conversion during serialization.

+	 *

+	 * <p>

+	 * During parsing, we will attempt to convert the value to the original form by using the

+	 * {@link BeanSession#convertToType(Object, Class)} but there is no guarantee that this will succeed.

+	 *

+	 * <h5 class='section'>Example:</h5>

+	 * <p class='bcode w800'>

+	 * 	<ja>@Beanp</ja>(format=<js>"$%.2f"</js>)

+	 * 	<jk>public float</jk> <jf>price</jf>;

+	 * </p>

+	 *

+	 * <p>

+	 * This annotation can also be used on private fields of a property like so:

+	 *

+	 * <h5 class='section'>Example:</h5>

+	 * <p class='bcode w800'>

+	 * 	<jk>public class</jk> MyBean {

+	 *

+	 * 		<ja>@Beanp</ja>(format=<js>"$%.2f"</js>)

+	 * 		<jk>private float</jk> <jf>price</jf>;

+	 *

+	 * 		<jk>public float</jk> gePrice() {

+	 * 			<jk>return</jk> <jf>price</jf>;

+	 * 		}

+	 * 	}

+	 * </p>

+	 */

+	String format() default "";

+}

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Name.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Name.java
index 5e1c411..2f24186 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Name.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Name.java
@@ -23,7 +23,7 @@
  * <p>

  * Can be used in the following locations:

  * <ul>

- * 	<li>In place of <code><ja>@BeanProperty</ja>(name=<js>"foo"</js>)</code> when just the name is specified.

+ * 	<li>In place of <code><ja>@Beanp</ja>(name=<js>"foo"</js>)</code> when just the name is specified.

  * 	<li>On constructor and method arguments when the parameter names are not in the compiled bytecode.

  * </ul>

  *

@@ -33,13 +33,13 @@
  * 	// The field name can be anything.</jc>

  * 	<jk>public class</jk> MyBean {

  *

- * 		<jc>// Same as @BeanProperty(properties="bar")</jc>

+ * 		<jc>// Same as @Beanp(bpi="bar")</jc>

  * 		<jk>public</jk> MyBean(@Name("bar") <jk>int</jk> foo) {}

  *

- * 		<ja>@Name</ja>(<js>"bar"</js>) <jc>// Same as @BeanProperty(name="bar")</jc>

+ * 		<ja>@Name</ja>(<js>"bar"</js>) <jc>// Same as @Beanp(name="bar")</jc>

  * 		<jk>public int</jk> foo;

  *

- * 		<ja>@Name</ja>(<js>"*"</js>) <jc>// Same as @BeanProperty(name="*")</jc>

+ * 		<ja>@Name</ja>(<js>"*"</js>) <jc>// Same as @Beanp(name="*")</jc>

  * 		<jk>public</jk> Map&lt;String,Object&gt; extraStuff = <jk>new</jk> LinkedHashMap&lt;String,Object&gt;();

  * 	}

  * </p>

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
index 5523b3b..b2cf142 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
@@ -173,7 +173,7 @@
 	 *

 	 * 		<jc>// Equivalent to @Header("Foo")</jc>

 	 * 		<ja>@Header</ja>

-	 * 		<ja>@BeanProperty</ja>(<js>"Foo"</js>)

+	 * 		<ja>@@Beanp</ja>(<js>"Foo"</js>)

 	 * 		String getFoo();

 	 * 	}

 	 * 		</p>

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 9621926..f39be54 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
@@ -277,7 +277,7 @@
 	protected final ClassMeta<?> getClassMeta(String typeName, BeanPropertyMeta pMeta, ClassMeta<?> eType) {

 		BeanRegistry br = null;

 

-		// Resolve via @BeanProperty(beanDictionary={})

+		// Resolve via @@Beanp(dictionary={})

 		if (pMeta != null) {

 			br = pMeta.getBeanRegistry();

 			if (br != null && br.hasName(typeName))

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/StringFormatSwap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/StringFormatSwap.java
index 87ac7ab..93dc62a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/StringFormatSwap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transforms/StringFormatSwap.java
@@ -17,7 +17,7 @@
 import org.apache.juneau.transform.*;
 
 /**
- * Built-in POJO swap implementation class for the {@link BeanProperty#format() @BeanProperty(format)} annotation.
+ * Built-in POJO swap implementation class for the {@link Beanp#format() @Beanp(format)} annotation.
  */
 public class StringFormatSwap extends StringSwap<Object> {
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/Xml.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/Xml.java
index 50f01c2..e2610f9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/Xml.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/Xml.java
@@ -89,7 +89,7 @@
 	 *

 	 * 		<jc>// Normally, bean URL properties would be rendered as XML attributes on the bean element.</jc>

 	 * 		<jc>// Override so that it's rendered as an &lt;href&gt;http://foo&lt;/href&gt; child element instead.</jc>

-	 * 		<ja>@BeanProperty</ja>(uri=<jk>true</jk>)

+	 * 		<ja>@@Beanp</ja>(uri=<jk>true</jk>)

 	 * 		<ja>@Xml</ja>(format=XmlFormat.<jsf>ELEMENT</jsf>}

 	 * 		<jk>public</jk> URL <jf>href</jf> = <jk>new</jk> URL(<js>"http://foo"</js>);

 	 *

diff --git a/juneau-doc/docs/ReleaseNotes/5.0.0.07.html b/juneau-doc/docs/ReleaseNotes/5.0.0.07.html
index 6a82ac3..2da379c 100644
--- a/juneau-doc/docs/ReleaseNotes/5.0.0.07.html
+++ b/juneau-doc/docs/ReleaseNotes/5.0.0.07.html
@@ -73,7 +73,7 @@
 		Enhancements to {@link oaj.BeanContext}:
 		<ul>
 			<li>
-				Ability to mark bean properties as hidden using <c>@BeanProperty(hidden)</c> so that they don't get serialized.
+				Ability to mark bean properties as hidden using <dc>@BeanProperty(hidden)</dc> so that they don't get serialized.
 			</li>
 			<li>
 				Simplified <c>ClassType</c> {@link oaj.ClassMeta} API.<br>
@@ -94,7 +94,7 @@
 				Used by RDF/XML serializer to construct <c>rdf:resource</c> attributes.
 			</li>
 			<li>
-				New {@link oaj.annotation.BeanProperty#properties() @BeanProperty(properties)} annotation.
+				New <dc>BeanProperty.properties()</dc> annotation.
 				Used for limiting properties on child elements.
 			</li>	
 		</ul>
diff --git a/juneau-doc/docs/ReleaseNotes/5.0.0.12.html b/juneau-doc/docs/ReleaseNotes/5.0.0.12.html
index 8a81025..63357bf 100644
--- a/juneau-doc/docs/ReleaseNotes/5.0.0.12.html
+++ b/juneau-doc/docs/ReleaseNotes/5.0.0.12.html
@@ -21,7 +21,7 @@
 <h5 class='topic w800'>Core API changes</h5>
 <ul class='spaced-list'>
 	<li>
-		Relaxed method naming conventions when using {@link oaj.annotation.BeanProperty @BeanProperty} annotation.<br>
+		Relaxed method naming conventions when using <dc>@BeanProperty</dc> annotation.<br>
 		Methods with zero parameters are interpreted as getters, and methods with one parameter are interpreted as setters.<br>
 		Eliminated the <c>BeanProperty.method</c> annotation, since it's now unnecessary.
 			</li>
diff --git a/juneau-doc/docs/ReleaseNotes/5.1.0.03.html b/juneau-doc/docs/ReleaseNotes/5.1.0.03.html
index 8b9d01e..35622e6 100644
--- a/juneau-doc/docs/ReleaseNotes/5.1.0.03.html
+++ b/juneau-doc/docs/ReleaseNotes/5.1.0.03.html
@@ -30,14 +30,14 @@
 		</ul>
 		Removed <c>BeanContext.<jsf>INCLUDE_BEAN_FIELD_PROPERTIES</jsf></c> and <c>BeanContext.<jsf>INCLUDE_BEAN_METHOD_PROPERTIES</jsf></c> properties, since ignoring fields and methods
 		can be accomplished by setting the appropriate properties above to {@link oaj.Visibility#NONE NONE}.
-		Also, the {@link oaj.annotation.BeanProperty @BeanProperty} annotation can now be used on non-public fields/getters/setters to override
+		Also, the <dc>@BeanProperty</dc> annotation can now be used on non-public fields/getters/setters to override
 		the default behavior defined by the <c>VISIBILITY</c> properties identified above.  This is a convenient way of identifying protected or
 		private fields or methods as bean properties.  Previously, you could only identify public fields/getters/setters using this annotation.
 	</li>
 	<li>New {@link oaj.BeanContext#BEAN_useJavaBeanIntrospector} property that lets Juno use the Java bean <c>Introspector</c>
 		class to determine bean properties.  In the previous release, the method for determining bean properties was a mixture of Juno-based and Introspector-based.
 		Now it's either pure Juno-based or pure Introspector-based.  The result is considerably cleaner code and consistent behavior.
-	<li>New {@link oaj.annotation.BeanIgnore @BeanIgnore} annotation.  Replaces the previous <c><ja>@BeanProperty</ja>(hidden=<jk>true</jk>)</c> annotation
+	<li>New {@link oaj.annotation.BeanIgnore @BeanIgnore} annotation.  Replaces the previous <dc>@BeanProperty(hidden=true)</dc> annotation
 		for ignoring bean properties.  Can also be used on classes that look like beans so that they're not treated as beans.
 	<li>Support for parsing into non-static member classes.  This applies to all parsers.
 	<li>New {@link oaj.json.annotation.Json#wrapperAttr() @Json(wrapperAttr)}	annotation that automatically wraps beans and objects in a wrapper
diff --git a/juneau-doc/docs/ReleaseNotes/6.0.0.html b/juneau-doc/docs/ReleaseNotes/6.0.0.html
index 1353380..bc8b9cc 100644
--- a/juneau-doc/docs/ReleaseNotes/6.0.0.html
+++ b/juneau-doc/docs/ReleaseNotes/6.0.0.html
@@ -56,7 +56,7 @@
 			<li>{@link oaj.BeanContext#BEAN_beanDictionary} - List of bean classes that make up the bean dictionary for lookup
 				during parsing. 
 			<li>{@link oaj.BeanContext#BEAN_beanTypePropertyName} - The overridable type property name.  Default is <js>"_type"</js>.
-			<li>{@link oaj.annotation.BeanProperty#beanDictionary() @BeanProperty(beanDictionary)} - Define a type dictionary
+			<li><dc>@BeanProperty(beanDictionary)</dc> - Define a type dictionary
 				for a particular bean property value.  This overrides the value specified using {@link oaj.BeanContext#BEAN_beanDictionary}.
 			<li><dc>SerializerContext.SERIALIZER_addBeanTypeProperties</dc> - Controls whether type properties are serialized.
 		</ul>
diff --git a/juneau-doc/docs/ReleaseNotes/6.1.0.html b/juneau-doc/docs/ReleaseNotes/6.1.0.html
index 18979f9..45f587c 100644
--- a/juneau-doc/docs/ReleaseNotes/6.1.0.html
+++ b/juneau-doc/docs/ReleaseNotes/6.1.0.html
@@ -175,7 +175,7 @@
 				of classes not annotated with {@link oaj.annotation.Bean#typeName() @Bean(typeName)}.
 			<li>New {@link oaj.annotation.Bean#beanDictionary() @Bean(beanDictionary)} annotation.
 		</ul>
-	<li>Removed restriction on getters and setters to be prefixed with "getX/setX/isX" if a {@link oaj.annotation.BeanProperty#name() @BeanProperty(name)} annotation is used.
+	<li>Removed restriction on getters and setters to be prefixed with "getX/setX/isX" if a <dc>@BeanProperty(name)</dc> annotation is used.
 	<li>Improvements to ATOM DTO:
 		<ul>
 			<li>New {@link oaj.dto.atom.AtomBuilder} class.
diff --git a/juneau-doc/docs/ReleaseNotes/6.3.0.html b/juneau-doc/docs/ReleaseNotes/6.3.0.html
index 367ca36..527694f 100644
--- a/juneau-doc/docs/ReleaseNotes/6.3.0.html
+++ b/juneau-doc/docs/ReleaseNotes/6.3.0.html
@@ -25,7 +25,7 @@
 	<li>
 		New package:  {@link oaj.http}.
 	<li>
-		Support for dynamic beans.  See {@link oaj.annotation.BeanProperty#name() @BeanProperty(name)}.
+		Support for dynamic beans.  See <dc>@BeanProperty(name)</dc>.
 	<li>
 		New doc: <dc>2.8 - Virtual Beans</dc>
 	<li>
@@ -55,7 +55,7 @@
 			<li><dc>ConfigFile.getObjectWithDefault(String,Parser,Object,Class)</dc> 
 		</ul>
 	<li>New ability to interact with config file sections with proxy interfaces with new method <dc>ConfigFile.getSectionAsInterface(String,Class)</dc>.
-	<li>{@link oaj.annotation.BeanProperty @BeanProperty} annotation can now be applied to getters
+	<li><dc>@BeanProperty</dc> annotation can now be applied to getters
 		and setters defined on interfaces.
 	<li>New methods on {@link oaj.serializer.SerializerSession} and {@link oaj.parser.ParserSession}
 		for retrieving context and runtime-override properties:
@@ -113,7 +113,7 @@
 				<li><dc>SerializerContext.SERIALIZER_uriResolution</dc>
 				<li><dc>SerializerContext.SERIALIZER_maxIndent</dc>
 		</ul>
-	<li>New annotation property: {@link oaj.annotation.BeanProperty#value() @BeanProperty(value)}.
+	<li>New annotation property: <dc>@BeanProperty(value)</dc>.
 		<br>The following two annotations are considered equivalent:
 		<p class='bcode w800'>
 	<ja>@BeanProperty</ja>(name=<js>"foo"</js>)
@@ -171,7 +171,7 @@
 			<li>{@link oaj.BeanContext#BEAN_includeProperties BEAN_includeProperties}
 			<li>{@link oaj.BeanContext#BEAN_excludeProperties BEAN_excludeProperties}
 		</ul>
-	<li>New annotation property: {@link oaj.annotation.BeanProperty#format() @BeanProperty(format)}.
+	<li>New annotation property: <dc>@BeanProperty(format)</dc>.
 </ul>
 
 <h5 class='topic w800'>org.apache.juneau.rest</h5>
diff --git a/juneau-doc/docs/ReleaseNotes/6.4.0.html b/juneau-doc/docs/ReleaseNotes/6.4.0.html
index c13ae9a..0c830e9 100644
--- a/juneau-doc/docs/ReleaseNotes/6.4.0.html
+++ b/juneau-doc/docs/ReleaseNotes/6.4.0.html
@@ -203,7 +203,7 @@
 		Improvements to swap support.
 		<ul>
 			<li>New {@link oaj.annotation.Swap @Swap} annotation.
-				<br>Replaces the <c>@Pojo</c> and <c>@BeanProperty(swap)</c> annotations.
+				<br>Replaces the <c>@Pojo</c> and <dc>@BeanProperty(swap)</dc> annotations.
 			<li>Support for per-media-type swaps.
 				<br>Programmatic example:
 				<p class='bcode w800'>
diff --git a/juneau-doc/docs/ReleaseNotes/7.2.0.html b/juneau-doc/docs/ReleaseNotes/7.2.0.html
index 89ed2a7..fdebc44 100644
--- a/juneau-doc/docs/ReleaseNotes/7.2.0.html
+++ b/juneau-doc/docs/ReleaseNotes/7.2.0.html
@@ -84,7 +84,7 @@
 	<li>
 		Fixed bug where parsers could report the wrong line number when an error occurred.
 	<li>
-		A runtime exception is now thrown if you define a <c><ja>@BeanProperty</ja>(name)</c> but forget to
+		A runtime exception is now thrown if you define a <dc>@BeanProperty(name)</dc> but forget to
 		add it to your <c><ja>@Bean</ja>(properties)</c> annotation.
 	<li>
 		<c><ja>@Html</ja>(asXml)</c> and <c><ja>@Html</ja>(asPlainText)</c> replaced with
diff --git a/juneau-doc/docs/ReleaseNotes/7.2.1.html b/juneau-doc/docs/ReleaseNotes/7.2.1.html
index bd1bdcf..6db4c18 100644
--- a/juneau-doc/docs/ReleaseNotes/7.2.1.html
+++ b/juneau-doc/docs/ReleaseNotes/7.2.1.html
@@ -27,7 +27,7 @@
 	<li>
 		Annotations typically used on bean properties (getters/setters/public fields) can now be used on private fields.
 		This is inline with behavior on JPA-annotated beans.
-		These include:  <ja>@Swap</ja>, <ja>@Html</ja>, <ja>@Xml</ja>, <ja>@BeanProperty</ja>.
+		These include:  <ja>@Swap</ja>, <ja>@Html</ja>, <ja>@Xml</ja>, <jd>@BeanProperty</jd>.
 </ul>
 
 <h5 class='topic w800'>juneau-rest-server</h5>
diff --git a/juneau-doc/docs/ReleaseNotes/8.1.2.html b/juneau-doc/docs/ReleaseNotes/8.1.2.html
index 02cb465..8d9e77b 100644
--- a/juneau-doc/docs/ReleaseNotes/8.1.2.html
+++ b/juneau-doc/docs/ReleaseNotes/8.1.2.html
@@ -29,6 +29,8 @@
 		</ul>
 	<li>
 		{@link oaj.marshall.CharMarshall} and {@link oaj.marshall.StreamMarshall} now have public constructors.
+	<li>
+		{@link oaj.annotation.Beanp @Beanp} replaces {@link oaj.annotation.BeanProperty @BeanProperty} with shorter syntax.
 </ul>
 
 <h5 class='topic w800'>juneau-rest-server</h5>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/06.SwapAnnotation.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/06.SwapAnnotation.html
index d1c8d4e..c824367 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/06.SwapAnnotation.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/06.SwapAnnotation.html
@@ -74,7 +74,7 @@
 		<jk>private</jk> MyPojo <jf>myPojo</jf>;
 	
 		<jc>// Swap applied to bean property.	
-		<ja>@BeanProperty</ja>(swap=MyPojoSwap.<jk>class</jk>)
+		<ja>@Beanp</ja>(swap=MyPojoSwap.<jk>class</jk>)
 		<jk>public</jk> MyPojo getMyPojo() {
 			<jk>return</jk> <jf>myPojo</jf>;
 		}
@@ -89,7 +89,7 @@
 <p class='bpcode w800'>
 	<jk>public class</jk> MyBean {
 
-		<ja>@BeanProperty</ja>(swap=MyPojoSwap.<jk>class</jk>)
+		<ja>@Beanp</ja>(swap=MyPojoSwap.<jk>class</jk>)
 		<jk>private</jk> MyPojo <jf>myPojo</jf>;
 	
 		<jk>public</jk> MyPojo getMyPojo() {
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/10.BeanPropertyAnnotation.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/10.BeanpAnnotation.html
similarity index 81%
rename from juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/10.BeanPropertyAnnotation.html
rename to juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/10.BeanpAnnotation.html
index c20764e..22805fe 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/10.BeanPropertyAnnotation.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/10.BeanpAnnotation.html
@@ -13,19 +13,19 @@
  ***************************************************************************************************************************/
  -->
 
-@BeanProperty Annotation
+{updated} @Beanp Annotation
 
 <p>
-	The {@link oaj.annotation.BeanProperty @BeanProperty} annotation is used to tailor how 
+	The {@link oaj.annotation.Beanp @Beanp} annotation is used to tailor how 
 	individual bean properties are interpreted by the framework.
 </p>
 <p>
-	The {@link oaj.annotation.BeanProperty#name() @BeanProperty(name)} annotation
+	The {@link oaj.annotation.Beanp#name() @Beanp(name)} annotation
 	is used to override the name of the bean property.
 </p>
 <p class='bpcode w800'>
 	<jk>public class</jk> MyBean {
-		<ja>@BeanProperty</ja>(name=<js>"Bar"</js>)
+		<ja>@Beanp</ja>(name=<js>"Bar"</js>)
 		<jk>public</jk> String getFoo() {...}
 	}
 </p>
@@ -45,7 +45,7 @@
 </p>
 <p class='bpcode w800'>
 	<jk>public class</jk> MyBean {
-		<ja>@BeanProperty</ja>
+		<ja>@Beanp</ja>
 		<jk>protected</jk> String getFoo() {...}
 	}
 </p>
@@ -65,7 +65,7 @@
 	<jc>// The field name can be anything.</jc>
 	<jk>public class</jk> BeanWithDynaField {
 
-		<ja>@BeanProperty</ja>(name=<js>"*"</js>)
+		<ja>@Beanp</ja>(name=<js>"*"</js>)
 		<jk>public</jk> Map&lt;String,Object&gt; extraStuff = <jk>new</jk> LinkedHashMap&lt;String,Object&gt;();
 	}
 
@@ -75,12 +75,12 @@
 	<jc>// Setter must take in two arguments, a String and Object.</jc>
 	<jk>public class</jk> BeanWithDynaMethods {
 
-		<ja>@BeanProperty</ja>(name=<js>"*"</js>)
+		<ja>@Beanp</ja>(name=<js>"*"</js>)
 		<jk>public</jk> Map&lt;String,Object&gt; getMyExtraStuff() {
 			...
 		}
 
-		<ja>@BeanProperty</ja>(name=<js>"*"</js>)
+		<ja>@Beanp</ja>(name=<js>"*"</js>)
 		<jk>public void</jk> setAnExtraField(String name, Object value) {
 			...
 		}
@@ -90,7 +90,7 @@
 	<jc>// Properties will be added through the getter.</jc>
 	<jk>public class</jk> BeanWithDynaGetterOnly {
 
-		<ja>@BeanProperty</ja>(name=<js>"*"</js>)
+		<ja>@Beanp</ja>(name=<js>"*"</js>)
 		<jk>public</jk> Map&lt;String,Object&gt; getMyExtraStuff() {
 			...
 		}
@@ -104,7 +104,7 @@
 	<jc>// A serializable type other than Object.</jc>
 	<jk>public class</jk> BeanWithDynaFieldWithListValues {
 
-		<ja>@BeanProperty</ja>(name=<js>"*"</js>)
+		<ja>@Beanp</ja>(name=<js>"*"</js>)
 		<jk>public</jk> Map&lt;String,List&lt;String&gt;&gt; getMyExtraStuff() {
 			...
 		}
@@ -113,7 +113,7 @@
 	<jc>// A swapped value.</jc>
 	<jk>public class</jk> BeanWithDynaFieldWithSwappedValues {
 
-		<ja>@BeanProperty</ja>(name=<js>"*"</js>, swap=TemporalCalendarSwap.IsoOffsetDateTime.<jk>class</jk>)
+		<ja>@Beanp</ja>(name=<js>"*"</js>, swap=TemporalCalendarSwap.IsoOffsetDateTime.<jk>class</jk>)
 		<jk>public</jk> Map&lt;String,Calendar&gt; getMyExtraStuff() {
 			...
 		}
@@ -125,20 +125,20 @@
 	that don't fit into existing properties.
 </div>
 <p>
-	The {@link oaj.annotation.BeanProperty#value() @BeanProperty(value)} annotation
-	is a synonym for {@link oaj.annotation.BeanProperty#name() @BeanProperty(name)}.
+	The {@link oaj.annotation.Beanp#value() @Beanp(value)} annotation
+	is a synonym for {@link oaj.annotation.Beanp#name() @Beanp(name)}.
 	Use it in cases where you're only specifying a name so that you can shorten your annotation.
 </p>
 <p>
 	The following annotations are equivalent:
 </p>
 <p class='bpcode w800'>
-	<ja>@BeanProperty</ja>(name=<js>"foo"</js>)
+	<ja>@Beanp</ja>(name=<js>"foo"</js>)
 
-	<ja>@BeanProperty</ja>(<js>"foo"</js>)
+	<ja>@Beanp</ja>(<js>"foo"</js>)
 </p>
 <p>
-	The {@link oaj.annotation.BeanProperty#type() @BeanProperty(type)} annotation
+	The {@link oaj.annotation.Beanp#type() @Beanp(type)} annotation
 	is used to identify a specialized class type for a generalized property.
 	Normally the type is inferred through reflection of the field type or getter return type.
 	However, you'll want to specify this value if you're parsing beans where the bean property class 
@@ -152,12 +152,12 @@
 	<jk>public class</jk> MyBean {
 
 		<jc>// Identify concrete type as a HashMap.</jc>
-		<ja>@BeanProperty</ja>(type=HashMap.<jk>class</jk>)
+		<ja>@Beanp</ja>(type=HashMap.<jk>class</jk>)
 		<jk>public</jk> Map <jf>p1</jf>;
 	}
 </p>
 <p>
-	The {@link oaj.annotation.BeanProperty#params() @BeanProperty(params)} annotation
+	The {@link oaj.annotation.BeanProperty#params() @Beanp(params)} annotation
 	is for bean properties of type map or collection.
 	It's used to identify the class types of the contents of the bean property object when
 	the general parameter types are interfaces or abstract classes.
@@ -166,12 +166,12 @@
 	<jk>public class</jk> MyBean {
 
 		<jc>// This is a HashMap&lt;String,Integer&gt;.</jc>
-		<ja>@BeanProperty</ja>(type=HashMap.<jk>class</jk>, params={String.<jk>class</jk>,Integer.<jk>class</jk>})
+		<ja>@Beanp</ja>(type=HashMap.<jk>class</jk>, params={String.<jk>class</jk>,Integer.<jk>class</jk>})
 		<jk>public</jk> Map <jf>p1</jf>;
 	}
 </p>
 <p>
-	The {@link oaj.annotation.BeanProperty#properties() @BeanProperty(properties)} 
+	The {@link oaj.annotation.Beanp#bpi() @Beanp(bpi)} 
 	annotation is used to limit which child properties are rendered by the serializers.
 	It can be used on any of the following bean property types:
 </p>
@@ -185,7 +185,7 @@
 	<jk>public class</jk> MyClass {
 
 		<jc>// Only render 'f1' when serializing this bean property.</jc>
-		<ja>@BeanProperty</ja>(properties={<js>"f1"</js>})
+		<ja>@Beanp</ja>(bpi={<js>"f1"</js>})
 		<jk>public</jk> MyChildClass x1 = <jk>new</jk> MyChildClass();
 	}
 
@@ -198,11 +198,11 @@
 	String json = JsonSerializer.<jsf>DEFAULT</jsf>.serialize(<jk>new</jk> MyClass());
 </p>
 <p>
-	The {@link oaj.annotation.BeanProperty#format() @BeanProperty(format)} 
+	The {@link oaj.annotation.Beanp#format() @Beanp(format)} 
 	annotation specifies a String format for converting a bean property value to a formatted string.
 </p>
 <p class='bpcode w800'>
 	<jc>// Serialize a float as a string with 2 decimal places.</jc>
-	<ja>@BeanProperty</ja>(format=<js>"$%.2f"</js>)
+	<ja>@Beanp</ja>(format=<js>"$%.2f"</js>)
 	<jk>public float</jk> <jf>price</jf>;
 </p>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/15.PojoBuilders.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/15.PojoBuilders.html
index 82004b0..65f84e4 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/15.PojoBuilders.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/15.PojoBuilders.html
@@ -60,13 +60,13 @@
 			
 			<jc>// Bean property setters.</jc>
 			
-			<ja>@BeanProperty</ja>
+			<ja>@Beanp</ja>
 			<jk>public</jk> MyBeanBuilder foo(String foo) {
 				<jk>this</jk>.<jf>foo</jf> = foo;
 				<jk>return this</jk>;
 			}
 			
-			<ja>@BeanProperty</ja>
+			<ja>@Beanp</ja>
 			<jk>public</jk> MyBeanBuilder bar(<jk>int</jk> bar) {
 				<jk>this</jk>.<jf>bar</jf> = bar;
 				<jk>return this</jk>;
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/16.BeanFilters.html b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/16.BeanFilters.html
index fa63d58..ad35363 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/16.BeanFilters.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/11.Transforms/16.BeanFilters.html
@@ -21,7 +21,7 @@
 </p>
 <p>
 	In practice, it's usually simpler to use the {@link oaj.annotation.Bean @Bean} and 
-	{@link oaj.annotation.BeanProperty @BeanProperty} annotations on your bean classes.
+	{@link oaj.annotation.Beanp @Beanp} annotations on your bean classes.
 	However, bean filters make it possible to accomplish the same when you can't add annotations
 	to existing code.
 </p>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/12.BeanDictionaries.html b/juneau-doc/docs/Topics/02.juneau-marshall/12.BeanDictionaries.html
index 65e33c5..1f6afd2 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/12.BeanDictionaries.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/12.BeanDictionaries.html
@@ -43,7 +43,7 @@
  	<ja>@Bean</ja>(typeName=<js>"foo"</js>)
  	<jk>public class</jk> Foo {
  		<jc>// A bean property where the object types cannot be inferred since it's an Object[].</jc>
- 		<ja>@BeanProperty</ja>(beanDictionary={Bar.<jk>class</jk>,Baz.<jk>class</jk>})
+ 		<ja>@Beanp</ja>(dictionary={Bar.<jk>class</jk>,Baz.<jk>class</jk>})
  		<jk>public</jk> Object[] x = <jk>new</jk> Object[]{<jk>new</jk> Bar(), <jk>new</jk> Baz()};
  	}
  		
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/18.JacksonComparison.html b/juneau-doc/docs/Topics/02.juneau-marshall/18.JacksonComparison.html
index dcb3873..587ba6a 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/18.JacksonComparison.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/18.JacksonComparison.html
@@ -33,7 +33,7 @@
 			<br><ja>@JsonSetter</ja>
 		</td>
 		<td>
-			{@link oaj.annotation.BeanProperty @BeanProperty}
+			{@link oaj.annotation.Beanp @Beanp}
 		</td>
 	</tr>
 	<tr>
@@ -42,7 +42,7 @@
 			<br><ja>@JsonAnySetter</ja>
 		</td>
 		<td>
-			{@link oaj.annotation.BeanProperty#name() @BeanProperty(name="*")}
+			{@link oaj.annotation.Beanp#name() @Beanp(name="*")}
 		</td>
 	</tr>
 	<tr>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/21.XmlDetails/04.BeanTypeNameAnnotation.html b/juneau-doc/docs/Topics/02.juneau-marshall/21.XmlDetails/04.BeanTypeNameAnnotation.html
index b91c337..806663c 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/21.XmlDetails/04.BeanTypeNameAnnotation.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/21.XmlDetails/04.BeanTypeNameAnnotation.html
@@ -120,7 +120,7 @@
 <p>
 	Beans with type names are often used in conjunction with the 
 	{@link oaj.annotation.Bean#beanDictionary() @Bean(beanDictionary)} and 
-	{@link oaj.annotation.BeanProperty#beanDictionary() @BeanProperty(beanDictionary)} 
+	{@link oaj.annotation.Beanp#dictionary() @Beanp(dictionary)} 
 	annotations so that the beans can be resolved at parse time.  
 	These annotations are not necessary during serialization, but are needed during parsing in order to 
 	resolve the bean types.
@@ -473,7 +473,7 @@
 		<td class='code'>
 	<ja>@Bean</ja>(typeName=<js>"  \b\f\n\t\r  "</js>)
 	<jk>class</jk> BeanWithNamesWithSpecialCharacters {
-		<ja>@BeanProperty</ja>(name=<js>"  \b\f\n\t\r  "</js>)
+		<ja>@Beanp</ja>(name=<js>"  \b\f\n\t\r  "</js>)
 		<jk>public</jk> String a = <js>"  \b\f\n\t\r  "</js>;
 	}
 		</td>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/21.XmlDetails/06.XmlFormatAnnotation.html b/juneau-doc/docs/Topics/02.juneau-marshall/21.XmlDetails/06.XmlFormatAnnotation.html
index ae22b1c..fcc0b27 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/21.XmlDetails/06.XmlFormatAnnotation.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/21.XmlDetails/06.XmlFormatAnnotation.html
@@ -326,7 +326,7 @@
 		<td class='code'>
 	<jk>class</jk> MyBean {
 		<ja>@Xml</ja>(format=XmlFormat.<jsf>MIXED</jsf>)
-		<ja>@BeanProperty</ja>(beanDictionary={MyBeanX.<jk>class</jk>, MyBeanY.<jk>class</jk>})	
+		<ja>@Beanp</ja>(dictionary={MyBeanX.<jk>class</jk>, MyBeanY.<jk>class</jk>})	
 		<jk>public</jk> Object[] a;
 	}
 	
diff --git a/juneau-doc/docs/Topics/03.juneau-marshall-rdf/01.RdfDetails/05.UriProperties.html b/juneau-doc/docs/Topics/03.juneau-marshall-rdf/01.RdfDetails/05.UriProperties.html
index 69986e6..beceadc 100644
--- a/juneau-doc/docs/Topics/03.juneau-marshall-rdf/01.RdfDetails/05.UriProperties.html
+++ b/juneau-doc/docs/Topics/03.juneau-marshall-rdf/01.RdfDetails/05.UriProperties.html
@@ -22,7 +22,7 @@
 </p>
 <p>
 	In the following code, we're adding 2 new properties.
-	The first property is annotated with <ja>@BeanProperty</ja> to identify that this property is the resource 
+	The first property is annotated with <ja>@Beanp</ja> to identify that this property is the resource 
 	identifier for this bean.
 	The second un-annotated property is interpreted as a reference to another resource.
 </p>
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index 6c6ee45..d183b2f 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -46,7 +46,7 @@
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.TemplatedSwaps'>Templated Swaps</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.SurrogateClasses'>Surrogate Classes</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanAnnotation'>@Bean Annotation</a></p>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanPropertyAnnotation'>@BeanProperty Annotation</a></p>
+			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanpAnnotation'>@Beanp Annotation</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanConstructorAnnotation'>@BeanConstructor Annotation</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.BeanIgnoreAnnotation'>@BeanIgnore Annotation</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.Transforms.NamePropertyAnnotation'>@NameProperty Annotation</a></p>
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodBpiTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodBpiTest.java
index 9f23e92..2488371 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodBpiTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/RestMethodBpiTest.java
@@ -301,7 +301,7 @@
 
 	public static class MyBeanA {
 		public int a;
-		@BeanProperty("_b") public String b;
+		@Beanp("_b") public String b;
 
 		MyBeanA init() {
 			a = 1;
@@ -313,7 +313,7 @@
 	@Bean(properties="_b,a")
 	public static class MyBeanB {
 		public int a;
-		@BeanProperty("_b") public String b;
+		@Beanp("_b") public String b;
 
 		MyBeanB init() {
 			a = 1;