code: function(config, widget, parent_view, template, properties) {
  
  		var name_source = Lava.view_manager.locateTarget(widget, config.class_locator.locator_type, config.class_locator.name);
  		if (Lava.schema.DEBUG && (!name_source || !name_source.isWidget)) Lava.t("[ClassLocatorGateway] Target is null or not a widget");
  
  		var constructor = name_source.getPackageConstructor(config.real_class);
  		return new constructor(config, widget, parent_view, template, properties);
  
  	}
docs: Behaves like view/widget constructor, but resolves the correct class name from widget hierarchy
  
  @param {(_cView|_cWidget)} config
  @param {Lava.widget.Standard} widget
  @param {Lava.view.Abstract} parent_view
  @param {Lava.system.Template} template
  @param {Object} properties
  @returns {(Lava.widget.Standard|Lava.view.Abstract)}