code: @SuppressWarnings("unchecked")
      public void registerTypeInstance(Item item) {
          if (getTypeInstanceCache().register(item)) {
              //check if the item implements hookable when its added for the first time
              if (item instanceof IHookable) {
                  withEventHooks(((IHookable<Item>) item).getEventHooks());
              }
          }
      }
docs: register a new type into the TypeInstances to be able to efficiently create thew ViewHolders
  
  @param item an IItem which will be shown in the list