@Override
  public <T extends RemoteAgent> T createAgent(RemoteAgentProxyFactory agentProxyFactory,
                                               List<? extends File> instanceLibraries,
                                               List<Class<?>> commonJarClasses,
                                               String specificsRuntimeModuleName,
                                               String specificsBuildJarPath,
                                               Class<T> agentInterface,
                                               String agentClassName,
                                               Class<?> pluginClass) throws Exception {

    Builder<T> builder = createAgentBuilder(agentProxyFactory, agentInterface, pluginClass)
      .withRtDependencies(commonJarClasses)
      .withInstanceLibraries(instanceLibraries)
      .withModuleDependency(specificsRuntimeModuleName, specificsBuildJarPath);

    return builder.buildAgent(agentClassName);
  }
@Override
  public <T extends RemoteAgent> T createAgent(RemoteAgentProxyFactory agentProxyFactory,
                                               List<? extends File> instanceLibraries,
                                               List<Class<?>> commonJarClasses,
                                               String specificsRuntimeModuleName,
                                               String specificsBuildJarPath,
                                               Class<T> agentInterface,
                                               String agentClassName,
                                               Class<?> pluginClass)