String name = jsonObj.get("name").getAsString();
String description = jsonObj.get("description").getAsString();
Map<String, FlowletDefinition> flowlets = deserializeMap(jsonObj.get("flowlets"), context, FlowletDefinition.class);
List<FlowletConnection> connections = deserializeList(jsonObj.get("connections"), context, FlowletConnection.class);
return new DefaultFlowSpecification(className, name, description, flowlets, connections);
}