       attrList = vars.attrs.value
 
     if attrList instanceof Array
-      val = uniqueValues filterArray(attrList), variable
+      val = uniqueValues filterArray(attrList, node, depth), variable
       return val if val.length
     else if node instanceof Array
       attrList = [attrList[n] for n in node if n of attrList]

  else
    val = fetch vars, node, variable, depth

  if (nodeObject and typeof variable is "string" and
      variable not of node and "d3plus" of node)
    node.d3plus.data = {} unless "data" of node.d3plus
    node.d3plus.data[variable] = val


      return node[variable]

    # Checks if the variable has already been fetched.
    if "d3plus" of node and
       "data" of node.d3plus and
       variable of node.d3plus.data
      return node.d3plus.data[variable]

    node = node[depth]
