private static void serializeDiagnosticResponse(BinaryMessages.VehicleMessage.Builder builder, DiagnosticResponse message) { builder.setType(BinaryMessages.VehicleMessage.Type.DIAGNOSTIC); BinaryMessages.DiagnosticResponse.Builder messageBuilder = BinaryMessages.DiagnosticResponse.newBuilder(); messageBuilder.setBus(message.getBusId()); messageBuilder.setMessageId(message.getId()); messageBuilder.setMode(message.getMode()); messageBuilder.setPid(message.getPid()); messageBuilder.setNegativeResponseCode(message.getNegativeResponseCode().code()); messageBuilder.setSuccess(message.isSuccessful()); if(message.hasValue()) { messageBuilder.setValue(message.getValue()); } if(message.hasPayload()) { messageBuilder.setPayload(ByteString.copyFrom(message.getPayload())); } builder.setDiagnosticResponse(messageBuilder); }