public MixinsMap(Type compositeType) { try { matcher = new AttributeTypeMatcher <MixinsAttribute>(compositeType, attr => attr.Mixins); map = new List <TypeMap>( matcher.Select(tuple => { return(TypeMap.Create(tuple.Item1, tuple.Item2)); }) ); } catch (MissingTypeException missingTypeException) { throw new MissingMixinException(missingTypeException); } catch (DuplicateTypeAnnotationException duplicateTypeAnnotationException) { throw new DuplicateMixinAnnotationException(duplicateTypeAnnotationException); } catch (TypeDefinitionInitializationException typeDefinitionInitializationException) { throw new MixinAnnotationException(typeDefinitionInitializationException); } }