This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new c42b6baf73 org.apache.juneau.common.reflect API improvements
c42b6baf73 is described below

commit c42b6baf737da774776a6951b9c32cf142fa3e5d
Author: James Bognar <[email protected]>
AuthorDate: Mon Nov 24 07:38:45 2025 -0500

    org.apache.juneau.common.reflect API improvements
---
 .../common/annotation/AnnotationBuilder.java       | 77 ----------------------
 .../juneau/common/annotation/AnnotationImpl.java   | 69 ++++++++++++++++++-
 .../juneau/jena/annotation/RdfAnnotation.java      |  2 +-
 .../apache/juneau/annotation/BeanAnnotation.java   |  2 +-
 .../juneau/annotation/BeanIgnoreAnnotation.java    |  2 +-
 .../apache/juneau/annotation/BeancAnnotation.java  |  2 +-
 .../apache/juneau/annotation/BeanpAnnotation.java  |  2 +-
 .../juneau/annotation/ExampleAnnotation.java       |  2 +-
 .../juneau/annotation/ExternalDocsAnnotation.java  |  4 +-
 .../apache/juneau/annotation/ItemsAnnotation.java  |  4 +-
 .../juneau/annotation/MarshalledAnnotation.java    |  2 +-
 .../juneau/annotation/NamePropertyAnnotation.java  |  2 +-
 .../annotation/ParentPropertyAnnotation.java       |  2 +-
 .../apache/juneau/annotation/SchemaAnnotation.java |  2 +-
 .../juneau/annotation/SubItemsAnnotation.java      |  4 +-
 .../apache/juneau/annotation/SwapAnnotation.java   |  2 +-
 .../annotation/TargetedAnnotationBuilder.java      |  2 +-
 .../annotation/TargetedAnnotationCBuilder.java     |  2 +-
 .../annotation/TargetedAnnotationMBuilder.java     |  2 +-
 .../annotation/TargetedAnnotationMFBuilder.java    |  2 +-
 .../annotation/TargetedAnnotationTBuilder.java     |  2 +-
 .../annotation/TargetedAnnotationTMBuilder.java    |  2 +-
 .../annotation/TargetedAnnotationTMFBuilder.java   |  2 +-
 .../annotation/TargetedAnnotationTMFCBuilder.java  |  2 +-
 .../apache/juneau/annotation/UriAnnotation.java    |  2 +-
 .../juneau/csv/annotation/CsvAnnotation.java       |  2 +-
 .../juneau/html/annotation/HtmlAnnotation.java     |  2 +-
 .../juneau/html/annotation/HtmlLinkAnnotation.java |  2 +-
 .../juneau/http/annotation/ContactAnnotation.java  |  4 +-
 .../juneau/http/annotation/ContentAnnotation.java  |  2 +-
 .../juneau/http/annotation/FormDataAnnotation.java |  2 +-
 .../http/annotation/HasFormDataAnnotation.java     |  4 +-
 .../juneau/http/annotation/HasQueryAnnotation.java |  4 +-
 .../juneau/http/annotation/HeaderAnnotation.java   |  2 +-
 .../juneau/http/annotation/LicenseAnnotation.java  |  4 +-
 .../juneau/http/annotation/PathAnnotation.java     |  2 +-
 .../http/annotation/PathRemainderAnnotation.java   |  2 +-
 .../juneau/http/annotation/QueryAnnotation.java    |  2 +-
 .../juneau/http/annotation/RequestAnnotation.java  |  2 +-
 .../juneau/http/annotation/ResponseAnnotation.java |  2 +-
 .../http/annotation/StatusCodeAnnotation.java      |  2 +-
 .../juneau/http/annotation/TagAnnotation.java      |  4 +-
 .../juneau/json/annotation/JsonAnnotation.java     |  2 +-
 .../msgpack/annotation/MsgPackAnnotation.java      |  2 +-
 .../juneau/oapi/annotation/OpenApiAnnotation.java  |  2 +-
 .../plaintext/annotation/PlainTextAnnotation.java  |  2 +-
 .../juneau/soap/annotation/SoapXmlAnnotation.java  |  2 +-
 .../juneau/uon/annotation/UonAnnotation.java       |  2 +-
 .../annotation/UrlEncodingAnnotation.java          |  2 +-
 .../juneau/xml/annotation/XmlAnnotation.java       |  2 +-
 .../rest/annotation/OpSwaggerAnnotation.java       |  4 +-
 .../juneau/rest/annotation/RestAnnotation.java     |  2 +-
 .../rest/annotation/RestDeleteAnnotation.java      |  2 +-
 .../rest/annotation/RestDestroyAnnotation.java     |  2 +-
 .../rest/annotation/RestEndCallAnnotation.java     |  2 +-
 .../juneau/rest/annotation/RestGetAnnotation.java  |  2 +-
 .../juneau/rest/annotation/RestInitAnnotation.java |  2 +-
 .../rest/annotation/RestInjectAnnotation.java      |  2 +-
 .../juneau/rest/annotation/RestOpAnnotation.java   |  2 +-
 .../rest/annotation/RestOptionsAnnotation.java     |  2 +-
 .../rest/annotation/RestPatchAnnotation.java       |  2 +-
 .../juneau/rest/annotation/RestPostAnnotation.java |  2 +-
 .../rest/annotation/RestPostCallAnnotation.java    |  2 +-
 .../rest/annotation/RestPostInitAnnotation.java    |  2 +-
 .../rest/annotation/RestPreCallAnnotation.java     |  2 +-
 .../juneau/rest/annotation/RestPutAnnotation.java  |  2 +-
 .../rest/annotation/RestStartCallAnnotation.java   |  2 +-
 .../juneau/rest/annotation/SwaggerAnnotation.java  |  4 +-
 .../java/org/apache/juneau/ClassMeta_Test.java     |  1 -
 69 files changed, 143 insertions(+), 156 deletions(-)

diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationBuilder.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationBuilder.java
deleted file mode 100644
index 251bdbf9df..0000000000
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationBuilder.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * 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.common.annotation;
-
-import java.lang.annotation.*;
-
-/**
- * Builder for {@link AnnotationImpl} objects.
- *
- *
- * @param <B> The actual builder class.
- */
-public class AnnotationBuilder<B extends AnnotationBuilder<B>> {
-
-       Class<? extends Annotation> annotationType;
-       String[] description = {};
-
-       /**
-        * Constructor.
-        *
-        * @param annotationType The annotation type of the annotation 
implementation class.
-        */
-       public AnnotationBuilder(Class<? extends Annotation> annotationType) {
-               this.annotationType = annotationType;
-       }
-
-       /**
-        * Sets the {@link AnnotationImpl#description()} property on the target 
annotation.
-        *
-        * @param value The new value for this property.
-        * @return This object.
-        * @since 9.2.0
-        */
-       public B description(final String...value) {
-               this.description = value;
-               return asThis();
-       }
-
-       /**
-        * Returns this instance typed as {@code B}.
-        *
-        * @return this instance typed as {@code B}.
-        * @since 9.2.0
-        */
-       @SuppressWarnings("unchecked")
-       protected B asThis() {
-               return (B)this;
-       }
-
-       /**
-        * Returns the annotation type being built.
-        *
-        * @return The annotation type being built.
-        */
-       public Class<? extends Annotation> getAnnotationType() { return 
annotationType; }
-
-       /**
-        * Returns the description of this annotation builder.
-        *
-        * @return The description array, or <jk>null</jk> if not set.
-        */
-       public String[] getDescription() { return description; }
-}
\ No newline at end of file
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationImpl.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationImpl.java
index a1c9f6328b..eb2e71380c 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationImpl.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationImpl.java
@@ -41,6 +41,71 @@ import org.apache.juneau.common.utils.*;
  */
 public class AnnotationImpl implements Annotation {
 
+       
//-----------------------------------------------------------------------------------------------------------------
+       // Static
+       
//-----------------------------------------------------------------------------------------------------------------
+
+       /**
+        * Builder for {@link AnnotationImpl} objects.
+        *
+        * @param <B> The actual builder class.
+        */
+       public static class Builder<B> {
+
+               Class<? extends Annotation> annotationType;
+               String[] description = {};
+
+               /**
+                * Constructor.
+                *
+                * @param annotationType The annotation type of the annotation 
implementation class.
+                */
+               public Builder(Class<? extends Annotation> annotationType) {
+                       this.annotationType = annotationType;
+               }
+
+               /**
+                * Sets the {@link AnnotationImpl#description()} property on 
the target annotation.
+                *
+                * @param value The new value for this property.
+                * @return This object.
+                * @since 9.2.0
+                */
+               public B description(final String...value) {
+                       description = value;
+                       return asThis();
+               }
+
+               /**
+                * Returns this instance typed as {@code B}.
+                *
+                * @return this instance typed as {@code B}.
+                * @since 9.2.0
+                */
+               @SuppressWarnings("unchecked")
+               protected B asThis() {
+                       return (B)this;
+               }
+
+               /**
+                * Returns the annotation type being built.
+                *
+                * @return The annotation type being built.
+                */
+               public Class<? extends Annotation> getAnnotationType() { return 
annotationType; }
+
+               /**
+                * Returns the description of this annotation builder.
+                *
+                * @return The description array, or <jk>null</jk> if not set.
+                */
+               public String[] getDescription() { return description; }
+       }
+
+       
//-----------------------------------------------------------------------------------------------------------------
+       // Instance
+       
//-----------------------------------------------------------------------------------------------------------------
+
        private final Class<? extends Annotation> annotationType;
        private final String[] description;
        private int hashCode = -1;
@@ -50,7 +115,7 @@ public class AnnotationImpl implements Annotation {
         *
         * @param b The builder used to instantiate the fields of this class.
         */
-       public AnnotationImpl(AnnotationBuilder<?> b) {
+       public AnnotationImpl(Builder<?> b) {
                this.annotationType = b.getAnnotationType();
                this.description = copyOf(b.getDescription());
        }
@@ -117,6 +182,6 @@ public class AnnotationImpl implements Annotation {
         * This method must be called at the end of initialization to calculate 
the hashCode one time.
         */
        protected void postConstruct() {
-               this.hashCode = AnnotationUtils.hash(this);
+               hashCode = AnnotationUtils.hash(this);
        }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
index 949d2992c4..d4ce015975 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
@@ -210,7 +210,7 @@ public class RdfAnnotation {
                private final RdfCollectionFormat collectionFormat;
                private final String namespace, prefix;
 
-               Impl(Builder b) {
+               Impl(RdfAnnotation.Builder b) {
                        super(b);
                        this.beanUri = b.beanUri;
                        this.collectionFormat = b.collectionFormat;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
index 3779576075..a676942699 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
@@ -326,7 +326,7 @@ public class BeanAnnotation {
                private final Class<?>[] dictionary;
                private final String example, excludeProperties, p, properties, 
readOnlyProperties, ro, typeName, typePropertyName, wo, writeOnlyProperties, xp;
 
-               Impl(Builder b) {
+               Impl(BeanAnnotation.Builder b) {
                        super(b);
                        this.dictionary = copyOf(b.dictionary);
                        this.example = b.example;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
index 5428cb0d69..b19e77bbfa 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
@@ -100,7 +100,7 @@ public class BeanIgnoreAnnotation {
 
        private static class Impl extends TargetedAnnotationTImpl implements 
BeanIgnore {
 
-               Impl(Builder b) {
+               Impl(BeanIgnoreAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
index 315aceaa7b..f69d8dd26b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
@@ -115,7 +115,7 @@ public class BeancAnnotation {
 
                private String properties = "";
 
-               Impl(Builder b) {
+               Impl(BeancAnnotation.Builder b) {
                        super(b);
                        this.properties = b.properties;
                        postConstruct();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
index e62f2686d7..72afd47c36 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
@@ -207,7 +207,7 @@ public class BeanpAnnotation {
                private final Class<?>[] params, dictionary;
                private final String name, value, properties, format, ro, wo;
 
-               Impl(Builder b) {
+               Impl(BeanpAnnotation.Builder b) {
                        super(b);
                        this.dictionary = copyOf(b.dictionary);
                        this.format = b.format;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
index dab9a6547d..aca9ebcc2f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
@@ -115,7 +115,7 @@ public class ExampleAnnotation {
 
                private final String value;
 
-               Impl(Builder b) {
+               Impl(ExampleAnnotation.Builder b) {
                        super(b);
                        this.value = b.value;
                        postConstruct();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExternalDocsAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExternalDocsAnnotation.java
index 5ee49b2bec..72af7e4882 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExternalDocsAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExternalDocsAnnotation.java
@@ -38,7 +38,7 @@ public class ExternalDocsAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                String url = "";
 
@@ -75,7 +75,7 @@ public class ExternalDocsAnnotation {
 
                private final String url;
 
-               Impl(Builder b) {
+               Impl(ExternalDocsAnnotation.Builder b) {
                        super(b);
                        this.url = b.url;
                        postConstruct();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ItemsAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ItemsAnnotation.java
index 73a9c8c52f..0ae274d7ed 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ItemsAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ItemsAnnotation.java
@@ -34,7 +34,7 @@ public class ItemsAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                boolean emax, emin, exclusiveMaximum, exclusiveMinimum, ui, 
uniqueItems;
                long maxItems = -1, maxLength = -1, maxi = -1, maxl = -1, 
minItems = -1, minLength = -1, mini = -1, minl = -1;
@@ -442,7 +442,7 @@ public class ItemsAnnotation {
                private final String[] _default, _enum, df, e;
                private final SubItems items;
 
-               Impl(Builder b) {
+               Impl(ItemsAnnotation.Builder b) {
                        super(b);
                        this.$ref = b.$ref;
                        this._default = copyOf(b._default);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
index 9c0954ffdb..1ddcd31717 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
@@ -128,7 +128,7 @@ public class MarshalledAnnotation {
                private final Class<?> implClass;
                private final String example;
 
-               Impl(Builder b) {
+               Impl(MarshalledAnnotation.Builder b) {
                        super(b);
                        this.example = b.example;
                        this.implClass = b.implClass;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
index 577834a94b..910a7ef831 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
@@ -100,7 +100,7 @@ public class NamePropertyAnnotation {
 
        private static class Impl extends TargetedAnnotationImpl implements 
NameProperty {
 
-               Impl(Builder b) {
+               Impl(NamePropertyAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
index 3ce85096d2..2854421740 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
@@ -100,7 +100,7 @@ public class ParentPropertyAnnotation {
 
        private static class Impl extends TargetedAnnotationImpl implements 
ParentProperty {
 
-               Impl(Builder b) {
+               Impl(ParentPropertyAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
index 38f90aac4a..ead2c28c42 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
@@ -937,7 +937,7 @@ public class SchemaAnnotation {
                private final String $id, contentMediaType, contentEncoding, 
exclusiveMaximumValue, exclusiveMinimumValue;
                private final String[] _const, examples, $comment, prefixItems, 
unevaluatedItems, unevaluatedProperties, dependentSchemas, dependentRequired, 
_if, _then, _else, $defs;
 
-               Impl(Builder b) {
+               Impl(SchemaAnnotation.Builder b) {
                        super(b);
                        this.$ref = b.$ref;
                        this._default = copyOf(b._default);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
index 09b18af517..f529d0a310 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
@@ -40,7 +40,7 @@ public class SubItemsAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                String $ref = "", cf = "", collectionFormat = "", f = "", 
format = "", max = "", maximum = "", min = "", minimum = "", mo = "", 
multipleOf = "", p = "", pattern = "", t = "", type = "";
                long maxItems = -1, maxLength = -1, maxi = -1, maxl = -1, 
minItems = -1, minLength = -1, mini = -1, minl = -1;
@@ -446,7 +446,7 @@ public class SubItemsAnnotation {
                private final String $ref, cf, collectionFormat, f, format, 
max, maximum, min, minimum, mo, multipleOf, p, pattern, t, type;
                private final String[] _default, _enum, df, e, items;
 
-               Impl(Builder b) {
+               Impl(SubItemsAnnotation.Builder b) {
                        super(b);
                        this.$ref = b.$ref;
                        this._default = copyOf(b._default);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
index ea679a3e14..831a53fe0c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
@@ -153,7 +153,7 @@ public class SwapAnnotation {
                private final String template;
                private final String[] mediaTypes;
 
-               Impl(Builder b) {
+               Impl(SwapAnnotation.Builder b) {
                        super(b);
                        this.impl = b.impl;
                        this.mediaTypes = copyOf(b.mediaTypes);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationBuilder.java
index 425dc1e759..7b2be4292a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationBuilder.java
@@ -28,7 +28,7 @@ import org.apache.juneau.common.annotation.*;
  *
  * @param <B> The actual builder class.
  */
-public class TargetedAnnotationBuilder<B extends TargetedAnnotationBuilder<B>> 
extends AnnotationBuilder<B> {
+public class TargetedAnnotationBuilder<B> extends AnnotationImpl.Builder<B> {
 
        String[] on = {};
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationCBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationCBuilder.java
index 8e88fdb8a8..a26099cdf6 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationCBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationCBuilder.java
@@ -27,7 +27,7 @@ import java.lang.reflect.*;
  *
  * @param <B> The actual builder class.
  */
-public class TargetedAnnotationCBuilder<B extends 
TargetedAnnotationCBuilder<B>> extends TargetedAnnotationBuilder<B> {
+public class TargetedAnnotationCBuilder<B> extends 
TargetedAnnotationBuilder<B> {
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationMBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationMBuilder.java
index b394153b72..0827a48d23 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationMBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationMBuilder.java
@@ -27,7 +27,7 @@ import java.lang.reflect.*;
  *
  * @param <B> The actual builder class.
  */
-public class TargetedAnnotationMBuilder<B extends 
TargetedAnnotationMBuilder<B>> extends TargetedAnnotationBuilder<B> {
+public class TargetedAnnotationMBuilder<B> extends 
TargetedAnnotationBuilder<B> {
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationMFBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationMFBuilder.java
index 17d66fa317..8896fa1afa 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationMFBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationMFBuilder.java
@@ -27,7 +27,7 @@ import java.lang.reflect.*;
  *
  * @param <B> The actual builder class.
  */
-public class TargetedAnnotationMFBuilder<B extends 
TargetedAnnotationMFBuilder<B>> extends TargetedAnnotationBuilder<B> {
+public class TargetedAnnotationMFBuilder<B> extends 
TargetedAnnotationBuilder<B> {
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTBuilder.java
index 9920840f20..2acefc3121 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTBuilder.java
@@ -26,7 +26,7 @@ import java.lang.annotation.*;
  *
  * @param <B> The actual builder class.
  */
-public class TargetedAnnotationTBuilder<B extends 
TargetedAnnotationTBuilder<B>> extends TargetedAnnotationBuilder<B> {
+public class TargetedAnnotationTBuilder<B> extends 
TargetedAnnotationBuilder<B> {
 
        Class<?>[] onClass = {};
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMBuilder.java
index 8cff9d61d9..c107ea22c6 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMBuilder.java
@@ -27,7 +27,7 @@ import java.lang.reflect.*;
  *
  * @param <B> The actual builder class.
  */
-public class TargetedAnnotationTMBuilder<B extends 
TargetedAnnotationTMBuilder<B>> extends TargetedAnnotationTBuilder<B> {
+public class TargetedAnnotationTMBuilder<B> extends 
TargetedAnnotationTBuilder<B> {
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMFBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMFBuilder.java
index 19b0b38691..22faf5206b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMFBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMFBuilder.java
@@ -27,7 +27,7 @@ import java.lang.reflect.*;
  *
  * @param <B> The actual builder class.
  */
-public class TargetedAnnotationTMFBuilder<B extends 
TargetedAnnotationTMFBuilder<B>> extends TargetedAnnotationTBuilder<B> {
+public class TargetedAnnotationTMFBuilder<B> extends 
TargetedAnnotationTBuilder<B> {
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMFCBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMFCBuilder.java
index 54932b4c53..856d0b399c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMFCBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/TargetedAnnotationTMFCBuilder.java
@@ -27,7 +27,7 @@ import java.lang.reflect.*;
  *
  * @param <B> The actual builder class.
  */
-public class TargetedAnnotationTMFCBuilder<B extends 
TargetedAnnotationTMFCBuilder<B>> extends TargetedAnnotationTMFBuilder<B> {
+public class TargetedAnnotationTMFCBuilder<B> extends 
TargetedAnnotationTMFBuilder<B> {
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
index f651e7bb8a..9f1619b405 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
@@ -100,7 +100,7 @@ public class UriAnnotation {
 
        private static class Impl extends TargetedAnnotationTImpl implements 
Uri {
 
-               Impl(Builder b) {
+               Impl(UriAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
index d9a3b2efcb..645812ca48 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
@@ -101,7 +101,7 @@ public class CsvAnnotation {
 
        private static class Impl extends TargetedAnnotationTImpl implements 
Csv {
 
-               Impl(Builder b) {
+               Impl(CsvAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
index 57af8dfdaf..a76ee69c22 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
@@ -193,7 +193,7 @@ public class HtmlAnnotation {
                private final String anchorText, link, style;
                private HtmlFormat format;
 
-               Impl(Builder b) {
+               Impl(HtmlAnnotation.Builder b) {
                        super(b);
                        this.anchorText = b.anchorText;
                        this.format = b.format;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
index d8f68b96c8..c1f88bed40 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
@@ -130,7 +130,7 @@ public class HtmlLinkAnnotation {
 
                private final String nameProperty, uriProperty;
 
-               Impl(Builder b) {
+               Impl(HtmlLinkAnnotation.Builder b) {
                        super(b);
                        this.nameProperty = b.nameProperty;
                        this.uriProperty = b.uriProperty;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContactAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContactAnnotation.java
index 1042999b44..35e22c817a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContactAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContactAnnotation.java
@@ -32,7 +32,7 @@ public class ContactAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                String email = "", name = "", url = "";
 
@@ -91,7 +91,7 @@ public class ContactAnnotation {
 
                private final String email, name, url;
 
-               Impl(Builder b) {
+               Impl(ContactAnnotation.Builder b) {
                        super(b);
                        this.email = b.email;
                        this.name = b.name;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContentAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContentAnnotation.java
index a275b0df4c..0bd960e9bf 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContentAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContentAnnotation.java
@@ -143,7 +143,7 @@ public class ContentAnnotation {
                private final String[] description;
                private final Schema schema;
 
-               Impl(Builder b) {
+               Impl(ContentAnnotation.Builder b) {
                        super(b);
                        this.def = b.def;
                        this.description = b.description;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
index bc18389ad8..65a515d97f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
@@ -184,7 +184,7 @@ public class FormDataAnnotation {
                private final String name, value, def;
                private final Schema schema;
 
-               Impl(Builder b) {
+               Impl(FormDataAnnotation.Builder b) {
                        super(b);
                        this.def = b.def;
                        this.name = b.name;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormDataAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormDataAnnotation.java
index 54919aed91..8c156cd262 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormDataAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormDataAnnotation.java
@@ -32,7 +32,7 @@ public class HasFormDataAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                String name = "", value = "";
 
@@ -80,7 +80,7 @@ public class HasFormDataAnnotation {
 
                private final String name, value;
 
-               Impl(Builder b) {
+               Impl(HasFormDataAnnotation.Builder b) {
                        super(b);
                        this.name = b.name;
                        this.value = b.value;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQueryAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQueryAnnotation.java
index 5ca19b5f6d..237d01b711 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQueryAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQueryAnnotation.java
@@ -32,7 +32,7 @@ public class HasQueryAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                String name = "", value = "";
 
@@ -80,7 +80,7 @@ public class HasQueryAnnotation {
 
                private final String name, value;
 
-               Impl(Builder b) {
+               Impl(HasQueryAnnotation.Builder b) {
                        super(b);
                        this.name = b.name;
                        this.value = b.value;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
index e5926d350e..23664674f3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
@@ -184,7 +184,7 @@ public class HeaderAnnotation {
                private final String name, value, def;
                private final Schema schema;
 
-               Impl(Builder b) {
+               Impl(HeaderAnnotation.Builder b) {
                        super(b);
                        this.def = b.def;
                        this.name = b.name;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/LicenseAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/LicenseAnnotation.java
index 38c8676c7a..9bed7b6ecd 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/LicenseAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/LicenseAnnotation.java
@@ -32,7 +32,7 @@ public class LicenseAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                String name = "", url = "";
 
@@ -80,7 +80,7 @@ public class LicenseAnnotation {
 
                private final String name, url;
 
-               Impl(Builder b) {
+               Impl(LicenseAnnotation.Builder b) {
                        super(b);
                        this.name = b.name;
                        this.url = b.url;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
index df65fd33ae..e341367d0b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
@@ -185,7 +185,7 @@ public class PathAnnotation {
                private final String name, value, def;
                private final Schema schema;
 
-               Impl(Builder b) {
+               Impl(PathAnnotation.Builder b) {
                        super(b);
                        this.def = b.def;
                        this.name = b.name;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathRemainderAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathRemainderAnnotation.java
index 5f2b9d9b1e..044fa56d22 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathRemainderAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathRemainderAnnotation.java
@@ -180,7 +180,7 @@ public class PathRemainderAnnotation {
                private final String[] description;
                private final Schema schema;
 
-               Impl(Builder b) {
+               Impl(PathRemainderAnnotation.Builder b) {
                        super(b);
                        this.def = b.def;
                        this.description = copyOf(b.description);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
index 21bd2731b9..996e06e4b4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
@@ -184,7 +184,7 @@ public class QueryAnnotation {
                private final String name, value, def;
                private final Schema schema;
 
-               Impl(Builder b) {
+               Impl(QueryAnnotation.Builder b) {
                        super(b);
                        this.name = b.name;
                        this.parser = b.parser;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
index 961920d5af..02a8b44696 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
@@ -130,7 +130,7 @@ public class RequestAnnotation {
                private final Class<? extends HttpPartParser> parser;
                private final Class<? extends HttpPartSerializer> serializer;
 
-               Impl(Builder b) {
+               Impl(RequestAnnotation.Builder b) {
                        super(b);
                        this.parser = b.parser;
                        this.serializer = b.serializer;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
index 2dbf557f0c..ac0c9ca41c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
@@ -169,7 +169,7 @@ public class ResponseAnnotation {
                private final Schema schema;
                private final String[] examples;
 
-               Impl(Builder b) {
+               Impl(ResponseAnnotation.Builder b) {
                        super(b);
                        this.examples = copyOf(b.examples);
                        this.headers = copyOf(b.headers);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
index f1ae18ed5f..e40c209c6b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
@@ -117,7 +117,7 @@ public class StatusCodeAnnotation {
 
                private final int[] value;
 
-               Impl(Builder b) {
+               Impl(StatusCodeAnnotation.Builder b) {
                        super(b);
                        this.value = Arrays.copyOf(b.value, b.value.length);
                        postConstruct();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/TagAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/TagAnnotation.java
index b6d9d6b8a7..7fecb361d3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/TagAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/TagAnnotation.java
@@ -33,7 +33,7 @@ public class TagAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                ExternalDocs externalDocs = ExternalDocsAnnotation.DEFAULT;
                String name = "";
@@ -83,7 +83,7 @@ public class TagAnnotation {
                private final ExternalDocs externalDocs;
                private final String name;
 
-               Impl(Builder b) {
+               Impl(TagAnnotation.Builder b) {
                        super(b);
                        this.externalDocs = b.externalDocs;
                        this.name = b.name;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
index de85cc8851..bffffdd8d2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
@@ -119,7 +119,7 @@ public class JsonAnnotation {
 
                private final String wrapperAttr;
 
-               Impl(Builder b) {
+               Impl(JsonAnnotation.Builder b) {
                        super(b);
                        this.wrapperAttr = b.wrapperAttr;
                        postConstruct();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
index 0c5c04e5ce..db02cea78d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
@@ -104,7 +104,7 @@ public class MsgPackAnnotation {
 
        private static class Impl extends TargetedAnnotationTImpl implements 
MsgPack {
 
-               Impl(Builder b) {
+               Impl(MsgPackAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
index 6a7c00714e..e4a043ee03 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
@@ -104,7 +104,7 @@ public class OpenApiAnnotation {
 
        private static class Impl extends TargetedAnnotationTImpl implements 
OpenApi {
 
-               Impl(Builder b) {
+               Impl(OpenApiAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation.java
index a00562ba62..6edb1c48b9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation.java
@@ -101,7 +101,7 @@ public class PlainTextAnnotation {
 
        private static class Impl extends TargetedAnnotationTImpl implements 
PlainText {
 
-               Impl(Builder b) {
+               Impl(PlainTextAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation.java
index a78987890e..9491b3ae82 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation.java
@@ -101,7 +101,7 @@ public class SoapXmlAnnotation {
 
        private static class Impl extends TargetedAnnotationTImpl implements 
SoapXml {
 
-               Impl(Builder b) {
+               Impl(SoapXmlAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonAnnotation.java
index 32dec2063d..15b5ace3db 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonAnnotation.java
@@ -104,7 +104,7 @@ public class UonAnnotation {
 
        private static class Impl extends TargetedAnnotationTImpl implements 
Uon {
 
-               Impl(Builder b) {
+               Impl(UonAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.java
index b39cc70fec..fd91c924a3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.java
@@ -119,7 +119,7 @@ public class UrlEncodingAnnotation {
 
                private final boolean expandedParams;
 
-               Impl(Builder b) {
+               Impl(UrlEncodingAnnotation.Builder b) {
                        super(b);
                        this.expandedParams = b.expandedParams;
                        postConstruct();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlAnnotation.java
index 68679af203..a4c5052f82 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlAnnotation.java
@@ -154,7 +154,7 @@ public class XmlAnnotation {
                private final String childName, namespace, prefix;
                private final XmlFormat format;
 
-               Impl(Builder b) {
+               Impl(XmlAnnotation.Builder b) {
                        super(b);
                        this.childName = b.childName;
                        this.format = b.format;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation.java
index 99f3fd2fa3..c9d7bed340 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation.java
@@ -38,7 +38,7 @@ public class OpSwaggerAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                ExternalDocs externalDocs = ExternalDocsAnnotation.DEFAULT;
                String deprecated = "", operationId = "";
@@ -189,7 +189,7 @@ public class OpSwaggerAnnotation {
                private final String deprecated, operationId;
                private final String[] consumes, parameters, produces, 
responses, schemes, summary, tags, value;
 
-               Impl(Builder b) {
+               Impl(OpSwaggerAnnotation.Builder b) {
                        super(b);
                        this.consumes = copyOf(b.consumes);
                        this.deprecated = b.deprecated;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
index bf45871b68..e0e750216f 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
@@ -726,7 +726,7 @@ public class RestAnnotation {
                private final Path[] pathParams;
                private final FormData[] formDataParams;
 
-               Impl(Builder b) {
+               Impl(RestAnnotation.Builder b) {
                        super(b);
                        this.disableContentParam = b.disableContentParam;
                        this.allowedHeaderParams = b.allowedHeaderParams;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
index 21d71d3d00..79eb4ff6c2 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
@@ -312,7 +312,7 @@ public class RestDeleteAnnotation {
                private final String clientVersion, debug, defaultAccept, 
defaultCharset, rolesDeclared, roleGuard, summary, value;
                private final String[] defaultRequestQueryData, 
defaultRequestAttributes, defaultRequestHeaders, defaultResponseHeaders, path;
 
-               Impl(Builder b) {
+               Impl(RestDeleteAnnotation.Builder b) {
                        super(b);
                        this.clientVersion = b.clientVersion;
                        this.debug = b.debug;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation.java
index 920f0ddc01..cb38649586 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation.java
@@ -77,7 +77,7 @@ public class RestDestroyAnnotation {
 
        private static class Impl extends TargetedAnnotationImpl implements 
RestDestroy {
 
-               Impl(Builder b) {
+               Impl(RestDestroyAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation.java
index 5f20c6ac48..79e679abc2 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation.java
@@ -77,7 +77,7 @@ public class RestEndCallAnnotation {
 
        private static class Impl extends TargetedAnnotationImpl implements 
RestEndCall {
 
-               Impl(Builder b) {
+               Impl(RestEndCallAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
index 5cce4d366d..dbfde58a71 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
@@ -356,7 +356,7 @@ public class RestGetAnnotation {
                private final String clientVersion, debug, defaultAccept, 
defaultCharset, rolesDeclared, roleGuard, summary, value;
                private final String[] defaultRequestQueryData, 
defaultRequestAttributes, defaultRequestHeaders, defaultResponseHeaders, path, 
produces;
 
-               Impl(Builder b) {
+               Impl(RestGetAnnotation.Builder b) {
                        super(b);
                        this.clientVersion = b.clientVersion;
                        this.converters = copyOf(b.converters);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInitAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInitAnnotation.java
index 04dc5aeecb..de815d5ba7 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInitAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInitAnnotation.java
@@ -77,7 +77,7 @@ public class RestInitAnnotation {
 
        private static class Impl extends TargetedAnnotationImpl implements 
RestInit {
 
-               Impl(Builder b) {
+               Impl(RestInitAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInjectAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInjectAnnotation.java
index 717caaad80..db81d78959 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInjectAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInjectAnnotation.java
@@ -113,7 +113,7 @@ public class RestInjectAnnotation {
                private final String name, value;
                private final String[] methodScope;
 
-               Impl(Builder b) {
+               Impl(RestInjectAnnotation.Builder b) {
                        super(b);
                        this.name = b.name;
                        this.value = b.value;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
index 62cd179fd2..92f54dc5ed 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
@@ -444,7 +444,7 @@ public class RestOpAnnotation {
                private final String clientVersion, debug, defaultAccept, 
defaultCharset, defaultContentType, maxInput, method, rolesDeclared, roleGuard, 
summary, value;
                private final String[] consumes, defaultRequestFormData, 
defaultRequestQueryData, defaultRequestAttributes, defaultRequestHeaders, 
defaultResponseHeaders, path, produces;
 
-               Impl(Builder b) {
+               Impl(RestOpAnnotation.Builder b) {
                        super(b);
                        this.clientVersion = b.clientVersion;
                        this.consumes = copyOf(b.consumes);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOptionsAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOptionsAnnotation.java
index 2df561f86c..c8b97b191d 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOptionsAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOptionsAnnotation.java
@@ -356,7 +356,7 @@ public class RestOptionsAnnotation {
                private final String clientVersion, debug, defaultAccept, 
defaultCharset, rolesDeclared, roleGuard, summary, value;
                private final String[] defaultRequestQueryData, 
defaultRequestAttributes, defaultRequestHeaders, defaultResponseHeaders, path, 
produces;
 
-               Impl(Builder b) {
+               Impl(RestOptionsAnnotation.Builder b) {
                        super(b);
                        this.clientVersion = b.clientVersion;
                        this.converters = copyOf(b.converters);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPatchAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPatchAnnotation.java
index 5dbc8d1ecb..8ac43ce929 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPatchAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPatchAnnotation.java
@@ -419,7 +419,7 @@ public class RestPatchAnnotation {
                private final String clientVersion, debug, defaultAccept, 
defaultCharset, defaultContentType, maxInput, rolesDeclared, roleGuard, 
summary, value;
                private final String[] consumes, defaultRequestFormData, 
defaultRequestQueryData, defaultRequestAttributes, defaultRequestHeaders, 
defaultResponseHeaders, path, produces;
 
-               Impl(Builder b) {
+               Impl(RestPatchAnnotation.Builder b) {
                        super(b);
                        this.clientVersion = b.clientVersion;
                        this.consumes = copyOf(b.consumes);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
index 63c75d4c34..3acfccb1a7 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
@@ -419,7 +419,7 @@ public class RestPostAnnotation {
                private final String clientVersion, debug, defaultAccept, 
defaultCharset, defaultContentType, maxInput, rolesDeclared, roleGuard, 
summary, value;
                private final String[] consumes, defaultRequestFormData, 
defaultRequestQueryData, defaultRequestAttributes, defaultRequestHeaders, 
defaultResponseHeaders, path, produces;
 
-               Impl(Builder b) {
+               Impl(RestPostAnnotation.Builder b) {
                        super(b);
                        this.clientVersion = b.clientVersion;
                        this.consumes = copyOf(b.consumes);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation.java
index 8ed059623a..590c29b869 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation.java
@@ -77,7 +77,7 @@ public class RestPostCallAnnotation {
 
        private static class Impl extends TargetedAnnotationImpl implements 
RestPostCall {
 
-               Impl(Builder b) {
+               Impl(RestPostCallAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation.java
index 7a4d80aa87..3edca7210b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation.java
@@ -91,7 +91,7 @@ public class RestPostInitAnnotation {
 
                private final boolean childFirst;
 
-               Impl(Builder b) {
+               Impl(RestPostInitAnnotation.Builder b) {
                        super(b);
                        this.childFirst = b.childFirst;
                        postConstruct();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation.java
index 9f603f83c7..b72f94e4e3 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation.java
@@ -77,7 +77,7 @@ public class RestPreCallAnnotation {
 
        private static class Impl extends TargetedAnnotationImpl implements 
RestPreCall {
 
-               Impl(Builder b) {
+               Impl(RestPreCallAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
index 782cbd7134..f8a8f04251 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
@@ -419,7 +419,7 @@ public class RestPutAnnotation {
                private final String clientVersion, debug, defaultAccept, 
defaultCharset, defaultContentType, maxInput, rolesDeclared, roleGuard, 
summary, value;
                private final String[] consumes, defaultRequestFormData, 
defaultRequestQueryData, defaultRequestAttributes, defaultRequestHeaders, 
defaultResponseHeaders, path, produces;
 
-               Impl(Builder b) {
+               Impl(RestPutAnnotation.Builder b) {
                        super(b);
                        this.clientVersion = b.clientVersion;
                        this.consumes = copyOf(b.consumes);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation.java
index 91907a4640..224f59e61a 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation.java
@@ -77,7 +77,7 @@ public class RestStartCallAnnotation {
 
        private static class Impl extends TargetedAnnotationImpl implements 
RestStartCall {
 
-               Impl(Builder b) {
+               Impl(RestStartCallAnnotation.Builder b) {
                        super(b);
                        postConstruct();
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/SwaggerAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/SwaggerAnnotation.java
index 4e725d1c8c..cbce21ee70 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/SwaggerAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/SwaggerAnnotation.java
@@ -39,7 +39,7 @@ public class SwaggerAnnotation {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}
         * </ul>
         */
-       public static class Builder extends AnnotationBuilder<Builder> {
+       public static class Builder extends AnnotationImpl.Builder<Builder> {
 
                Contact contact = ContactAnnotation.DEFAULT;
                ExternalDocs externalDocs = ExternalDocsAnnotation.DEFAULT;
@@ -163,7 +163,7 @@ public class SwaggerAnnotation {
                private final String[] termsOfService, title, value;
                private final Tag[] tags;
 
-               Impl(Builder b) {
+               Impl(SwaggerAnnotation.Builder b) {
                        super(b);
                        this.contact = b.contact;
                        this.externalDocs = b.externalDocs;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/ClassMeta_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/ClassMeta_Test.java
index c6af629f51..7d2b896195 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/ClassMeta_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/ClassMeta_Test.java
@@ -292,7 +292,6 @@ class ClassMeta_Test extends TestBase {
 
                var l1 = list();
                c3.forEachAnnotation(A.class, null, x -> l1.add(x.value()));
-               System.err.println(l1);
                assertList(l1, "7", "6", "3", "5", "1", "2");
 
                var l2 = list();

Reply via email to