private T resolveValue() {
        if (source instanceof PrimeUIData) {
            DataTable data = (DataTable) source;
            data.setRowModel(rowIndex);
        }
        else if (source instanceof UITree) {
            TreeTable data = (TreeTable) source;
            data.setRowKey(data.getValue(), rowKey);
        }

        if (column.isDynamic()) {
            DynamicColumn dynamicColumn = (DynamicColumn) column;
            dynamicColumn.applyStatelessModel();
        }

        T value = null;

        for (UIComponent child : column.getChildren()) {
            if (child instanceof CellEditor) {
                UIComponent inputFacet = child.getFacet("input");

                List<Object> values = new ArrayList<>(1);

                CompositeUtils.invokeOnDeepestEditableValueHolder(getFacesContext(), inputFacet, (ctx, component) -> {
                    values.add(((EditableValueHolder) component).getValue());
                });

                if (values.isEmpty()) {
                    throw new FacesException("No ValueHolder found inside the 'input' facet of the CellEditor!");
                }

                value = values.size() > 1 ? (T) values : (T) values.get(0);
            }
        }

        return value;
    }
Data contained in the DataTable row or TreeTable node.
primefaces/src/main/java/org/primefaces/event/CellEditEvent.java