@Override
 public void onResponse(final Response coapResponse) {
   LOG.debug("Received coap response: {}", coapResponse);
   try {
     final T lwM2mResponseT = buildResponse(coapResponse);
     if (lwM2mResponseT != null) {
       responseCallback.onResponse(lwM2mResponseT);
     }
   } catch (final Exception e) {
     errorCallback.onError(e);
   } finally {
     coapRequest.removeMessageObserver(this);
   }
 }
 @Override
 public void onReject() {
   errorCallback.onError(new RequestFailedException("Reject request"));
 }
 @Override
 public void onCancel() {
   errorCallback.onError(new RequestFailedException("Canceled request"));
 }
 @Override
 public void onTimeout() {
   errorCallback.onError(new org.eclipse.leshan.core.request.exception.TimeoutException());
 }