An adapted XCapability/XRequirement is not the same object as the original. Client code must use equals() instead of '=='. Make sure equals returns true for all cases.