code: function () {
  		var self = this;
  		var routes;
  
  		this.getRouteFromDirectory(this.routeBasePath(), function (err, dataRoute) {
  			if (err) return console.dir(err);
  
  			routes = dataRoute.routes;
  
  			if (dataRoute.dirs && dataRoute.dirs.length > 0) {
  				var listRouteFromDir = [];
  
  				dataRoute.dirs.forEach(function (dir) {
  					if (dir) listRouteFromDir.push(function (cb) { self.getRouteFromDirectory(self.routeBasePath() + '/' + dir, dir, cb); });
  				});
  
  				async.parallel(listRouteFromDir, function (err, asyncData){
  					if (err) return console.dir(err);
  
  					listRouteFromDir = [];
  
  					if (asyncData.length > 0) {
  						asyncData.forEach(function (data) {
  							data.dirs.forEach(function (dir) {
  								if (dir)
  									listRouteFromDir.push(function (cb) {
  										self.getRouteFromDirectory(data.pathDir + '/' + dir, data.rootApiPath + '/' + dir, cb);
  									});
  							});
  						});
  
  						async.parallel(listRouteFromDir, function (err, asyncDataVer){
  							if (err) return console.dir(err);
  
  							self.setTempRoutes(asyncData, routes);
  							self.setTempRoutes(asyncDataVer, routes);
  							self.__init__middleware(routes);
  						});
  					}
  				});
  			} else {
  				self.__init__middleware(routes);
  			}
  		});
  	}
docs: ****************************************************************
  |	Description: Router initialization.
  ****************************************************************