code: function(loc) {
  			if (loc === this.fileBase) {
  				loc = null;
  			}
  			return _xhr("GET", loc ? loc : this.workspaceBase, {
  				headers: {
  					"Orion-Version": "1"
  				},
  				timeout: 15000,
  				log: false
  			}).then(function(result) {
  				var jsonData = result.response ? JSON.parse(result.response) : {};
  				//in most cases the returned object is the workspace we care about
  				if (loc) {
  					return jsonData;
  				}
  				//user didn't specify a workspace so we are at the root
  				//just pick the first location in the provided list
  				if (jsonData.Workspaces.length > 0) {
  					return this.loadWorkspace(jsonData.Workspaces[0].Location);
  				}
  				//no workspace exists, and the user didn't specify one. We'll create one for them
  				return this.createWorkspace("Orion Content");
  			}.bind(this)).then(function(result) {
  				if (this.makeAbsolute) {
  					_normalizeLocations(result);
  				}
  				return result;
  			}.bind(this));
  		}
docs: Loads the workspace with the given id and sets it to be the current
  workspace for the IDE. The workspace is created if none already exists.
  @param {String} loc the location of the workspace to load
  @param {Function} onLoad the function to invoke when the workspace is loaded