private IEnumerable <Lazy <T, TMetadataView> > GetExportsCore <T, TMetadataView>(string contractName)
        {
            IEnumerable <Export> exports = this.GetExportsCore(typeof(T), typeof(TMetadataView), contractName, ImportCardinality.ZeroOrMore);

            Collection <Lazy <T, TMetadataView> > result = new Collection <Lazy <T, TMetadataView> >();

            foreach (Export export in exports)
            {
                result.Add(ExportServices.CreateStronglyTypedExportOfTM <T, TMetadataView>(export));
            }
            return(result);
        }
        private Lazy <T, TMetadataView> GetExportCore <T, TMetadataView>(string contractName)
        {
            Export export = this.GetExportsCore(typeof(T), typeof(TMetadataView), contractName, ImportCardinality.ExactlyOne).SingleOrDefault();

            return((export != null) ? ExportServices.CreateStronglyTypedExportOfTM <T, TMetadataView>(export) : null);
        }