code: private List<EntityType> getEntityTypes() {
      QueryImpl<EntityType> query = new QueryImpl<>();
      query.setPageSize(ENTITY_FETCH_PAGE_SIZE);
      query.setFetch(ENTITY_TYPE_FETCH);
  
      List<EntityType> result = newArrayList();
      for (int pageNum = 0; result.size() == pageNum * ENTITY_FETCH_PAGE_SIZE; pageNum++) {
        query.offset(pageNum * ENTITY_FETCH_PAGE_SIZE);
        dataService.findAll(ENTITY_TYPE_META_DATA, query, EntityType.class).forEach(result::add);
      }
      return result;
    }
docs: Retrieves all {@link EntityType}s. Queryies in pages of size ENTITY_FETCH_PAGE_SIZE so that
  results can be cached. Uses a {@link Fetch} that specifies all fields needed to determine the
  necessary index actions.
  
  @return List containing all {@link EntityType}s.