 
       {extension, extensionWithDot} = @getExt fileName
 
+      self      = @
       path      = "#{@storagePath}/#{randFileName}#{extensionWithDot}"
       
       opts.type = @getMimeType opts

        if error
          callback and callback error
        else
          result._id = @collection.insert _.clone result
          callback and callback null, result
      
      return @

      @storagePath       = @storagePath.replace /\/$/, ''
      @storagePath       = nodePath.normalize @storagePath

      fs.mkdirs @storagePath, {mode: @permissions}, (error) ->
        if error
          throw new Meteor.Error 401, "[FilesCollection.#{@collectionName}] Path #{@storagePath} is not writable!", error
        return

      check @strict, Boolean
      check @throttle, Match.OneOf false, Number
