     
     context = {}
     # loop through properties to pick up any key/values that should be nested
-    for key, value of node
-      if @isProcessable node, value, key
-        nested_value = @chooseValue @getNode(node, key), {}
-        formatted = @nestNodes node, nested_value, key
-        context[formatted.key] = formatted.value if formatted.value?
+    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) =>

    
    if !@config.nest
      # loop through properties iode to pick up any key/values that should be choose
      for key, value of node
        # skip if node property already used, the property was specified by the template, or it should not be choose
        if @paths(node).indexOf(key) is -1 and key not in context and @isProcessable node, value, key
          formatted = @applyFormatting node, value, key
          context[formatted.key] = formatted.value if formatted.value?
      
    context
  

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