immutable = metaInfo.get( Immutable.class ) != null;
propertiesModel = new PropertiesModel();
stateModel = createStateModel();
mixinsModel = createMixinsModel();
compositeMethodsModel = new CompositeMethodsModel( mixinsModel );
// Implement composite methods
ArrayList<Type> allTypes = getTypes( this.types );
Iterable<Class<? extends Constraint<?, ?>>> constraintClasses = constraintDeclarations( getTypes( this.types ) );
Iterable<Class<?>> concernClasses = flatten( concerns, concernDeclarations( allTypes ) );