code: function(loc, options) {
  			var fetchLocation = loc;
  			if (fetchLocation === this.fileBase || fetchLocation === this.workspaceBase) {
  				return this.loadWorkspaces().then(function(workspaces) {
  					return Deferred.all(workspaces.map(function(workspace) {
  						return this.read(workspace.Location, true);
  					}.bind(this)));
  				}.bind(this));
  			}
  			//If fetch location does not have ?depth=, then we need to add the depth parameter. Otherwise server will not return any children
  			if (fetchLocation.indexOf("?depth=") === -1) { //$NON-NLS-0$
  				fetchLocation += "?depth=1"; //$NON-NLS-0$
  			}
  			var opts = {
  				headers: {
  					"Orion-Version": "1",
  					"Content-Type": "charset=UTF-8"
  				},
  				timeout: 15000
  			};
  			if (options && typeof options.readIfExists === 'boolean') {
  				opts.headers["read-if-exists"] = Boolean(options.readIfExists).toString();
  			}
  			// console.log("get children");
  			return _xhr("GET", fetchLocation, opts).then(function(result) {
  				var jsonData = result.response ? JSON.parse(result.response) : {};
  				return jsonData.Children || [];
  			}).then(function(result) {
  				if (this.makeAbsolute) {
  					_normalizeLocations(result);
  				}
  				return result;
  			}.bind(this));
  		}
docs: Obtains the children of a remote resource
  @param {String} loc The location of the item to obtain children for
  @param {?} options The optional collection of options to pass into the request
  @return A deferred that will provide the array of child objects when complete