           done(e)
         return
     else
+      ### !pragma coverage-skip-next ###
       done(new TypeError '_loadContent Async not implemented')
     @
 

    aOptions?={}
    aOptions.path = aPath if aPath
    @initialize aOptions
    throw new TypeError('path must be exist') unless @path?
    if aOptions.load
      if isFunction(done)
        @load(aOptions, done)
      else
        @loadSync(aOptions)

  isStream: -> @contents instanceof Stream
  isBuffer: -> isBuffer @contents
  isDirectory: -> @stat? and isFunction(@stat.isDirectory) and @stat.isDirectory()
  toString: -> @path
  _inspect: -> '"'+@relative+'"'
  inspect: -> '<'+ @constructor.name + ' ' + @_inspect() + '>'
  getOptions: (aOptions)->
    result = @mergeTo(aOptions)
    result.path = @path
    result.base = @base
    result.cwd = @cwd

      done = aOptions
      aOptions = null
    aOptions = @getOptions(aOptions)
    @_loadStat aOptions, (err, stat)=>
      @stat = stat unless err or aOptions.overwrite is false
      done(err, stat)
    @
  loadStatSync: (aOptions)->
    aOptions = @getOptions(aOptions)
    if @_loadStatSync
      result = @_loadStatSync aOptions
      @stat = result if aOptions.overwrite isnt false
    else
      ### !pragma coverage-skip-next ###
      throw new TypeError '_loadStatSync not implemented'
    result

