             @_hasKeyDeps[key] ?= new Tracker.Dependency @creator
             @_hasKeyDeps[key].depend()
 
-        key of @_fields
+        if _filtered and @filterFunc?
+            key of @_fields and @tryGet(key) isnt undefined
+        else
+            key of @_fields
 
 
     isActive: ->



    getKeys: ->
        @_keysVar.get()


    hasKey: (key) ->
        if @_keysVar._value is undefined or @_keysVar._invalidAncestors.length
            # This might have a special @_replaceKeys side effect
            # which then makes the logic in super work

            (1) J.AutoDict [tag], keysFunc, valueFunc, [onChange, [options]]
            (2) J.AutoDict [tag], keysList, valueFunc, [onChange, [options]]
            (3) J.AutoDict [tag], fieldSpecs, [onChange, [options]]

            Options:
                creator
                onChange
                withFieldFuncs
                fineGrained
                filterFunc
                    Pretend like the only keys are ones whose corresponding
                    value passes filterFunc
        ###

        unless @ instanceof J.AutoDict
