*/
public Object resolve(Resolver resolver) {
Object outerResolver = resolver.get(outerName);
if (outerResolver != null && outerResolver instanceof Resolver) {
Resolver originalResolver = resolver.getOriginalResolver();
return wrapped.resolve(new OriginalReplacingResolver(
originalResolver, (Resolver) outerResolver));
} else {
throw new BindingException("Failed to resolve " + outerName
+ " to a value of the proper type; got "