SmartMeter floods log with non parseable OBIS codes like "2-8-2&07"

My meter returns values for OBIS codes where some are like “2-8-2&07”, note the &.

The SmartMeter binding cannot parse them and floods the log, see below.
What can I do to avoid that?
Meter is a Landis&Gyr E550. Used mode=ABC. OH3


2021-01-16 18:49:47.518 [ERROR] [ding.smartmeter.internal.MeterDevice] - Meter listener failed

java.lang.IllegalArgumentException: ID segment ‘2-8-2&07’ contains invalid characters. Each segment of the ID must match the pattern [\w-]*.

at org.openhab.core.common.AbstractUID.validateSegment( ~[bundleFile:?]

at org.openhab.core.common.AbstractUID.<init>( ~[bundleFile:?]

at org.openhab.core.common.AbstractUID.<init>( ~[bundleFile:?]

at org.openhab.core.thing.UID.<init>( ~[bundleFile:?]

at org.openhab.core.thing.type.ChannelTypeUID.<init>( ~[bundleFile:?]

at org.openhab.binding.smartmeter.internal.SmartMeterChannelTypeProvider.getChannelType( ~[bundleFile:?]

at org.openhab.binding.smartmeter.internal.SmartMeterChannelTypeProvider.valueChanged( ~[bundleFile:?]

at org.openhab.binding.smartmeter.internal.MeterDevice.lambda$9( [bundleFile:?]

at java.util.concurrent.CopyOnWriteArrayList.forEach( [?:?]

at org.openhab.binding.smartmeter.internal.MeterDevice.addObisCache( [bundleFile:?]

made it to work by changing the binding code:
public static String getObisChannelId(String obis) {
return obis.replaceAll("\.", “-”).replaceAll(":expressionless:[\*&]", “_”);
in internal\
public static final String OBIS_PATTERN = “((?[0-9]{1,3})-(?[0-9]{1,3}):)?(?[0-9]{1,3}).(?[0-9]{1,3}).(?[0-9]{1,3})([\*&](?[0-9][0-9]{1,3}))?”;

Landis&Gyr E550 handbook says:
An asterisk (*) for stored values in the readout, if they have been produced by an automatic reset or
An ampersand (&) for stored values in the readout, if they have been produced by a manual reset.