/** * Returns an embeddable object for the owner object, initializing embeddable if it is * null. Currently supports only one level of embedding. */ protected Object getEmbeddable(Object owner) { Object embeddable = embeddedAccessor.getValue(owner); if (embeddable == null) { embeddable = embeddableDescriptor.createObject(owner, embeddedAccessor .getName()); embeddedAccessor.setValue(owner, embeddable); } return embeddable; } }