public Map explicit(String publicId, Map options) throws IOException {
if (options == null) options = Cloudinary.emptyMap();
Map<String, Object> params = new HashMap<String, Object>();
params.put("public_id", publicId);
params.put("callback", (String) options.get("callback"));
params.put("type", (String) options.get("type"));
params.put("eager", Util.buildEager((List<Transformation>) options.get("eager")));
params.put("headers", Util.buildCustomHeaders(options.get("headers")));
params.put("tags", StringUtils.join(Cloudinary.asArray(options.get("tags")), ","));
if (options.get("face_coordinates") != null) {
params.put("face_coordinates", Coordinates.parseCoordinates(options.get("face_coordinates")).toString());
}
if (options.get("custom_coordinates") != null) {
params.put("custom_coordinates", Coordinates.parseCoordinates(options.get("custom_coordinates")).toString());
}
if (options.get("context") != null) {
params.put("context", Cloudinary.encodeMap(options.get("context")));
}
return callApi("explicit", params, options, null);
}