@Override
    protected void setCompletion(final HTTPCompletion completion) {
        super.setCompletion(new HTTPCompletion() {
            @Override
            public void failure(URLRequest request, Throwable t) {
                if (completion != null) {
                    completion.failure(request, t);
                }
            }
            @Override
            public void success(URLRequest request, Object response) {
                if (completion != null) {

                    try {
                        JsonElement jsonElement = new Gson().fromJson(new String((byte[])response), JsonElement.class);

                        if (completion != null) {
                            completion.success(request, jsonElement);
                        }
                    } catch (Exception e) {
                        if (completion != null) {
                            completion.failure(request, e);
                        }
                    }
                }
            }
        });
    }