@@ -0,0 +1,736 @@
+package me.tomassetti.turin.parser.analysis.resolvers;%0A%0Aimport me.tomassetti.turin.parser.ast.TypeDefinition;%0A%0Aimport java.util.List;%0Aimport java.util.Optional;%0A%0Apublic class ComposedTypeResolver implements TypeResolver %7B%0A%0A    private List%3CTypeResolver%3E elements;%0A%0A    public ComposedTypeResolver(List%3CTypeResolver%3E elements) %7B%0A        this.elements = elements;%0A    %7D%0A%0A    @Override%0A    public Optional%3CTypeDefinition%3E resolveAbsoluteTypeName(String typeName) %7B%0A        for (TypeResolver element : elements) %7B%0A            Optional%3CTypeDefinition%3E partial = element.resolveAbsoluteTypeName(typeName);%0A            if (partial.isPresent()) %7B%0A                return partial;%0A            %7D%0A        %7D%0A        return Optional.empty();%0A    %7D%0A%7D%0A

add ComposedTypeResolver