BlockBuilder<ElseBlockBuilder> binderBlock = If.isNotNull(Variable.get("binder"));
for (Entry<String, Statement> dataField : dataFields.entrySet()) {
Bound bound = DecoratorDataField.aggregateDataFieldBoundMap(ctx, ctx.getType()).get(dataField.getKey());
if (bound != null) {
if (dataBinderRef != null) {
String property = bound.property().equals("") ? dataField.getKey() : bound.property();
// Check if bound property exists in data model type
if (!DataBindingValidator.isValidPropertyChain(dataModelType, property)) {
throw new GenerationException("Invalid binding of DataField " + dataField.getKey() + " in class "
+ ctx.getInjector().getInjectedType() + "! Property " + property + " not resolvable from class "
+ dataModelType + ". Hint: All types in a property chain must be @Bindable!");