   # Checks inside of the visualization data array, if available, for the needed
   # variable (given the node ID).
   if vars.data.viz instanceof Array
-    val = uniqueValues filterArray(vars.data.viz), variable
+    val = uniqueValues filterArray(vars.data.viz, node, depth), variable
     return val if val.length
 
-  # Checks inside of the attribute list, if available.
+  # Checks inside of the attribute list, if available
   if "attrs" of vars and vars.attrs.value
 
     if validObject(vars.attrs.value) and depth of vars.attrs.value

  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


  depth      = vars.id.value unless depth
  nodeObject = validObject node

  # Checks inside the "node" variable if it is an object. If the variable is not
  # avaiable inside of the object, "node" gets reset to it's ID value to help
  # searching through the data and attributes lists.
