       child.scope = parent.scope
 
       # Skip object key access
-      if child.asKey and child.unfoldedSoak isnt false
+      if child.asKey and parent.soak is false and child.unfoldedSoak isnt false
         return true
 
       # Skip key in object literal

      if child instanceof Code
        isContains = Ripper.isContains child, target
        isDeclared = Ripper.isDeclared child, target, parent
        # console.log inspect { isDeclaredInParent, isDeclared, isContains }

        [ childDests, isChildFixed ] = Ripper.findReferences child, target, isDeclaredInParent or isDeclared

        if isContains

    )

  @find: ({ symbol, references }, targetLocationData) ->
    target = @findSymbol symbol, targetLocationData
    return [] unless target?
    _.uniq @findReferences(references, target)[0]
