code: public void addPlugin(ComponentPlugin plugin)
     {
        if (plugin instanceof AddActionsPlugin)
        {
           AddActionsPlugin cplugin = (AddActionsPlugin)plugin;
           for (ActionConfiguration ac : cplugin.getActions())
           {
              try
              {
                 SessionEventMatcher matcher =
                    new SessionEventMatcher(getEventTypes(ac.getEventTypes()), getPaths(ac.getPath()), ac.isDeep(),
                       getWorkspaces(ac.getWorkspace()), getNames(ac.getNodeTypes()), typeDataManager);
  
                 Action action =
                    ac.getAction() != null ? ac.getAction() : (Action)ClassLoading.forName(ac.getActionClassName(), this)
                       .newInstance();
  
                 addAction(matcher, action);
              }
              catch (Exception e)
              {
                 log.error(e.getLocalizedMessage(), e);
              }
           }
        }
     }
docs: Registers all the actions defined in the provided {@link AddActionsPlugin}. Do nothing if the
  provided plugin is not of type {@link AddActionsPlugin}
  @param plugin the Component plugin that is expected to be of type {@link AddActionsPlugin}