Do cache the resolver after all; resolveConstraints is called a large number of times