Set<String> dataSets = deserializeSet(jsonObj.get("datasets"), context, String.class);
Map<String, String> properties = deserializeMap(jsonObj.get("properties"), context, String.class);
ResourceSpecification resources = context.deserialize(jsonObj.get("resources"),
new TypeToken<ResourceSpecification>() { }.getType());
return new DefaultFlowletSpecification(className, name, description, policy, dataSets, properties, resources);
}