private static CompositionResult <IEnumerable <Export> > TryGetExports(ExportProvider provider, ComposablePart part, ImportDefinition definition, AtomicComposition atomicComposition) { try { var exports = provider.GetExports(definition, atomicComposition).AsArray(); return(new CompositionResult <IEnumerable <Export> >(exports)); } catch (ImportCardinalityMismatchException ex) { // Either not enough or too many exports that match the definition CompositionException exception = new CompositionException(ErrorBuilder.CreateImportCardinalityMismatch(ex, definition)); return(new CompositionResult <IEnumerable <Export> >( ErrorBuilder.CreatePartCannotSetImport(part, definition, exception))); } }