anchor.diff:  def render(data)
     return '# No data to render' if !data or data.empty? or !data.is_a?(Hash)
     stream = ''
  -  data.each{|k,v|
  +  remove_knocked_out_keys(data).each{|k,v|
       stream = stream << recursive_render(k, v)
     }
     stream
  
positive.code: # !include* directives are written as-is with one exception:  the conf.d
  # directory is required and will always be written as a !include directive.
  # To render more than one of any directive, use an Array of it.
  ################################################################################
  
  ###
  
negative.code: end
  
  ###
  # Removes keys from a source Hash for which a matching knock-out key exists.
  #
  # Parameters:
  # data <Hash> The source data with both normal and knock-out keys.
  #
  # Returns:
  # <Hash> The culled data.
  ##
  def remove_knocked_out_keys(data)
    knockout_keys = data.select{|k,v| k.to_s.start_with?('--') }
    data.delete_if{|k,v|
      knockout_keys.include?(k) or knockout_keys.include?("--#{k}")
    }
    data
  end
  
  ###
  # Recursively renders the source data as a Dovecot configuration file.
  #
  # Parameters:
  