public override void Modify(DocumentMapping mapping, MemberInfo member) { var membersGroupedByIndexName = member.DeclaringType.GetMembers() .Where(mi => mi.GetCustomAttributes <UniqueIndexAttribute>().Any()) .Select(mi => new { Member = mi, IndexInformation = mi.GetCustomAttributes <UniqueIndexAttribute>().First() }) .GroupBy(m => m.IndexInformation.IndexName ?? m.Member.Name) .Where(mg => mg.Any(m => m.Member == member)) .Single(); mapping.AddUniqueIndex( membersGroupedByIndexName.Select(mg => new[] { mg.Member }).ToArray(), IndexType, IndexName, IndexMethod); }