public void contributeTypes(Archive archive) { if (discriminators == null) return; GenericArchiveTypeDiscriminator discriminator = null; for (Iterator itr = discriminators.iterator(); itr.hasNext();) { discriminator = (GenericArchiveTypeDiscriminator) itr.next(); if (discriminator.discriminate(archive)) archive.getTypes().add(discriminator.getTypeKey()); } }