TransformChain transformChain(JSONObject json) throws IOException {
String type = json.getString("type");
TransformChain chain = null;
if ("vector".equalsIgnoreCase(type) || "VectorTransformChain".equalsIgnoreCase(type)) {
chain = new VectorTransformChain();
} else if ("raster".equalsIgnoreCase(type) || "RasterTransformChain".equalsIgnoreCase(type)) {
chain = new RasterTransformChain();
} else {
throw new IOException("Unable to parse transformChain of type " + type);
}