@Test
public void ShouldCorrectLoadPlugin() throws Exception {

    IKey IObjectKey = mock(IKey.class);
    when(Keys.getOrAdd(IObjectImpl.class.getCanonicalName())).thenReturn(IObjectKey);
    BootstrapItem bootstrapItem = mock(BootstrapItem.class);
    whenNew(BootstrapItem.class).withArguments("IObjectSimpleImplPlugin").thenReturn(bootstrapItem);
    when(bootstrapItem.after(anyString())).thenReturn(bootstrapItem);
    plugin.load();
    verifyNew(BootstrapItem.class).withArguments("IObjectSimpleImplPlugin");
    ArgumentCaptor<IPoorAction> actionArgumentCaptor = ArgumentCaptor.forClass(IPoorAction.class);
    verify(bootstrapItem).process(actionArgumentCaptor.capture());
    ArgumentCaptor<CreateNewInstanceStrategy> createNewInstanceStrategyArgumentCaptor =
            ArgumentCaptor.forClass(CreateNewInstanceStrategy.class);
    actionArgumentCaptor.getValue().execute();
    verifyStatic();
    IOC.register(eq(IObjectKey), createNewInstanceStrategyArgumentCaptor.capture());
    verify(bootstrap).add(bootstrapItem);
}