Program: 34753
Project: 34753
Buggy source:
@Override public void integrate(){
  if (FMLCommonHandler.instance().getSide() != Side.CLIENT)   return;
  GuiContainerManager.inputHandlers.addFirst(new IContainerInputHandler(){
    private boolean handleItemStack(    ItemStack is){
      if (is == null)       return false;
      UniqueIdentifier uniqueId=null;
      try {
        uniqueId=GameRegistry.findUniqueIdentifierFor(is.getItem());
      }
 catch (      Exception e) {
      }
      if (uniqueId != null && uniqueId.modId.equalsIgnoreCase("String_Node_Str")) {
        KnowledgeObject<? extends IKnowledgeObjectInstance<?>> obj=null;
        if (is.getItem() == ItemList.spawn_eggs)         obj=KnowledgeObject.<ObjectMob>getObject(ItemSpawnEggs.getMobFromDamage(is.getItemDamage()));
 else         if (is.getItem() instanceof ItemBlock)         obj=CompendiumEvents.getBlockObject(is);
 else         obj=KnowledgeObject.<ObjectItem>getObject(is.getItem());
        CompendiumEventsClient.openCompendium(obj);
        return true;
      }
      return false;
    }
    @Override public boolean lastKeyTyped(    GuiContainer gui,    char keyChar,    int keyCode){
      if (keyCode == NEIClientConfig.getKeyBinding("String_Node_Str") || keyCode == NEIClientConfig.getKeyBinding("String_Node_Str")) {
        return handleItemStack(GuiContainerManager.getStackMouseOver(gui));
      }
 else       return false;
    }
    @Override public boolean mouseClicked(    GuiContainer gui,    int mouseX,    int mouseY,    int button){
      if (button == 0 || button == 1) {
        return handleItemStack(GuiContainerManager.getStackMouseOver(gui));
      }
 else       return false;
    }
    @Override public void onMouseUp(    GuiContainer gui,    int mouseX,    int mouseY,    int button){
    }
    @Override public void onMouseScrolled(    GuiContainer gui,    int mouseX,    int mouseY,    int scrolled){
    }
    @Override public void onMouseDragged(    GuiContainer gui,    int mouseX,    int mouseY,    int button,    long heldTime){
    }
    @Override public void onMouseClicked(    GuiContainer gui,    int mouseX,    int mouseY,    int button){
    }
    @Override public void onKeyTyped(    GuiContainer gui,    char keyChar,    int keyCode){
    }
    @Override public boolean mouseScrolled(    GuiContainer gui,    int mouseX,    int mouseY,    int scrolled){
      return false;
    }
    @Override public boolean keyTyped(    GuiContainer gui,    char keyChar,    int keyCode){
      return false;
    }
  }
);
}

Fixed version (ground truth):
@Override public void integrate(){
  if (FMLCommonHandler.instance().getSide() != Side.CLIENT)   return;
  GuiContainerManager.inputHandlers.addFirst(new IContainerInputHandler(){
    private boolean handleItemStack(    ItemStack is){
      if (is == null)       return false;
      UniqueIdentifier uniqueId=null;
      try {
        uniqueId=GameRegistry.findUniqueIdentifierFor(is.getItem());
      }
 catch (      Exception e) {
      }
      if (uniqueId != null && uniqueId.modId.equalsIgnoreCase("String_Node_Str")) {
        KnowledgeObject<? extends IKnowledgeObjectInstance<?>> obj=null;
        if (is.getItem() == ItemList.spawn_eggs)         obj=KnowledgeObject.<ObjectMob>getObject(ItemSpawnEggs.getMobFromDamage(is.getItemDamage()));
 else         if (is.getItem() instanceof ItemBlock)         obj=CompendiumEvents.getBlockObject(is);
 else         obj=KnowledgeObject.<ObjectItem>getObject(is.getItem());
        CompendiumEventsClient.openCompendium(obj);
        return true;
      }
      return false;
    }
    @Override public boolean lastKeyTyped(    GuiContainer gui,    char keyChar,    int keyCode){
      if (keyCode == NEIClientConfig.getKeyBinding("String_Node_Str") || keyCode == NEIClientConfig.getKeyBinding("String_Node_Str")) {
        return handleItemStack(GuiContainerManager.getStackMouseOver(gui));
      }
 else       return false;
    }
    @Override public boolean mouseClicked(    GuiContainer gui,    int mouseX,    int mouseY,    int button){
      if (button == 0 || button == 1) {
        if (gui instanceof GuiRecipe)         return handleItemStack(GuiContainerManager.getStackMouseOver(gui));
 else         return handleItemStack(LayoutManager.itemPanel.getStackMouseOver(mouseX,mouseY));
      }
 else       return false;
    }
    @Override public void onMouseUp(    GuiContainer gui,    int mouseX,    int mouseY,    int button){
    }
    @Override public void onMouseScrolled(    GuiContainer gui,    int mouseX,    int mouseY,    int scrolled){
    }
    @Override public void onMouseDragged(    GuiContainer gui,    int mouseX,    int mouseY,    int button,    long heldTime){
    }
    @Override public void onMouseClicked(    GuiContainer gui,    int mouseX,    int mouseY,    int button){
    }
    @Override public void onKeyTyped(    GuiContainer gui,    char keyChar,    int keyCode){
    }
    @Override public boolean mouseScrolled(    GuiContainer gui,    int mouseX,    int mouseY,    int scrolled){
      return false;
    }
    @Override public boolean keyTyped(    GuiContainer gui,    char keyChar,    int keyCode){
      return false;
    }
  }
);
}