public void mergeInMembers(MetaEntity other) {
   // store the entity in order do the merge lazily in case of a non-initialized embeddedable or
   // mapped superclass
   if (!initialized) {
     this.entityToMerge = other;
   } else {
     mergeInMembers(other.getMembers());
   }
 }
  public List<MetaAttribute> getMembers() {
    if (!initialized) {
      init();
      if (entityToMerge != null) {
        mergeInMembers(entityToMerge.getMembers());
      }
    }

    return new ArrayList<MetaAttribute>(members.values());
  }