 
     return @
 
+  # Provides a callback function for API requests that builds relations with
+  # the API response and assigns them to this node. The relations must be configured
+  # with the @relations property.
+  #
+  # @param [Function] cb The user provided callback to call once relations are built.
   buildRelations: (cb) ->
     api = @api
 

      @withData(resp)
      cb.call(@, err, resp)

  buildRelationsArray: (prop, klass, cb) ->
    api = @api


    else
      args

  # Creates a new Project object based on the given name, and sets this
  # node as the parent node.
  #
  # @param [String] name The project name
  project: (name) -> new Project(@api, @, name)

  # Creates a new Folder object based on the given path, and sets this
  # node as the parent node.
  #
  # @param [String] path The path of the folder node relative to this node.
  folder: (path...) ->  new Folder(@api, @, path)

  # Creates a new File object based on the given path, and sets this
  # node as the parent node.
  #
  # @param [String] path The path of the file node relative to this node.
  file: (path...) -> new File(@api, @, path)

  # Creates a new Revision object based on the given path, and sets this
  # node as the parent node.
  #
  # @param [String] path The path of the revision node relative to this node.
  revision: (path...) -> new Revision(@api, @, path)

Project = require './nodes/project'
