@Override public Object getObjectValue(ConnectorSession session, Block block, int position) { if (block.isNull(position)) { return null; } Block arrayBlock = getObject(block, position); List<Object> values = new ArrayList<>(arrayBlock.getPositionCount()); for (int i = 0; i < arrayBlock.getPositionCount(); i++) { values.add(fields.get(i).getType().getObjectValue(session, arrayBlock, i)); } return Collections.unmodifiableList(values); }