code: public static <Item extends IItem> List<Item> getAllItems(FastAdapter<Item> fastAdapter) {
          int size = fastAdapter.getItemCount();
          List<Item> items = new ArrayList<>(size);
          for (int i = 0; i < size; i++) {
              Item item = fastAdapter.getItem(i);
              items.add(item);
              addAllSubItems(item, items);
          }
          return items;
      }
docs: Gets all items (including sub items) from the FastAdapter
  
  @param fastAdapter the FastAdapter
  @return a list of all items including the whole subItem hirachy