*/
private void processEmbeddedAnnotations(final DBCollection dbColl, final MappedClass mc, final boolean background,
final List<MappedClass> parentMCs, final List<MappedField> parentMFs) {
for (final MappedField mf : mc.getPersistenceFields()) {
if (mf.hasAnnotation(Indexed.class)) {
final Indexed index = mf.getAnnotation(Indexed.class);
final StringBuilder field = new StringBuilder();
if (!parentMCs.isEmpty()) {
for (final MappedField pmf : parentMFs) {
field.append(pmf.getNameToStore()).append(".");
}
}
field.append(mf.getNameToStore());
ensureIndex(dbColl,
index.name(),
new BasicDBObject(field.toString(), index.value().toIndexValue()),
index.unique(),
index.dropDups(),
index.background() ? index.background() : background,
index.sparse(),
index.expireAfterSeconds());
}
if (!mf.isTypeMongoCompatible() && !mf.hasAnnotation(Reference.class) && !mf.hasAnnotation(Serialized.class)
&& !mf.hasAnnotation(NotSaved.class) && !mf.hasAnnotation(Transient.class)) {
final List<MappedClass> newParentClasses = new ArrayList<MappedClass>(parentMCs);