@Test
public void MustCorrectLoadPlugin() throws Exception {

    BootstrapItem bootstrapItem = mock(BootstrapItem.class);
    whenNew(BootstrapItem.class).withArguments("GetHeaderFromRequestRulePlugin").thenReturn(bootstrapItem);
    when(bootstrapItem.after(anyString())).thenReturn(bootstrapItem);
    when(bootstrapItem.before(anyString())).thenReturn(bootstrapItem);
    plugin.load();
    verifyNew(BootstrapItem.class).withArguments("GetHeaderFromRequestRulePlugin");
    ArgumentCaptor<IPoorAction> actionArgumentCaptor = ArgumentCaptor.forClass(IPoorAction.class);
      verify(bootstrapItem).after("IOC");
      verify(bootstrapItem).after("wds_object");
      verify(bootstrapItem).before("starter");
    verify(bootstrapItem).process(actionArgumentCaptor.capture());
    verify(bootstrap).add(bootstrapItem);
    IKey strategyKey = mock(IKey.class);
    when(Keys.getOrAdd(IResolveDependencyStrategy.class.getCanonicalName())).thenReturn(strategyKey);
    GetHeaderFromRequestRule targetObject = mock(GetHeaderFromRequestRule.class);
    whenNew(GetHeaderFromRequestRule.class).withNoArguments().thenReturn(targetObject);
    actionArgumentCaptor.getValue().execute();
    verifyStatic();
    Keys.getOrAdd(IResolveDependencyStrategy.class.getCanonicalName());
    verifyNew(GetHeaderFromRequestRule.class).withNoArguments();
    verifyStatic();
    IOC.resolve(strategyKey, "getHeaderFromRequestRule", targetObject);
    /*IKey ruleKey = mock(IKey.class);
    when(Keys.getOrAdd(GetHeaderFromRequestRule.class.getCanonicalName())).thenReturn(ruleKey);
    actionArgumentCaptor.getValue().execute();
    verifyStatic();
    Keys.getOrAdd(GetHeaderFromRequestRule.class.getCanonicalName());
    ArgumentCaptor<CreateNewInstanceStrategy> createNewInstanceStrategyArgumentCaptor = ArgumentCaptor.forClass(CreateNewInstanceStrategy.class);
    verifyStatic();
    IOC.register(eq(ruleKey), createNewInstanceStrategyArgumentCaptor.capture());
    IObject arg = mock(IObject.class);
    GetHeaderFromRequestRule rule = mock(GetHeaderFromRequestRule.class);
    whenNew(GetHeaderFromRequestRule.class).withNoArguments().thenReturn(rule);
    assertTrue("Objects must return correct object", createNewInstanceStrategyArgumentCaptor.getValue().resolve(arg) == rule);
    verifyNew(GetHeaderFromRequestRule.class).withNoArguments();*/
}