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 267ead0928 Moving schema annotations into juneau-common
267ead0928 is described below

commit 267ead092899acd9a7d5cc0b9d8910e0b3f04fd3
Author: James Bognar <[email protected]>
AuthorDate: Tue Apr 14 08:25:41 2026 -0400

    Moving schema annotations into juneau-common
---
 .../org/apache/juneau/jena/annotation/Rdf.java     |  1 -
 .../juneau/jena/annotation/RdfAnnotation.java      | 20 -------
 .../java/org/apache/juneau/annotation/Bean.java    |  3 +-
 .../apache/juneau/annotation/BeanAnnotation.java   | 19 ------
 .../org/apache/juneau/annotation/BeanIgnore.java   |  1 -
 .../juneau/annotation/BeanIgnoreAnnotation.java    | 19 ------
 .../java/org/apache/juneau/annotation/Beanc.java   |  3 +-
 .../apache/juneau/annotation/BeancAnnotation.java  | 19 ------
 .../java/org/apache/juneau/annotation/Beanp.java   |  3 +-
 .../apache/juneau/annotation/BeanpAnnotation.java  | 19 ------
 .../java/org/apache/juneau/annotation/Example.java |  1 -
 .../juneau/annotation/ExampleAnnotation.java       | 19 ------
 .../org/apache/juneau/annotation/Marshalled.java   |  3 +-
 .../juneau/annotation/MarshalledAnnotation.java    | 19 ------
 .../org/apache/juneau/annotation/NameProperty.java |  3 +-
 .../juneau/annotation/NamePropertyAnnotation.java  | 19 ------
 .../apache/juneau/annotation/ParentProperty.java   |  3 +-
 .../annotation/ParentPropertyAnnotation.java       | 19 ------
 .../apache/juneau/annotation/SwapAnnotation.java   |  2 +-
 .../java/org/apache/juneau/annotation/Uri.java     |  1 -
 .../apache/juneau/annotation/UriAnnotation.java    | 19 ------
 .../org/apache/juneau/bson/annotation/Bson.java    |  1 -
 .../juneau/bson/annotation/BsonAnnotation.java     | 22 -------
 .../org/apache/juneau/cbor/annotation/Cbor.java    |  1 -
 .../juneau/cbor/annotation/CborAnnotation.java     | 20 -------
 .../java/org/apache/juneau/csv/annotation/Csv.java |  1 -
 .../juneau/csv/annotation/CsvAnnotation.java       | 12 ----
 .../org/apache/juneau/hjson/annotation/Hjson.java  |  1 -
 .../juneau/hjson/annotation/HjsonAnnotation.java   | 19 ------
 .../org/apache/juneau/hocon/annotation/Hocon.java  |  1 -
 .../juneau/hocon/annotation/HoconAnnotation.java   | 19 ------
 .../org/apache/juneau/html/annotation/Html.java    |  1 -
 .../juneau/html/annotation/HtmlAnnotation.java     | 20 -------
 .../apache/juneau/html/annotation/HtmlLink.java    |  3 +-
 .../juneau/html/annotation/HtmlLinkAnnotation.java | 19 ------
 .../java/org/apache/juneau/ini/annotation/Ini.java |  1 -
 .../juneau/ini/annotation/IniAnnotation.java       | 19 ------
 .../org/apache/juneau/json/annotation/Json.java    |  1 -
 .../juneau/json/annotation/JsonAnnotation.java     | 19 ------
 .../juneau/markdown/annotation/Markdown.java       |  1 -
 .../markdown/annotation/MarkdownAnnotation.java    | 19 ------
 .../apache/juneau/msgpack/annotation/MsgPack.java  |  1 -
 .../msgpack/annotation/MsgPackAnnotation.java      | 20 -------
 .../org/apache/juneau/oapi/annotation/OpenApi.java |  1 -
 .../juneau/oapi/annotation/OpenApiAnnotation.java  | 20 -------
 .../apache/juneau/parquet/annotation/Parquet.java  |  1 -
 .../parquet/annotation/ParquetAnnotation.java      | 19 ------
 .../juneau/plaintext/annotation/PlainText.java     |  1 -
 .../plaintext/annotation/PlainTextAnnotation.java  | 20 -------
 .../org/apache/juneau/proto/annotation/Proto.java  |  1 -
 .../juneau/proto/annotation/ProtoAnnotation.java   | 20 -------
 .../org/apache/juneau/soap/annotation/SoapXml.java |  1 -
 .../juneau/soap/annotation/SoapXmlAnnotation.java  | 12 ----
 .../java/org/apache/juneau/uon/annotation/Uon.java |  1 -
 .../juneau/uon/annotation/UonAnnotation.java       | 12 ----
 .../juneau/urlencoding/annotation/UrlEncoding.java |  1 -
 .../annotation/UrlEncodingAnnotation.java          | 20 -------
 .../java/org/apache/juneau/xml/annotation/Xml.java |  1 -
 .../juneau/xml/annotation/XmlAnnotation.java       | 20 -------
 .../apache/juneau/rest/annotation/RestDestroy.java |  3 +-
 .../rest/annotation/RestDestroyAnnotation.java     | 19 ------
 .../apache/juneau/rest/annotation/RestEndCall.java |  3 +-
 .../rest/annotation/RestEndCallAnnotation.java     | 19 ------
 .../apache/juneau/rest/annotation/RestInit.java    |  3 +-
 .../juneau/rest/annotation/RestInitAnnotation.java | 19 ------
 .../juneau/rest/annotation/RestPostCall.java       |  3 +-
 .../rest/annotation/RestPostCallAnnotation.java    | 19 ------
 .../juneau/rest/annotation/RestPostInit.java       |  3 +-
 .../rest/annotation/RestPostInitAnnotation.java    | 19 ------
 .../apache/juneau/rest/annotation/RestPreCall.java |  3 +-
 .../rest/annotation/RestPreCallAnnotation.java     | 19 ------
 .../juneau/rest/annotation/RestStartCall.java      |  3 +-
 .../rest/annotation/RestStartCallAnnotation.java   | 19 ------
 .../juneau/annotation/BeancAnnotation_Test.java    | 36 +++++++----
 .../juneau/annotation/BeanpAnnotation_Test.java    | 70 +++++++++++++---------
 .../annotation/NamePropertyAnnotation_Test.java    | 34 +++++++----
 .../annotation/ParentPropertyAnnotation_Test.java  | 34 +++++++----
 .../annotation/RestDestroyAnnotation_Test.java     | 32 ++++++----
 .../annotation/RestEndCallAnnotation_Test.java     | 32 ++++++----
 .../rest/annotation/RestInitAnnotation_Test.java   | 32 ++++++----
 .../annotation/RestPostCallAnnotation_Test.java    | 32 ++++++----
 .../annotation/RestPostInitAnnotation_Test.java    | 36 +++++++----
 .../annotation/RestPreCallAnnotation_Test.java     | 32 ++++++----
 .../annotation/RestStartCallAnnotation_Test.java   | 32 ++++++----
 84 files changed, 282 insertions(+), 861 deletions(-)

diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
index 99802926fe..d441db4995 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
@@ -47,7 +47,6 @@ import org.apache.juneau.jena.*;
 @Target({ PACKAGE, TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(RdfAnnotation.Array.class)
 public @interface Rdf {
 
        /**
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 af2eadfd13..e1640db247 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
@@ -16,9 +16,6 @@
  */
 package org.apache.juneau.jena.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
 import java.lang.annotation.*;
 
 import org.apache.juneau.commons.annotation.*;
@@ -35,23 +32,6 @@ public class RdfAnnotation {
 
        private RdfAnnotation() {}
 
-       /**
-        * A collection of {@link Rdf @Rdf annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Rdf[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
index b6f2752fb4..6da088206b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
@@ -41,10 +41,9 @@ import org.apache.juneau.swap.*;
  * </ul>
  */
 @Documented
-@Target({ METHOD, TYPE })
+@Target({ TYPE })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(BeanAnnotation.Array.class)
 @SuppressWarnings({
        "java:S1452"  // Wildcard required - Class<? extends 
BeanInterceptor<?>> for interceptor definition
 })
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 df61e62ce7..714e05ec17 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -38,23 +36,6 @@ public class BeanAnnotation {
         */
        private BeanAnnotation() {}
 
-       /**
-        * A collection of {@link Bean @Bean annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Bean[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
index 007552562e..c1751cfaa1 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
@@ -54,7 +54,6 @@ import org.apache.juneau.commons.reflect.Visibility;
 @Target({ FIELD, METHOD, TYPE, CONSTRUCTOR })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(BeanIgnoreAnnotation.Array.class)
 public @interface BeanIgnore {
 
        /**
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 d28360afc5..e9949feb84 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -35,23 +33,6 @@ public class BeanIgnoreAnnotation {
         */
        private BeanIgnoreAnnotation() {}
 
-       /**
-        * A collection of {@link BeanIgnore @BeanIgnore annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               BeanIgnore[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanc.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanc.java
index 750f802fdd..c1da46ae5a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanc.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanc.java
@@ -65,10 +65,9 @@ import org.apache.juneau.*;
  * </ul>
  */
 @Documented
-@Target({ METHOD, TYPE, CONSTRUCTOR })
+@Target({ CONSTRUCTOR })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(BeancAnnotation.Array.class)
 public @interface Beanc {
 
        /**
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 48729e4561..03392b5d96 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -35,23 +33,6 @@ public class BeancAnnotation {
         */
        private BeancAnnotation() {}
 
-       /**
-        * A collection of {@link Beanc @Beanc annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Beanc[] value();
-       }
-
        /**
         * Builder class.
         *
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
index 1463d73160..50675302d2 100644
--- 
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
@@ -43,10 +43,9 @@ import org.apache.juneau.commons.reflect.Visibility;
  * </ul>
  */
 @Documented
-@Target({ FIELD, METHOD, PARAMETER, TYPE })
+@Target({ FIELD, METHOD, PARAMETER })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(BeanpAnnotation.Array.class)
 public @interface Beanp {
 
        /**
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 c6ab3f5704..a2bae2f15b 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -36,23 +34,6 @@ public class BeanpAnnotation {
         */
        private BeanpAnnotation() {}
 
-       /**
-        * A collection of {@link Beanp @Beanp annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Beanp[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Example.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Example.java
index 6cc65482a9..8bca38e172 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Example.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Example.java
@@ -65,7 +65,6 @@ import java.lang.annotation.*;
 @Target({ FIELD, METHOD, TYPE })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(ExampleAnnotation.Array.class)
 public @interface Example {
 
        /**
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 d7ffd625d0..5a41ee0618 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -35,23 +33,6 @@ public class ExampleAnnotation {
         */
        private ExampleAnnotation() {}
 
-       /**
-        * A collection of {@link Example @Example annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Example[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
index ef53441584..54b94074ed 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
@@ -39,10 +39,9 @@ import org.apache.juneau.*;
  *
  */
 @Documented
-@Target({ METHOD, TYPE })
+@Target({ TYPE })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(MarshalledAnnotation.Array.class)
 public @interface Marshalled {
 
        /**
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 8f2def1f35..4acfe47db2 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -35,23 +33,6 @@ public class MarshalledAnnotation {
         */
        private MarshalledAnnotation() {}
 
-       /**
-        * A collection of {@link Marshalled @Marshalled annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Marshalled[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NameProperty.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NameProperty.java
index 8d4ad5b7ba..d9ad5331e2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NameProperty.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NameProperty.java
@@ -85,10 +85,9 @@ import java.lang.annotation.*;
 
  * </ul>
  */
-@Target({ METHOD, FIELD, TYPE })
+@Target({ METHOD, FIELD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(NamePropertyAnnotation.Array.class)
 public @interface NameProperty {
 
        /**
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 003ea13691..de1acf0835 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -35,23 +33,6 @@ public class NamePropertyAnnotation {
         */
        private NamePropertyAnnotation() {}
 
-       /**
-        * A collection of {@link NameProperty @NameProperty annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               NameProperty[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentProperty.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentProperty.java
index 8c9600247f..0de732cbb4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentProperty.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentProperty.java
@@ -84,10 +84,9 @@ import java.lang.annotation.*;
 
  * </ul>
  */
-@Target({ METHOD, FIELD, TYPE })
+@Target({ METHOD, FIELD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(ParentPropertyAnnotation.Array.class)
 public @interface ParentProperty {
 
        /**
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 ef099008db..bf0ceeab7c 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -35,23 +33,6 @@ public class ParentPropertyAnnotation {
         */
        private ParentPropertyAnnotation() {}
 
-       /**
-        * A collection of {@link ParentProperty @ParentProperty annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               ParentProperty[] value();
-       }
-
        /**
         * Builder class.
         *
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 4385f4ed25..b083f90a50 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
@@ -39,7 +39,7 @@ public class SwapAnnotation {
         * A collection of {@link Swap @Swap annotations}.
         */
        @Documented
-       @Target({ METHOD, TYPE })
+       @Target({ TYPE, ANNOTATION_TYPE, FIELD, METHOD })
        @Retention(RUNTIME)
        @Inherited
        public static @interface Array {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Uri.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Uri.java
index 94f4f90057..023ee0cfd5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Uri.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Uri.java
@@ -44,7 +44,6 @@ import java.lang.annotation.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(UriAnnotation.Array.class)
 public @interface Uri {
 
        /**
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 fbe5c0b123..3b58ffc898 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -35,23 +33,6 @@ public class UriAnnotation {
         */
        private UriAnnotation() {}
 
-       /**
-        * A collection of {@link Uri @Uri annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Uri[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/bson/annotation/Bson.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/bson/annotation/Bson.java
index 576e50dc11..f7191e674c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/bson/annotation/Bson.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/bson/annotation/Bson.java
@@ -40,7 +40,6 @@ import org.apache.juneau.bson.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(BsonAnnotation.Array.class)
 public @interface Bson {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/bson/annotation/BsonAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/bson/annotation/BsonAnnotation.java
index 1d68d4a5ab..ebb1b77ad0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/bson/annotation/BsonAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/bson/annotation/BsonAnnotation.java
@@ -16,12 +16,8 @@
  */
 package org.apache.juneau.bson.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -37,24 +33,6 @@ public class BsonAnnotation {
         * Prevents instantiation.
         */
        private BsonAnnotation() {}
-
-       /**
-        * A collection of {@link Bson @Bson} annotations.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Bson[] value();
-       }
-
        /**
         * Builder class.
         */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cbor/annotation/Cbor.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cbor/annotation/Cbor.java
index 7d52561ce4..9d452a4a97 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cbor/annotation/Cbor.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cbor/annotation/Cbor.java
@@ -40,7 +40,6 @@ import org.apache.juneau.cbor.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(CborAnnotation.Array.class)
 public @interface Cbor {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cbor/annotation/CborAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cbor/annotation/CborAnnotation.java
index 2cec593942..d866cd7cf2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cbor/annotation/CborAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cbor/annotation/CborAnnotation.java
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.cbor.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -37,24 +35,6 @@ public class CborAnnotation {
         * Prevents instantiation.
         */
        private CborAnnotation() {}
-
-       /**
-        * A collection of {@link Cbor @Cbor} annotations.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Cbor[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
index 6b2448e98a..7aca2260b2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
@@ -38,7 +38,6 @@ import org.apache.juneau.csv.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(CsvAnnotation.Array.class)
 public @interface Csv {
 
        /**
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 95a5d1faa4..28560f6602 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
@@ -16,12 +16,8 @@
  */
 package org.apache.juneau.csv.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -32,14 +28,6 @@ public class CsvAnnotation {
 
        private CsvAnnotation() {}
 
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-               Csv[] value();
-       }
-
        public static class Builder extends AnnotationObject.Builder {
 
                private String[] description = {};
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/annotation/Hjson.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/annotation/Hjson.java
index 7a7bc88d6b..ad00c815a2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/annotation/Hjson.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/annotation/Hjson.java
@@ -38,6 +38,5 @@ import java.lang.annotation.*;
 @Target({ TYPE, METHOD, FIELD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(HjsonAnnotation.Array.class)
 public @interface Hjson {
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/annotation/HjsonAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/annotation/HjsonAnnotation.java
index 6b54d4ade5..c769f17e96 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/annotation/HjsonAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hjson/annotation/HjsonAnnotation.java
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.hjson.annotation;
 
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -25,23 +23,6 @@ import org.apache.juneau.commons.annotation.*;
  */
 public class HjsonAnnotation {
 
-       /**
-        * A collection of {@link Hjson} annotations.
-        */
-       @Documented
-       @Target({ java.lang.annotation.ElementType.TYPE, 
java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD 
})
-       @Retention(RetentionPolicy.RUNTIME)
-       @Inherited
-       public @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Hjson[] value();
-       }
-
        private static class Object extends AnnotationObject implements Hjson {
                Object() {
                        super(new AnnotationObject.Builder(Hjson.class));
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hocon/annotation/Hocon.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hocon/annotation/Hocon.java
index 0358420571..cfaed12c44 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hocon/annotation/Hocon.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hocon/annotation/Hocon.java
@@ -38,6 +38,5 @@ import java.lang.annotation.*;
 @Target({ TYPE, METHOD, FIELD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(HoconAnnotation.Array.class)
 public @interface Hocon {
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hocon/annotation/HoconAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hocon/annotation/HoconAnnotation.java
index 5ba3147220..26fe0f8c4e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hocon/annotation/HoconAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/hocon/annotation/HoconAnnotation.java
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.hocon.annotation;
 
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -25,23 +23,6 @@ import org.apache.juneau.commons.annotation.*;
  */
 public class HoconAnnotation {
 
-       /**
-        * A collection of {@link Hocon} annotations.
-        */
-       @Documented
-       @Target({ java.lang.annotation.ElementType.TYPE, 
java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD 
})
-       @Retention(RetentionPolicy.RUNTIME)
-       @Inherited
-       public @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Hocon[] value();
-       }
-
        private static class Object extends AnnotationObject implements Hocon {
                Object() {
                        super(new AnnotationObject.Builder(Hocon.class));
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
index fe7d4fa313..a6bcc2ccc3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
@@ -42,7 +42,6 @@ import org.apache.juneau.html.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(HtmlAnnotation.Array.class)
 public @interface Html {
 
        /**
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 71d379c00e..0ae6ab7144 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.html.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -41,24 +39,6 @@ public class HtmlAnnotation {
         * Prevents instantiation.
         */
        private HtmlAnnotation() {}
-
-       /**
-        * A collection of {@link Html @Html annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Html[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
index 8044332f9e..07f02e4861 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
@@ -49,10 +49,9 @@ import org.apache.juneau.html.*;
  * </ul>
  */
 @Documented
-@Target({ TYPE, METHOD })
+@Target({ TYPE })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(HtmlLinkAnnotation.Array.class)
 public @interface HtmlLink {
 
        /**
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 83f953c2f5..e1ccf825ed 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.html.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -38,23 +36,6 @@ public class HtmlLinkAnnotation {
         */
        private HtmlLinkAnnotation() {}
 
-       /**
-        * A collection of {@link HtmlLink @HtmlLink annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               HtmlLink[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ini/annotation/Ini.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ini/annotation/Ini.java
index e91ed92867..9025ab0301 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ini/annotation/Ini.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ini/annotation/Ini.java
@@ -34,7 +34,6 @@ import java.lang.annotation.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(IniAnnotation.Array.class)
 public @interface Ini {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ini/annotation/IniAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ini/annotation/IniAnnotation.java
index 8c415c08fe..b572b24229 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ini/annotation/IniAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ini/annotation/IniAnnotation.java
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.ini.annotation;
 
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -25,23 +23,6 @@ import org.apache.juneau.commons.annotation.*;
  */
 public class IniAnnotation {
 
-       /**
-        * A collection of {@link Ini} annotations.
-        */
-       @Documented
-       @Target({ java.lang.annotation.ElementType.TYPE, 
java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD 
})
-       @Retention(RetentionPolicy.RUNTIME)
-       @Inherited
-       public @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Ini[] value();
-       }
-
        @SuppressWarnings({
                "java:S2160" // equals() inherited from AnnotationObject 
compares all annotation interface methods; subclass fields are accessed via 
those methods
        })
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
index b6fd731a93..c3b2fdf4e1 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
@@ -47,7 +47,6 @@ import java.lang.annotation.*;
 @Target({ TYPE, METHOD, FIELD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(JsonAnnotation.Array.class)
 public @interface Json {
 
        /**
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 575cf2074f..5b9d7ebed1 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.json.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -38,23 +36,6 @@ public class JsonAnnotation {
         */
        private JsonAnnotation() {}
 
-       /**
-        * A collection of {@link Json @Json annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Json[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/markdown/annotation/Markdown.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/markdown/annotation/Markdown.java
index 0ef6a466db..9ded84c3b4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/markdown/annotation/Markdown.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/markdown/annotation/Markdown.java
@@ -35,7 +35,6 @@ import java.lang.annotation.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(MarkdownAnnotation.Array.class)
 public @interface Markdown {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/markdown/annotation/MarkdownAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/markdown/annotation/MarkdownAnnotation.java
index 2af8fe483e..b0e741744b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/markdown/annotation/MarkdownAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/markdown/annotation/MarkdownAnnotation.java
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.markdown.annotation;
 
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -26,23 +24,6 @@ import org.apache.juneau.commons.annotation.*;
  */
 public class MarkdownAnnotation {
 
-       /**
-        * A collection of {@link Markdown} annotations.
-        */
-       @Documented
-       @Target({ java.lang.annotation.ElementType.TYPE, 
java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD 
})
-       @Retention(RetentionPolicy.RUNTIME)
-       @Inherited
-       public @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Markdown[] value();
-       }
-
        @SuppressWarnings({
                "java:S2160" // equals() inherited from AnnotationObject 
compares all annotation interface methods; subclass fields are accessed via 
those methods
        })
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
index ff987f619e..fbe7d824ff 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
@@ -41,7 +41,6 @@ import org.apache.juneau.msgpack.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(MsgPackAnnotation.Array.class)
 public @interface MsgPack {
 
        /**
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 9bcad5c2a9..531060e411 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.msgpack.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -37,24 +35,6 @@ public class MsgPackAnnotation {
         * Prevents instantiation.
         */
        private MsgPackAnnotation() {}
-
-       /**
-        * A collection of {@link MsgPack @MsgPack annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               MsgPack[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
index 7ad4b065b4..bd6ecb0671 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
@@ -41,7 +41,6 @@ import org.apache.juneau.oapi.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(OpenApiAnnotation.Array.class)
 public @interface OpenApi {
 
        /**
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 4956c82b9d..29045dfee8 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.oapi.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -37,24 +35,6 @@ public class OpenApiAnnotation {
         * Prevents instantiation.
         */
        private OpenApiAnnotation() {}
-
-       /**
-        * A collection of {@link OpenApi @OpenApi annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               OpenApi[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parquet/annotation/Parquet.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parquet/annotation/Parquet.java
index 41d4eb0563..e9c766c7b3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parquet/annotation/Parquet.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parquet/annotation/Parquet.java
@@ -33,7 +33,6 @@ import org.apache.juneau.parquet.*;
 @Target({ TYPE, METHOD, FIELD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(ParquetAnnotation.Array.class)
 public @interface Parquet {
 
        /** Override Parquet physical type. */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parquet/annotation/ParquetAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parquet/annotation/ParquetAnnotation.java
index 64bc69ff92..9bf54415b4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parquet/annotation/ParquetAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parquet/annotation/ParquetAnnotation.java
@@ -16,11 +16,6 @@
  */
 package org.apache.juneau.parquet.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -29,20 +24,6 @@ import org.apache.juneau.commons.annotation.*;
 public class ParquetAnnotation {
 
        private ParquetAnnotation() {}
-
-       /**
-        * A collection of {@link Parquet @Parquet} annotations.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /** The child annotations. */
-               Parquet[] value();
-       }
-
        @SuppressWarnings({
                "java:S2160" // equals() inherited from AnnotationObject 
compares all annotation interface methods; subclass fields are accessed via 
those methods
        })
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainText.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainText.java
index 9bd23cfaf0..9ac1a68741 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainText.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainText.java
@@ -37,7 +37,6 @@ import org.apache.juneau.plaintext.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(PlainTextAnnotation.Array.class)
 public @interface PlainText {
 
        /**
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 4a456c397d..88b4a45782 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.plaintext.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -34,24 +32,6 @@ public class PlainTextAnnotation {
         * Prevents instantiation.
         */
        private PlainTextAnnotation() {}
-
-       /**
-        * A collection of {@link PlainText @PlainText annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               PlainText[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/proto/annotation/Proto.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/proto/annotation/Proto.java
index 58e114c8a1..43e8edec92 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/proto/annotation/Proto.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/proto/annotation/Proto.java
@@ -40,7 +40,6 @@ import org.apache.juneau.proto.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(ProtoAnnotation.Array.class)
 public @interface Proto {
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/proto/annotation/ProtoAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/proto/annotation/ProtoAnnotation.java
index f7210705ff..2a836e02e5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/proto/annotation/ProtoAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/proto/annotation/ProtoAnnotation.java
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.proto.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -37,24 +35,6 @@ public class ProtoAnnotation {
         * Prevents instantiation.
         */
        private ProtoAnnotation() {}
-
-       /**
-        * A collection of {@link Proto @Proto annotations}.
-        */
-       @Documented
-       @Target({ TYPE, METHOD, FIELD })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Proto[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXml.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXml.java
index fb0eabf67c..5bdf5f389d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXml.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXml.java
@@ -38,7 +38,6 @@ import org.apache.juneau.soap.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(SoapXmlAnnotation.Array.class)
 public @interface SoapXml {
 
        /**
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 70215737dd..31564dd1da 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
@@ -16,12 +16,8 @@
  */
 package org.apache.juneau.soap.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -32,14 +28,6 @@ public class SoapXmlAnnotation {
 
        private SoapXmlAnnotation() {}
 
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-               SoapXml[] value();
-       }
-
        public static class Builder extends AnnotationObject.Builder {
 
                private String[] description = {};
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/Uon.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/Uon.java
index fa00ce86aa..b8947f1dd7 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/Uon.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/Uon.java
@@ -41,7 +41,6 @@ import org.apache.juneau.uon.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(UonAnnotation.Array.class)
 public @interface Uon {
 
        /**
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 b3c13cd6c4..29a4240f66 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
@@ -16,12 +16,8 @@
  */
 package org.apache.juneau.uon.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
-import java.lang.annotation.*;
-
 import org.apache.juneau.commons.annotation.*;
 
 /**
@@ -35,14 +31,6 @@ public class UonAnnotation {
 
        private UonAnnotation() {}
 
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-               Uon[] value();
-       }
-
        public static class Builder extends AnnotationObject.Builder {
 
                private String[] description = {};
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
index 3844b50a31..1eee7d916c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
@@ -43,7 +43,6 @@ import org.apache.juneau.urlencoding.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(UrlEncodingAnnotation.Array.class)
 public @interface UrlEncoding {
 
        /**
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 7257a2d584..f7a4d6f83a 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.urlencoding.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -37,24 +35,6 @@ public class UrlEncodingAnnotation {
         * Prevents instantiation.
         */
        private UrlEncodingAnnotation() {}
-
-       /**
-        * A collection of {@link UrlEncoding @UrlEncoding annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               UrlEncoding[] value();
-       }
-
        /**
         * Builder class.
         *
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 b656b392b0..c16c821cbb 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
@@ -47,7 +47,6 @@ import java.lang.annotation.*;
 @Target({ TYPE, FIELD, METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(XmlAnnotation.Array.class)
 public @interface Xml {
 
        /**
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 7dd23a380b..58c0bdb309 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.xml.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -37,24 +35,6 @@ public class XmlAnnotation {
         * Prevents instantiation.
         */
        private XmlAnnotation() {}
-
-       /**
-        * A collection of {@link Xml @Xml annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               Xml[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroy.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroy.java
index 85fa46be07..d08d71c5e7 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroy.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroy.java
@@ -74,10 +74,9 @@ import jakarta.servlet.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/LifecycleHooks";>Lifecycle Hooks</a>
  * </ul>
  */
-@Target({ METHOD, TYPE })
+@Target({ METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(RestDestroyAnnotation.Array.class)
 public @interface RestDestroy {
 
        /**
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 8e2b51b0e3..761de015e5 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -40,23 +38,6 @@ public class RestDestroyAnnotation {
                // Utility class - prevent instantiation
        }
 
-       /**
-        * A collection of {@link RestDestroy @RestDestroy annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               RestDestroy[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCall.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCall.java
index 1d604f2d23..cb8f915e0c 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCall.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCall.java
@@ -87,10 +87,9 @@ import jakarta.servlet.http.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/LifecycleHooks";>Lifecycle Hooks</a>
  * </ul>
  */
-@Target({ METHOD, TYPE })
+@Target({ METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(RestEndCallAnnotation.Array.class)
 public @interface RestEndCall {
 
        /**
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 247c4a8595..380de7e6ef 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -40,23 +38,6 @@ public class RestEndCallAnnotation {
                // Utility class - prevent instantiation
        }
 
-       /**
-        * A collection of {@link RestEndCall @RestEndCall annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               RestEndCall[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInit.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInit.java
index 54f65f6998..3b9f8c1696 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInit.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInit.java
@@ -79,10 +79,9 @@ import jakarta.servlet.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/LifecycleHooks";>Lifecycle Hooks</a>
  * </ul>
  */
-@Target({ METHOD, TYPE })
+@Target({ METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(RestInitAnnotation.Array.class)
 public @interface RestInit {
 
        /**
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 884863f257..1a2a251c7e 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -40,23 +38,6 @@ public class RestInitAnnotation {
                // Utility class - prevent instantiation
        }
 
-       /**
-        * A collection of {@link RestInit @RestInit annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               RestInit[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCall.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCall.java
index 0fdf072952..65f3a12f42 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCall.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCall.java
@@ -149,10 +149,9 @@ import jakarta.servlet.http.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/LifecycleHooks";>Lifecycle Hooks</a>
  * </ul>
  */
-@Target({ METHOD, TYPE })
+@Target({ METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(RestPostCallAnnotation.Array.class)
 public @interface RestPostCall {
 
        /**
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 186bc74e6a..3ee430f9eb 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -40,23 +38,6 @@ public class RestPostCallAnnotation {
                // Utility class - prevent instantiation
        }
 
-       /**
-        * A collection of {@link RestPostCall @RestPostCall annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               RestPostCall[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInit.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInit.java
index 236b401892..55ed5b0f42 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInit.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInit.java
@@ -55,10 +55,9 @@ import jakarta.servlet.*;
  *             overridden by the child class.
  * </ul>
  */
-@Target({ METHOD, TYPE })
+@Target({ METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(RestPostInitAnnotation.Array.class)
 public @interface RestPostInit {
 
        /**
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 f250007c49..ed430b8f0a 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -40,23 +38,6 @@ public class RestPostInitAnnotation {
                // Utility class - prevent instantiation
        }
 
-       /**
-        * A collection of {@link RestPostInit @RestPostInit annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               RestPostInit[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCall.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCall.java
index 313f24d6f2..7fe1f05b0e 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCall.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCall.java
@@ -156,10 +156,9 @@ import jakarta.servlet.http.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/LifecycleHooks";>Lifecycle Hooks</a>
  * </ul>
  */
-@Target({ METHOD, TYPE })
+@Target({ METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(RestPreCallAnnotation.Array.class)
 public @interface RestPreCall {
 
        /**
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 5bba98061e..1c2539b118 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -40,23 +38,6 @@ public class RestPreCallAnnotation {
                // Utility class - prevent instantiation
        }
 
-       /**
-        * A collection of {@link RestPreCall @RestPreCall annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               RestPreCall[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCall.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCall.java
index 8f4db2f1c2..6849a94c50 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCall.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCall.java
@@ -80,10 +80,9 @@ import jakarta.servlet.http.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/LifecycleHooks";>Lifecycle Hooks</a>
  * </ul>
  */
-@Target({ METHOD, TYPE })
+@Target({ METHOD })
 @Retention(RUNTIME)
 @Inherited
-@Repeatable(RestStartCallAnnotation.Array.class)
 public @interface RestStartCall {
 
        /**
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 c68f4aa802..29ddf5c0d2 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
@@ -16,8 +16,6 @@
  */
 package org.apache.juneau.rest.annotation;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -40,23 +38,6 @@ public class RestStartCallAnnotation {
                // Utility class - prevent instantiation
        }
 
-       /**
-        * A collection of {@link RestStartCall @RestStartCall annotations}.
-        */
-       @Documented
-       @Target({ METHOD, TYPE })
-       @Retention(RUNTIME)
-       @Inherited
-       public static @interface Array {
-
-               /**
-                * The child annotations.
-                *
-                * @return The annotation value.
-                */
-               RestStartCall[] value();
-       }
-
        /**
         * Builder class.
         *
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeancAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeancAnnotation_Test.java
index 1f8013ee64..a6c926d787 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeancAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeancAnnotation_Test.java
@@ -63,19 +63,31 @@ class BeancAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @Beanc(
-               description={ "a" },
-               properties="c"
-       )
-       public static class D1 {}
-       Beanc d1 = D1.class.getAnnotationsByType(Beanc.class)[0];
+       public static class D1 {
+               @Beanc(
+                       description={ "a" },
+                       properties="c"
+               )
+               public D1() {}
+       }
+
+       public static class D2 {
+               @Beanc(
+                       description={ "a" },
+                       properties="c"
+               )
+               public D2() {}
+       }
 
-       @Beanc(
-               description={ "a" },
-               properties="c"
-       )
-       public static class D2 {}
-       Beanc d2 = D2.class.getAnnotationsByType(Beanc.class)[0];
+       Beanc d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getConstructor().getAnnotationsByType(Beanc.class)[0];
+                       d2 = 
D2.class.getConstructor().getAnnotationsByType(Beanc.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanpAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanpAnnotation_Test.java
index 1b7d98af3c..f730186d52 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanpAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanpAnnotation_Test.java
@@ -84,35 +84,47 @@ class BeanpAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @Beanp(
-               description={ "a" },
-               dictionary=X1.class,
-               format="b",
-               name="c",
-               params=X1.class,
-               properties="e",
-               ro="f",
-               type=X1.class,
-               value="g",
-               wo="h"
-       )
-       public static class D1 {}
-       Beanp d1 = D1.class.getAnnotationsByType(Beanp.class)[0];
-
-       @Beanp(
-               description={ "a" },
-               dictionary=X1.class,
-               format="b",
-               name="c",
-               params=X1.class,
-               properties="e",
-               ro="f",
-               type=X1.class,
-               value="g",
-               wo="h"
-       )
-       public static class D2 {}
-       Beanp d2 = D2.class.getAnnotationsByType(Beanp.class)[0];
+       public static class D1 {
+               @Beanp(
+                       description={ "a" },
+                       dictionary=X1.class,
+                       format="b",
+                       name="c",
+                       params=X1.class,
+                       properties="e",
+                       ro="f",
+                       type=X1.class,
+                       value="g",
+                       wo="h"
+               )
+               public int f;
+       }
+
+       public static class D2 {
+               @Beanp(
+                       description={ "a" },
+                       dictionary=X1.class,
+                       format="b",
+                       name="c",
+                       params=X1.class,
+                       properties="e",
+                       ro="f",
+                       type=X1.class,
+                       value="g",
+                       wo="h"
+               )
+               public int f;
+       }
+
+       Beanp d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getField("f").getAnnotationsByType(Beanp.class)[0];
+                       d2 = 
D2.class.getField("f").getAnnotationsByType(Beanp.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/NamePropertyAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/NamePropertyAnnotation_Test.java
index b4a5c7aee2..033357eb6c 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/NamePropertyAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/NamePropertyAnnotation_Test.java
@@ -65,17 +65,29 @@ class NamePropertyAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @NameProperty(
-               description={ "a" }
-       )
-       public static class D1 {}
-       NameProperty d1 = D1.class.getAnnotationsByType(NameProperty.class)[0];
-
-       @NameProperty(
-               description={ "a" }
-       )
-       public static class D2 {}
-       NameProperty d2 = D2.class.getAnnotationsByType(NameProperty.class)[0];
+       public static class D1 {
+               @NameProperty(
+                       description={ "a" }
+               )
+               public int f;
+       }
+
+       public static class D2 {
+               @NameProperty(
+                       description={ "a" }
+               )
+               public int f;
+       }
+
+       NameProperty d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getField("f").getAnnotationsByType(NameProperty.class)[0];
+                       d2 = 
D2.class.getField("f").getAnnotationsByType(NameProperty.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/ParentPropertyAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/ParentPropertyAnnotation_Test.java
index 0cc88013bf..ed8b2deb34 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/ParentPropertyAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/ParentPropertyAnnotation_Test.java
@@ -65,17 +65,29 @@ class ParentPropertyAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @ParentProperty(
-               description={ "a" }
-       )
-       public static class D1 {}
-       ParentProperty d1 = 
D1.class.getAnnotationsByType(ParentProperty.class)[0];
-
-       @ParentProperty(
-               description={ "a" }
-       )
-       public static class D2 {}
-       ParentProperty d2 = 
D2.class.getAnnotationsByType(ParentProperty.class)[0];
+       public static class D1 {
+               @ParentProperty(
+                       description={ "a" }
+               )
+               public int f;
+       }
+
+       public static class D2 {
+               @ParentProperty(
+                       description={ "a" }
+               )
+               public int f;
+       }
+
+       ParentProperty d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getField("f").getAnnotationsByType(ParentProperty.class)[0];
+                       d2 = 
D2.class.getField("f").getAnnotationsByType(ParentProperty.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation_Test.java
index 906d2c634a..dfd0c6d614 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation_Test.java
@@ -64,17 +64,29 @@ class RestDestroyAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @RestDestroy(
-               description={ "a" }
-       )
-       public static class D1 {}
-       RestDestroy d1 = D1.class.getAnnotationsByType(RestDestroy.class)[0];
+       public static class D1 {
+               @RestDestroy(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
+
+       public static class D2 {
+               @RestDestroy(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
 
-       @RestDestroy(
-               description={ "a" }
-       )
-       public static class D2 {}
-       RestDestroy d2 = D2.class.getAnnotationsByType(RestDestroy.class)[0];
+       RestDestroy d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getMethod("m1").getAnnotationsByType(RestDestroy.class)[0];
+                       d2 = 
D2.class.getMethod("m1").getAnnotationsByType(RestDestroy.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation_Test.java
index a5c4ecc496..f435f0363d 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation_Test.java
@@ -64,17 +64,29 @@ class RestEndCallAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @RestEndCall(
-               description={ "a" }
-       )
-       public static class D1 {}
-       RestEndCall d1 = D1.class.getAnnotationsByType(RestEndCall.class)[0];
+       public static class D1 {
+               @RestEndCall(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
+
+       public static class D2 {
+               @RestEndCall(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
 
-       @RestEndCall(
-               description={ "a" }
-       )
-       public static class D2 {}
-       RestEndCall d2 = D2.class.getAnnotationsByType(RestEndCall.class)[0];
+       RestEndCall d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getMethod("m1").getAnnotationsByType(RestEndCall.class)[0];
+                       d2 = 
D2.class.getMethod("m1").getAnnotationsByType(RestEndCall.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInitAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInitAnnotation_Test.java
index 663db34791..28efd68b15 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInitAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInitAnnotation_Test.java
@@ -67,17 +67,29 @@ class RestInitAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @RestInit(
-               description={ "a" }
-       )
-       public static class D1 {}
-       RestInit d1 = D1.class.getAnnotationsByType(RestInit.class)[0];
+       public static class D1 {
+               @RestInit(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
+
+       public static class D2 {
+               @RestInit(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
 
-       @RestInit(
-               description={ "a" }
-       )
-       public static class D2 {}
-       RestInit d2 = D2.class.getAnnotationsByType(RestInit.class)[0];
+       RestInit d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getMethod("m1").getAnnotationsByType(RestInit.class)[0];
+                       d2 = 
D2.class.getMethod("m1").getAnnotationsByType(RestInit.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation_Test.java
index 1d2892f177..8d9f3b75cd 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation_Test.java
@@ -64,17 +64,29 @@ class RestPostCallAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @RestPostCall(
-               description={ "a" }
-       )
-       public static class D1 {}
-       RestPostCall d1 = D1.class.getAnnotationsByType(RestPostCall.class)[0];
+       public static class D1 {
+               @RestPostCall(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
+
+       public static class D2 {
+               @RestPostCall(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
 
-       @RestPostCall(
-               description={ "a" }
-       )
-       public static class D2 {}
-       RestPostCall d2 = D2.class.getAnnotationsByType(RestPostCall.class)[0];
+       RestPostCall d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getMethod("m1").getAnnotationsByType(RestPostCall.class)[0];
+                       d2 = 
D2.class.getMethod("m1").getAnnotationsByType(RestPostCall.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation_Test.java
index 5384736d89..eae6125101 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation_Test.java
@@ -66,19 +66,31 @@ class RestPostInitAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @RestPostInit(
-               childFirst=true,
-               description={ "a" }
-       )
-       public static class D1 {}
-       RestPostInit d1 = D1.class.getAnnotationsByType(RestPostInit.class)[0];
+       public static class D1 {
+               @RestPostInit(
+                       childFirst=true,
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
+
+       public static class D2 {
+               @RestPostInit(
+                       childFirst=true,
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
 
-       @RestPostInit(
-               childFirst=true,
-               description={ "a" }
-       )
-       public static class D2 {}
-       RestPostInit d2 = D2.class.getAnnotationsByType(RestPostInit.class)[0];
+       RestPostInit d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getMethod("m1").getAnnotationsByType(RestPostInit.class)[0];
+                       d2 = 
D2.class.getMethod("m1").getAnnotationsByType(RestPostInit.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation_Test.java
index 4967ac87ef..516c77dee4 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation_Test.java
@@ -64,17 +64,29 @@ class RestPreCallAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @RestPreCall(
-               description={ "a" }
-       )
-       public static class D1 {}
-       RestPreCall d1 = D1.class.getAnnotationsByType(RestPreCall.class)[0];
+       public static class D1 {
+               @RestPreCall(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
+
+       public static class D2 {
+               @RestPreCall(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
 
-       @RestPreCall(
-               description={ "a" }
-       )
-       public static class D2 {}
-       RestPreCall d2 = D2.class.getAnnotationsByType(RestPreCall.class)[0];
+       RestPreCall d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getMethod("m1").getAnnotationsByType(RestPreCall.class)[0];
+                       d2 = 
D2.class.getMethod("m1").getAnnotationsByType(RestPreCall.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation_Test.java
index 5ba1d950d1..c84a40241e 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation_Test.java
@@ -64,17 +64,29 @@ class RestStartCallAnnotation_Test extends TestBase {
        // Comparison with declared annotations.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @RestStartCall(
-               description={ "a" }
-       )
-       public static class D1 {}
-       RestStartCall d1 = 
D1.class.getAnnotationsByType(RestStartCall.class)[0];
+       public static class D1 {
+               @RestStartCall(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
+
+       public static class D2 {
+               @RestStartCall(
+                       description={ "a" }
+               )
+               public void m1() {}
+       }
 
-       @RestStartCall(
-               description={ "a" }
-       )
-       public static class D2 {}
-       RestStartCall d2 = 
D2.class.getAnnotationsByType(RestStartCall.class)[0];
+       RestStartCall d1, d2;
+       {
+               try {
+                       d1 = 
D1.class.getMethod("m1").getAnnotationsByType(RestStartCall.class)[0];
+                       d2 = 
D2.class.getMethod("m1").getAnnotationsByType(RestStartCall.class)[0];
+               } catch (Exception e) {
+                       throw new RuntimeException(e);
+               }
+       }
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertEqualsAll(a1, d1, d2);


Reply via email to