protected void FillDictionaryWithReader <T>(IDataReader reader, ref Result <T> result) where T : Cope <T>, IManageable, new() { using (reader) { IEnumerable <PropertyInfo> properties = DataSerializer.GetFilteredPropertiesBasedOnList <T>(reader); while (reader.Read()) { result.Data.Add(reader[Cope <T> .ModelComposition.PrimaryKeyProperty.Name], DataSerializer.ConvertReaderToObjectOfType <T>(reader, properties)); } } }