private IEnumerable <FieldData> GetFieldData(IItemVariantIdentifier identifier, ItemModel itemModel)
        {
            var language = itemModel.GetLanguage(identifier.Language);
            var version  = language.GetVersion(identifier.Version);

            var invariantFields = itemModel.Fields.Select(field => new FieldData(
                                                              field.Id,
                                                              identifier.Id,
                                                              field.Value,
                                                              VarianceInfo.Invariant));

            var languageVariantFields = language.Fields.Select(field => new FieldData(
                                                                   field.Id,
                                                                   identifier.Id,
                                                                   field.Value,
                                                                   VarianceInfo.LanguageVariant(language.Language)));

            var variantFields = version.Fields.Select(field => new FieldData(
                                                          field.Id,
                                                          identifier.Id,
                                                          field.Value,
                                                          VarianceInfo.Variant(language.Language, version.Number)));

            return(invariantFields.Union(languageVariantFields).Union(variantFields));
        }