docs: @SuppressWarnings("unchecked")
  	public <T> List<T> read(int headerRowIndex, int startRowIndex, int endRowIndex, Class<T> beanType) {
  		checkNotClosed();
  		final List<Map<String, Object>> mapList = read(headerRowIndex, startRowIndex, endRowIndex);
  		if (Map.class.isAssignableFrom(beanType)) {
  			return (List<T>) mapList;
  		}
  
  		final List<T> beanList = new ArrayList<>(mapList.size());
  		for (Map<String, Object> map : mapList) {
  			beanList.add(BeanUtil.mapToBean(map, beanType, false));
  		}
  		return beanList;
  	}