Repository: quarkusio/quarkus
Issue: Warnings about `@io.quarkus.arc.runtime.devconsole.Monitored` on private methods

### Describe the bug

I see several warnings about `@io.quarkus.arc.runtime.devconsole.Monitored` on private methods of Infinispan classes when using Quarkus main in dev mode. Noticed when looking into https://github.com/quarkusio/quarkus/pull/21267

I think these warnings should be eliminated, it's distraction when using dev mode.

```
2021-11-08 16:24:34,262 WARN  [io.qua.arc.pro.Methods] (build-14) @io.quarkus.arc.runtime.devconsole.Monitored will have no effect on method io.quarkus.infinispan.client.runtime.InfinispanClientProducer.builderFromProperties() because the method is private
2021-11-08 16:24:34,266 WARN  [io.qua.arc.pro.Methods] (build-14) @io.quarkus.arc.runtime.devconsole.Monitored will have no effect on method io.quarkus.infinispan.client.runtime.InfinispanClientProducer.getRemoteAnnotation() because the method is private
2021-11-08 16:24:34,267 WARN  [io.qua.arc.pro.Methods] (build-14) @io.quarkus.arc.runtime.devconsole.Monitored will have no effect on method io.quarkus.infinispan.client.runtime.InfinispanClientProducer.initialize() because the method is private
2021-11-08 16:24:34,271 WARN  [io.qua.arc.pro.Methods] (build-14) @io.quarkus.arc.runtime.devconsole.Monitored will have no effect on method io.smallrye.config.inject.ConfigProducer.lambda$produceSupplierConfigValue$0() because the method is private
```

### Expected behavior

No warnings related to `@io.quarkus.arc.runtime.devconsole.Monitored`

### Actual behavior

warnings present:
```
2021-11-08 16:24:34,262 WARN  [io.qua.arc.pro.Methods] (build-14) @io.quarkus.arc.runtime.devconsole.Monitored will have no effect on method io.quarkus.infinispan.client.runtime.InfinispanClientProducer.builderFromProperties() because the method is private
2021-11-08 16:24:34,266 WARN  [io.qua.arc.pro.Methods] (build-14) @io.quarkus.arc.runtime.devconsole.Monitored will have no effect on method io.quarkus.infinispan.client.runtime.InfinispanClientProducer.getRemoteAnnotation() because the method is private
2021-11-08 16:24:34,267 WARN  [io.qua.arc.pro.Methods] (build-14) @io.quarkus.arc.runtime.devconsole.Monitored will have no effect on method io.quarkus.infinispan.client.runtime.InfinispanClientProducer.initialize() because the method is private
2021-11-08 16:24:34,271 WARN  [io.qua.arc.pro.Methods] (build-14) @io.quarkus.arc.runtime.devconsole.Monitored will have no effect on method io.smallrye.config.inject.ConfigProducer.lambda$produceSupplierConfigValue$0() because the method is private
```

### How to Reproduce?

mvn io.quarkus.platform:quarkus-maven-plugin:999-SNAPSHOT:create -DprojectGroupId=my-groupId -DprojectArtifactId=my-app -DprojectVersion=1.0.0-SNAPSHOT -DpackageName=org.my.group -DplatformGroupId=io.quarkus -DplatformArtifactId=quarkus-bom -DplatformVersion=999-SNAPSHOT -DquarkusRegistryClient=false -Dextensions=quarkus-infinispan-client,quarkus-micrometer

mvn -f my-app quarkus:dev


### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

Java 17

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

main

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

_No response_

### Additional information

_No response_

Changed files:
independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/Methods.java

diff --git a/independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/Methods.java b/independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/Methods.java
index 63dd492940a..930c8f40668 100644
--- a/independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/Methods.java
+++ b/independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/Methods.java
@@ -188,6 +188,20 @@ static Set<MethodInfo> addInterceptedMethodCandidates(BeanDeployment beanDeploym
                 List<AnnotationInstance> methodLevelBindings = methodAnnnotations.stream()
                         .flatMap(a -> beanDeployment.extractInterceptorBindings(a).stream())
                         .collect(Collectors.toList());
+                if (Modifier.isPrivate(method.flags())
+                        && !methodLevelBindings.isEmpty()
+                        && !Annotations.contains(methodAnnnotations, DotNames.OBSERVES)
+                        && !Annotations.contains(methodAnnnotations, DotNames.OBSERVES_ASYNC)) {
+                    if (merged.size() == 1) {
+                        LOGGER.warnf("%s will have no effect on method %s.%s() because the method is private",
+                                methodLevelBindings.iterator().next(), classInfo.name(), method.name());
+                    } else {
+                        LOGGER.warnf("Annotations %s will have no effect on method %s.%s() because the method is private",
+                                methodLevelBindings.stream().map(AnnotationInstance::toString).collect(Collectors.joining(",")),
+                                classInfo.name(), method.name());
+                    }
+
+                }
                 merged.addAll(methodLevelBindings);
                 for (AnnotationInstance classLevelBinding : classLevelBindings) {
                     if (methodLevelBindings.isEmpty()
@@ -197,30 +211,18 @@ static Set<MethodInfo> addInterceptedMethodCandidates(BeanDeployment beanDeploym
                 }
             }
             if (!merged.isEmpty()) {
-                if (Modifier.isPrivate(method.flags())) {
-                    if (merged.size() == 1) {
-                        LOGGER.warnf("%s will have no effect on method %s.%s() because the method is private",
-                                merged.iterator().next(), classInfo.name(), method.name());
+                boolean addToCandidates = true;
+                if (Modifier.isFinal(method.flags())) {
+                    if (transformUnproxyableClasses) {
+                        methodsFromWhichToRemoveFinal.add(NameAndDescriptor.fromMethodInfo(method));
                     } else {
-                        LOGGER.warnf("Annotations %s will have no effect on method %s.%s() because the method is private",
-                                merged.stream().map(AnnotationInstance::toString).collect(Collectors.joining(",")),
-                                classInfo.name(), method.name());
-                    }
-
-                } else {
-                    boolean addToCandidates = true;
-                    if (Modifier.isFinal(method.flags())) {
-                        if (transformUnproxyableClasses) {
-                            methodsFromWhichToRemoveFinal.add(NameAndDescriptor.fromMethodInfo(method));
-                        } else {
-                            addToCandidates = false;
-                            finalMethodsFoundAndNotChanged.add(method);
-                        }
-                    }
-                    if (addToCandidates) {
-                        candidates.computeIfAbsent(new Methods.MethodKey(method), key -> merged);
+                        addToCandidates = false;
+                        finalMethodsFoundAndNotChanged.add(method);
                     }
                 }
+                if (addToCandidates) {
+                    candidates.computeIfAbsent(new Methods.MethodKey(method), key -> merged);
+                }
             }
         }
         skipPredicate.methodsProcessed();