Resolves references in this model.

def resolve(self):
        """
        Resolves references in this model.
        """

        model = self.copy()
        
        for ct in model.component_types:
            model.resolve_component_type(ct)

        for c in model.components:
            if c.id not in model.fat_components:
                model.add(model.fatten_component(c))

        for c in ct.constants:
            c2 = c.copy()
            c2.numeric_value = model.get_numeric_value(c2.value, c2.dimension)
            model.add(c2)
            
        return model