code: public <A extends IAdapter<Item>> FastAdapter<Item> addAdapter(int index, A adapter) {
          mAdapters.add(index, adapter);
          adapter.withFastAdapter(this);
          adapter.mapPossibleTypes(adapter.getAdapterItems());
          for (int i = 0; i < mAdapters.size(); i++) {
              mAdapters.get(i).setOrder(i);
          }
          cacheSizes();
          return this;
      }
docs: add's a new adapter at the specific position
  
  @param index   the index where the new adapter should be added
  @param adapter the new adapter to be added
  @return this