code: private void injectActionPluginSender(String actionPlugin, ActionPluginListener pluginInstance) throws Exception {
          if (pluginInstance == null) {
              throw new IllegalArgumentException("pluginInstance must be not null");
          }
          Field[] fields = pluginInstance.getClass().getDeclaredFields();
          Field sender = null;
          for (Field field : fields) {
              if (field.isAnnotationPresent(Sender.class) &&
                      field.getType().isAssignableFrom(ActionPluginSender.class)) {
                  sender = field;
                  break;
              }
          }
          if (sender != null) {
              ActionPluginSender standaloneSender = new StandaloneActionPluginSender(actions);
              sender.setAccessible(true);
              sender.set(pluginInstance, standaloneSender);
              senders.put(actionPlugin, standaloneSender);
          }
      }
docs: /*
  Search and inject ActionPluginSender inside ActionPluginListener