whole_func_string: function(entryPath, attributes) {
      if (this.options.templateAdapterInstance) {
        this.templateAdapter = this.options.templateAdapterInstance;
      } else {
        var templateAdapterModule = attributes.templateAdapter || this.defaults.templateAdapter,
          templateAdapterOptions = {entryPath: entryPath},
          templateEngine = require(attributes.templateEngine || this.defaults.templateEngine);
  
        templateAdapterOptions = this.setTemplateFinder(templateAdapterOptions);
        this.templateAdapter = require(templateAdapterModule)(templateAdapterOptions, templateEngine);
      }
    }
func_code_string: function(entryPath, attributes) {
      if (this.options.templateAdapterInstance) {
        this.templateAdapter = this.options.templateAdapterInstance;
      } else {
        var templateAdapterModule = attributes.templateAdapter || this.defaults.templateAdapter,
          templateAdapterOptions = {entryPath: entryPath},
          templateEngine = require(attributes.templateEngine || this.defaults.templateEngine);
  
        templateAdapterOptions = this.setTemplateFinder(templateAdapterOptions);
        this.templateAdapter = require(templateAdapterModule)(templateAdapterOptions, templateEngine);
      }
    }
func_documentation_string: @shared
  
  Initialize the `templateAdapter`, allowing application developers to use whichever
  templating system they want.
  
  We can't use `this.get('templateAdapter')` here because `Backbone.Model`'s
  constructor has not yet been called.