public RuntimeSpecification deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
JsonObject jsonObj = json.getAsJsonObject();
String name = jsonObj.get("name").getAsString();
TwillRunnableSpecification runnable = context.deserialize(jsonObj.get("runnable"),
TwillRunnableSpecification.class);
ResourceSpecification resources = context.deserialize(jsonObj.get("resources"),
ResourceSpecification.class);
Collection<LocalFile> files = context.deserialize(jsonObj.get("files"),
new TypeToken<Collection<LocalFile>>() { }.getType());