* @return
* @throws InstagramException
*/
private <T extends InstagramObject> T createInstagramObject(Verbs verbs, Class<T> clazz, String methodName, Map<String, String> params)
throws InstagramException {
Response response;
try {
response = getApiResponse(verbs, methodName, params);
} catch (IOException e) {
throw new InstagramException("IOException while retrieving data", e);
}
if (response.getCode() >= 200 && response.getCode() < 300) {
T object = createObjectFromResponse(clazz, response.getBody());
object.setHeaders(response.getHeaders());
return object;
}
throw handleInstagramError(response);
}