BundleService { protected FaultResponseDto faultResponseForException(final Exception exception, final List<FaultResponseParameterDto> parameters, final String defaultMessage) { final FaultResponseParametersDto faultResponseParameters = this.faultResponseParametersForList(parameters); if (exception instanceof FunctionalException || exception instanceof TechnicalException) { return this .faultResponseForFunctionalOrTechnicalException((OsgpException) exception, faultResponseParameters, defaultMessage); } return new FaultResponseDto.Builder().withMessage(defaultMessage) .withComponent(ComponentType.PROTOCOL_DLMS.name()) .withInnerException(exception.getClass().getName()) .withInnerMessage(exception.getMessage()) .withFaultResponseParameters(faultResponseParameters).build(); }  BundleMessagesRequestDto callExecutors(final DlmsConnectionManager conn, final DlmsDevice device,
            final BundleMessagesRequestDto bundleMessagesRequest);  }
@Test public void exceptionDetailsWithDefaultComponentInFaultResponse() throws Exception { final String message = "Unexpected null/unspecified value for M-Bus Capture Time"; final Exception exception = new ProtocolAdapterException(message); this.parameters.add(new FaultResponseParameterDto("deviceIdentification", "ESIM1400000000123")); this.parameters.add(new FaultResponseParameterDto("gasDeviceIdentification", "ESIMG140000000841")); this.parameters.add(new FaultResponseParameterDto("channel", "3")); final String defaultMessage = "Unable to handle request"; final FaultResponseDto faultResponse = this.bundleService.faultResponseForException(exception, this.parameters, defaultMessage); this.assertResponse(faultResponse, null, defaultMessage, this.defaultComponent.name(), exception.getClass().getName(), message, this.parameters); }