code: @Override
      public RecyclerView.ViewHolder onPreCreateViewHolder(FastAdapter<Item> fastAdapter, ViewGroup parent, int viewType) {
          return fastAdapter.getTypeInstance(viewType).getViewHolder(parent);
      }
docs: is called inside the onCreateViewHolder method and creates the viewHolder based on the provided viewTyp
  
  @param parent   the parent which will host the View
  @param viewType the type of the ViewHolder we want to create
  @return the generated ViewHolder based on the given viewType