docs: @SuppressWarnings("unchecked")
      @Override
      public List<T> multiGet(List<List<Object>> keys) {
          try {
              List<T> values = new ArrayList<T>();
  
              for (List<Object> rowKey : keys) {
                  Statement statement = mapper.retrieve(rowKey);
                  ResultSet results = session.execute(statement);
                  // TODO: Better way to check for empty results besides accessing entire results list
                  Iterator<Row> rowIter = results.iterator();
                  Row row;
                  if (results != null && rowIter.hasNext() && (row = rowIter.next()) != null) {
                      if (rowIter.hasNext()) {
                          LOG.error("Found non-unique value for key [{}]", rowKey);
                      } else {
                          values.add((T) mapper.getValue(row));
                      }
                  } else {
                      values.add(null);
                  }
              }
  
              _mreads.incrBy(values.size());
              LOG.debug("Retrieving the following keys: {} with values: {}", keys, values);
              return values;
          } catch (Exception e) {
              checkCassandraException(e);
              throw new IllegalStateException("Impossible to reach this code");
          }
      }