class RegisteredPlugin implements PluginProcessContext {

  public PluginThreadListener getPluginThreadListener()
    throws EngineException {

    final ThreadContext threadContext = m_threadContextLocator.get();

    if (threadContext == null) {
      throw new EngineException("Must be called from worker thread");
    }

    return createPluginThreadListener(threadContext);
  }

  public  RegisteredPlugin(GrinderPlugin plugin, ScriptContext scriptContext,
                          ThreadContextLocator threadContextLocator,
                          StatisticsServices statisticsServices,
                          TimeAuthority timeAuthority, Logger logger);

}