/// <summary>
        /// Create a single component presentation model
        /// </summary>
        /// <param name="component"></param>
        /// <param name="componentTemplate"></param>
        /// <returns></returns>
        private ComponentPresentationModel CreateComponentPresentation(Component component, ComponentTemplate componentTemplate)
        {
            var linkLevels = componentTemplate.GetLinkLevels();

            var presentation = new ComponentPresentationModel
            {
                ComponentModel = new ComponentModel
                {
                    TcmUri     = component.Id,
                    Title      = component.Title,
                    SchemaName = component.Schema.Title,
                    Content    = _mapper.MapItemFields(component.Content,
                                                       component.Schema,
                                                       linkLevels),
                    Metadata = _mapper.MapItemFields(component.Metadata,
                                                     component.MetadataSchema,
                                                     linkLevels),
                    BinaryUrl = component.BinaryContent != null
                                                                        ? component.PublishBinary(Engine, Package)
                                                                        : null
                },
                TemplateModel = new TemplateModel
                {
                    TcmUri     = component.Id,
                    Title      = component.Title,
                    SchemaName = componentTemplate.MetadataSchema != null
                                                                        ? componentTemplate.MetadataSchema.Title
                                                                        : null,
                    Metadata = _mapper.MapItemFields(componentTemplate.Metadata,
                                                     componentTemplate.MetadataSchema,
                                                     linkLevels),
                    Priority = componentTemplate.Priority
                }
            };

            return(presentation);
        }