FormAdapter(final InteractionUnit<StereoTypes> interactionUnit, EventBus coordinator, final ModelNode modelDescription)
{
this.interactionUnit = interactionUnit;
this.coordinator = coordinator;
DMRMapping dmrMapping = (DMRMapping)
this.interactionUnit.findMapping(MappingType.DMR);
this.form = new ModelNodeForm(dmrMapping.getAddress(), securityContext);
this.form.setNumColumns(2);
this.form.setEnabled(false);
assert modelDescription.hasDefined("attributes") : "Invalid model description. Expected child 'attributes'";
List<Property> attributeDescriptions = modelDescription.get("attributes").asPropertyList();
List<ResourceAttribute> attributes = dmrMapping.getAttributes();
// catch-all directive, if no explicit attributes given
// TODO: optimisation, see below
if(attributes.isEmpty())
{