@Override
 public <T> T orNull(Class<T> type) {
   return orNull(ColumnKey.of(type));
 }
 @Override
 public <T> T or(Class<T> type, Supplier<T> supplier) {
   return or(ColumnKey.of(type), supplier);
 }
 @Override
 public <T> T get(Class<T> type) {
   return get(ColumnKey.of(type));
 }
 @Override
 public <T> T or(Class<T> type, T instance) {
   return or(ColumnKey.of(type), instance);
 }
 private void checkNullOrEmpty(ColumnKey<?> key) {
   if (nullOrEmpty) {
     throw new ColumnConversionException(null, key.getType());
   }
 }