It seems we have huge bug in the way we manage SchemaObjects : we store those which are standard Schema objects ( AT, OC, ...) in the global OidRegistry after having check that they were not already present. Well, this is what we expect to do. The other schemaObjects are not stored into the global OidRegistry (Normalizers, SyntaxChckers and Comparators).
Due to a wrongly '!' added in a if , the registries() method does the exact opposite.
Why does it works for java 1.6, and fail in java 5 ? It's funny : if you register first a Normalizer with an OID shared with some AT, then the global Oid Registry will contains the OID, but as the AT's OID duplication is not tested due to the wrong check, it's ok. On the other side, if you revert the registration, the duplication will be seen.
This is what happen : in java 6, we register first the normalizer, then the AT, and Java 5, we register first the AT then the normalizer (it all depends on the order by which the associated files are read from the disk).
Fixing and testing atm.