Or-Condition adds conditions to id maps and leads to duplicate key exception

Description

We try to convert an existing project from version xxx (not sure which version, but was compiled on april 2011) to version 5.1.2
The compiler breaks at the point when evaluating two or conditions, telling us:
INFORMATION: Setting the installer information
-> Fatal error :
Conditions check failed: Referenced condition "izpack.selected.webclient" not found

We debugged the compiling and found in com.izforge.izpack.core.rules.RulesEngineImpl.createCondition(IXMLElement, Class<Condition>) the id of the RefCondition is generated when not set.
So we changed the xml, adding an id element using the same value as the refid.

This change led us to the next exception:
-> Fatal error :
Error reading condition at line 4: com.izforge.izpack.api.exception.IzPackException: com.izforge.izpack.api.exception.ContainerException: org.picocontainer.PicoCompositionException: Duplicate Keys not allowed. Duplicate for 'izpack.selected.client'
(stacktrace see attachment stack_DuplicateKey.txt)
When we use just one of the or conditions the exception does not appear.

Environment

Windows 10

Assignee

Unassigned

Reporter

CK

Impact

API - may break existing custom implementations

Components

Affects versions

Priority

Medium
Configure