class GetFirmwareVersionsCommandExecutor extends AbstractCommandExecutor<Void, List<FirmwareVersionDto>> {

    @Override
    public List<FirmwareVersionDto> execute(final DlmsConnectionManager conn, final DlmsDevice device,
            final Void useless) throws ProtocolAdapterException {
        if (Protocol.forDevice(device).isSmr5()) {
            return this.getFirmwareVersions(conn, device, FOR_SMR_5);
        }
        return this.getFirmwareVersions(conn, device, FOR_DSMR_4_2_2);
    }

    @Autowired public  GetFirmwareVersionsCommandExecutor(final DlmsHelper dlmsHelper);

}