         return do_merge() unless options.default
         return do_default() unless typeof options.default is 'string'
         options.log? "Read default properties from #{options.default}"
+        # Populate options.default
         ssh = if options.local_default then null else options.ssh
         properties.read ssh, options.default, (err, dft) ->
           return next err if err

    .on 'item', (options, next) ->
      updated = 0
      options.source ?= options.destination
      do_read = ->
        options.log? "Read source properties from '#{options.source}'"
        properties.read options.ssh, options.source, (err, props) ->
          return next err if err and err.code isnt 'ENOENT'
          org_props = if err then {} else props

        options.source = null
        mecano.write options, (err, written) ->
          next err
      conditions.all options, next, do_read_source
    .on 'both', (err) ->
      finish err, configured
  result
