code: function (id, version, dest, done, config) {
          if (!_.isNumber(parseInt(id, 10))) {
            return done(new Error('id must be specified.'));
          }
          if (!_.isEmpty(version) && !_.isNumber(parseInt(version, 10))) {
            return done(new Error('version must be a number.'));
          }
          if (!_.isString(dest)) {
            return done(new Error('destination must be a string.'));
          }
  
          var wr = fs.createWriteStream(dest);
          var cbCalled = false;
          wr.on("error", function (err) {
            done(err);
          });
          wr.on("close", function (ex) {
            if (!cbCalled) {
              done();
            }
            cbCalled = true;
          });
  
          var opts = {};
          if (version) {
            opts.version = version;
          }
  
          this._request(['files', id, 'content'], 'GET', function (err) {
            if (err) {
              done(err);
              cbCalled = true;
            }
          }, opts, null, null, null, wr, config);
        }
docs: Called after a {@link Connection#getFile} is performed.
  @callback getFileCallback
  @param {Error} [error] - Any error that may have occurred.
   
  Retrieves the actual data of the file. An optional {@linkcode opts.version} parameter
  can be set to download a previous version of the file.
  @summary Download a File.
  @see {@link https://developers.box.com/docs/#files-download-a-file}
  @param {number} id - The file's ID.
  @param {number} version - File version to download. Can be null (meaning get the latest).
  @param {string} dest - Full path to where the file should be saved.
  @param {getFileCallback} done - The callback to invoke (with possible errors) when the request returns.
  @param {?RequestConfig} [config] - Configure the request behaviour.