public V valAt(Class c) {
        V val =  lookup.valAt(c);
        if (val == null) {
            val = checkBaseClasses(c);
        }
        if (val == null) {
            val = checkBaseInterfaces(c);
        }
        if (val == null) {
            val = lookup.valAt((Class) Object.class);
        }
        return val;
    }