Searches for transitive annotations associated with interceptor bindings in
a given Java package. Some of these operations can be expensive, so their
results should be cached.
For example, a new annotation @TimedRetry is itself annotated by
@Timeout and @Retry, and both need to be found if a method
uses @TimedRetry instead.