docs: function() {
              var url = this.getURL(),
                  $promise = ajax.fetch(url, Crocodoc.ASSET_REQUEST_RETRIES);
  
              // @NOTE: promise.then() creates a new promise, which does not copy
              // custom properties, so we need to create a futher promise and add
              // an object with the abort method as the new target
              return $promise.then(processJSONContent).promise({
                  abort: $promise.abort
              });
          }