- builder = RpcResultBuilder.<T>failed().withError(RpcError.ErrorType.APPLICATION, t.getMessage(), t);
- spyMessage(MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_ERROR);
+ if (throwable != null) {
+ builder = RpcResultBuilder.<T>failed()
+ .withError(ErrorType.APPLICATION, throwable.getMessage(), throwable);
+ } else {
+ Throwable deviceReadFailedThrowable = new Throwable("Failed to read from device.");
+ builder = RpcResultBuilder.<T>failed()
+ .withError(ErrorType.APPLICATION, deviceReadFailedThrowable.getMessage(),
+ deviceReadFailedThrowable);
+ }
+ spyMessage(StatisticsGroup.TO_SWITCH_SUBMIT_ERROR);