@Override public MetaValue createMetaValue(MetaType metaType, Map<String, ProtocolStackConfigInfo> object) { Map<String, MetaValue> result = new HashMap<String, MetaValue>(); for (Map.Entry<String, ProtocolStackConfigInfo> entry : object.entrySet()) { ProtocolStackConfigInfo info = entry.getValue(); Map<String, MetaValue> stackValue = new HashMap<String, MetaValue>(); stackValue.put("name", SimpleValueSupport.wrap(info.getName())); stackValue.put("description", SimpleValueSupport.wrap(info.getDescription())); ProtocolData[] data = info.getConfiguration(); stackValue.put("configuration", CONFIG_MAPPER.createMetaValue(CONFIG_MAPPER.getMetaType(), data)); result.put(entry.getKey(), new CompositeValueSupport(TYPE, stackValue)); } return new MapCompositeValueSupport(result, TYPE); }