### Question:
ExtensionPointMap { public void addExtensionPoint( PluginInterface extensionPointPlugin ) { lock.writeLock().lock(); try { for ( String id : extensionPointPlugin.getIds() ) { extensionPointPluginMap.put( extensionPointPlugin.getName(), id, createLazyLoader( extensionPointPlugin ) ); } } finally { lock.writeLock().unlock(); } } private  ExtensionPointMap( PluginRegistry pluginRegistry ); static ExtensionPointMap getInstance(); void addExtensionPoint( PluginInterface extensionPointPlugin ); void removeExtensionPoint( PluginInterface extensionPointPlugin ); void reInitialize(); void callExtensionPoint( LogChannelInterface log, String id, Object object ); static LogChannelInterface getLog(); void reset();  }### Answer:
@Test public void addExtensionPointTest() throws KettlePluginException { ExtensionPointMap.getInstance().addExtensionPoint( pluginInterface ); assertEquals( ExtensionPointMap.getInstance().getTableValue( TEST_NAME, "testID" ), extensionPoint ); assertEquals( ExtensionPointMap.getInstance().getTableValue( TEST_NAME, "testID" ), extensionPoint ); verify( pluginInterface, times( 1 ) ).loadClass( any( Class.class ) ); }