code: function get (obj, keys, _default) {
    var i
    var key
    var tmp = obj || {}
  
    keys = _splitPath(keys)
  
    if (!keys || keys.length === 0) {
      return _default
    }
  
    for (i = 0; i < keys.length; i++) {
      key = keys[i]
      if (tmp && tmp.hasOwnProperty(key)) {
        tmp = tmp[key]
      } else {
        return _default
      }
    }
    return tmp
  }
docs: get properties from `obj`
  
  
  #### Example
  
  ```js
  var r,
  get = require('mergee').get,
  obj = { a: { b: { c: 1 } } };
  r = get(obj, ['a', 'b', 'c']);
  // r = 1
  r = get(obj, 'a.b');
  // r = { c: 1 }
  r = get(obj, 'there.is.no.such.property'); // this will not throw!
  // r = undefined
  ```
  
  @param {Object} obj - object to select from
  @param {Array|String} keys - Array of properties or dot separated string of properties; If using a String avoid using property names containing a `.`
  @return {Object} selected object