Yes, the "constraint" must
not be containment="true". As I mentioned in my just sent previous
note IJavaInstances must always be containment="false" while
non-IJavaInstances (such as our intermediate object) must be containment="true".
As for your constraint feature, you
said it could be a String or GridBagConstraint. It should be a IJavaInstance
kind of String, not just a plain string because you can't mix non-IJavaInstances
and IJavaInstances on the same feature.
I would also just set the constraint
before setting the label into the container and only use the ruled on the
label being set into container. Saves a little time so that the preset
doesn't walk the same stuff twice.