code: function(httpAdapter, options) {
    if (!this.constructor.name) {
      throw new Error('The Constructor must be named');
    }
  
    this.name = formatGeocoderName(this.constructor.name);
  
    if (!httpAdapter || httpAdapter == 'undefined') {
      throw new Error(this.constructor.name + ' need an httpAdapter');
    }
    this.httpAdapter = httpAdapter;
  
    if (!options || options == 'undefined') {
      options = {};
    }
  
    if (this.options) {
      this.options.forEach(function(option) {
        if (!options[option] || options[option] == 'undefined') {
          options[option] = null;
        }
      });
    }
  
    this.options = options;
  }
docs: AbstractGeocoder Constructor
  @param <object> httpAdapter Http Adapter
  @param <object> options     Options