for (int i=0;i<Array.getLength(value);i++) {
Object element = Array.get(value, i);
ObjectProvider embeddedOP = getEmbeddedObjectProvider(elementType, fieldNumber, element);
fieldManagerStateStack.addFirst(new FieldManagerState(embeddedOP, embmd, i));
embeddedOP.provideFields(embeddedOP.getClassMetaData().getAllMemberPositions(), this);
// Add discriminator for elements if defined
if (arrDiscName != null) {
EntityUtils.setEntityProperty(datastoreEntity, elemCmd.getDiscriminatorMetaDataRoot(),
arrDiscName + "." + i, embeddedOP.getClassMetaData().getDiscriminatorValue());