public boolean embedChildren(EntityDescriptor<?> ed) {
   switch (ed.getEntityKind()) {
     case SIMPLE:
       for (FeatureDescriptor ced : ed.getEntityFeatureDescriptors())
         if (!embedChildrenInSimple(ced.getEntityDescriptor())) return false;
       return true;
     case COMPOSITE:
       EntityDescriptor<?> ced = ed.getEntityDescriptor(0);
       return !ced.isPolymorphic() && embedChildrenInComposite(ced);
     case DATA:
       return true;
     default:
       return false;
   }
 }
 public boolean embedChild(EntityDescriptor<?> ed, int i) {
   return ed.getEntityDescriptor(i).getEntityKind().isData();
 }