docs: private Set<ExecutableElement> getHookMethodsFromInterfaces() {
      return component
          .getInterfaces()
          .stream()
          .map(DeclaredType.class::cast)
          .map(DeclaredType::asElement)
          .map(TypeElement.class::cast)
          .flatMap(typeElement -> ElementFilter
              .methodsIn(typeElement.getEnclosedElements())
              .stream())
          .filter(method -> hasAnnotation(method, HookMethod.class))
          .peek(this::validateHookMethod)
          .collect(Collectors.toSet());
    }