code: @NonNull
      @Override
      public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
          switch (viewType) {
              case VIEWTYPE_IMAGE_CHECKABLE:
                  return new CheckableViewHolder(LayoutInflater.from(getActivity())
                          .inflate(R.layout.listitem_image_checkable, parent, false));
              case VIEWTYPE_IMAGE:
                  return new DirViewHolder(LayoutInflater.from(getActivity())
                          .inflate(R.layout.listitem_image, parent, false));
              default:
                  return super.onCreateViewHolder(parent, viewType);
          }
      }
docs: We override this method and provide some special views for images.
  This is necessary to work around a bug on older Android versions (4.0.3 for example)
  where setting a "tint" would just make the entire image a square of solid color.
  <p/>
  So the special layouts used here are merely "untinted" copies from the library.
  
  @param parent   Containing view
  @param viewType which the ViewHolder will contain
  @return a DirViewHolder (or subclass thereof)