       child_array = @getNode element, @config.union
       # if not an array, make into array before merging
       child_array = [child_array] if !sysmo.isArray(child_array)
-      
-      for child in child_array
-        flattened_array.push child if child?
+      # add each child to the master array
+      flattened_array.push(child) for child in child_array when child?
     
     flattened_array
     

  getNode: (node, path) =>
    return node if path is '.'
    @paths node, path
    sysmo.getDeepValue node, path
    
  # track the first property in a path for each node through object tree
  paths: (node, path) =>

    
    context = {}
    # loop through properties to pick up any key/values that should be nested
    for key, value of node when @isProcessable node, value, key
      nested_value = @chooseValue @getNode(node, key), {}
      formatted = @nestNodes node, nested_value, key
      context[formatted.key] = formatted.value if formatted.value?
    context
    
  nestNodes: (node, value, key) =>
