       else
         throw "unknown template type: #{input.type}"
 
+  ###
+  # Iterates all inputs and generates target outputs,
+  # supplying groups with targets as well
+  ###
   generateTargets: ->
     groupSubs = {}
     for rule in @rootMist.rules

          else
            throw "unknown input type: #{input.type}"

  processInput: (rule, input, group, groupSubs = {})->
    return if input of rule.targets


    for rule in @rootMist.rules
      rule.targets = {}

  ###
  # Generates templates for dependencies and outputs
  ###
