code: private void introspect() {
      if (!listenerClass.isAnnotationPresent(EntityListener.class)) {
        String message = String.format(
            "Class %s must have %s annotation to be used as an EntityListener",
            listenerClass.getName(), EntityListener.class.getName());
        throw new EntityManagerException(message);
      }
      metadata = new ExternalListenerMetadata(listenerClass);
      processMethods();
    }
docs: Introspects the listener class and creates the metadata.