public override LazyDictionary <string, ItemField> GetValue(EntitySchema source) { //convert the source to a dictionary object ignoring some of its properties var d = source.ToDictionary <EntitySchema, object, object>( x => x.Id, x => x.AttributeTypes, x => x.AttributeDefinitions, x => x.AttributeGroups, x => x.ConcurrencyToken, x => x.RelationProxies); var output = new LazyDictionary <string, ItemField>(); foreach (var i in d) { output.Add(i.Key, new ItemField(i.Value)); } ExamineHelper.SetTimestampsOnEntityAndIndexFields(output, source); return(output); }