docs: private synchronized List<ListenerInfo> getStepListenerInfo(Step step, InjectionReferences injectionRefs) {
          if (!stepLevelListenerInfo.containsKey(step.getId())) {
              List<ListenerInfo> stepListenerInfoList = new ArrayList<ListenerInfo>();
              stepLevelListenerInfo.put(step.getId(), stepListenerInfoList);
  
              Listeners stepLevelListeners = step.getListeners();
              if (stepLevelListeners != null) {
                  for (Listener listener : stepLevelListeners.getListenerList()) {
                      ListenerInfo info = buildListenerInfo(listener, injectionRefs);
                      stepListenerInfoList.add(info);
                  }
              }
  
              return stepListenerInfoList;
          } else {
              return stepLevelListenerInfo.get(step.getId());
          }
      }