src/CollectionBinder.js
function(item)
	{
		var boundView, element, i;

		if(!this.viewTemplate)
		{
			element = this.view.element.cloneNode(true);

			this.boundViewOptions.element = element;

			boundView = new this.view.constructor(this.boundViewOptions);

			boundView._collectionBinder = null;
			boundView._modelBindersMap = this.view._modelBindersMap.clone();

			this.boundViews.push(boundView);
			i = this.boundViews.length - 1;

			boundView.scope['*'] = this.cursor.refine([i]);
			if(this.view._itemAlias) boundView.scope[this.view._itemAlias] = boundView.scope['*'];

			boundView.setBindingIndex(i);

			boundView.renderAll();

			this.viewTemplate = boundView._clone();
			this.elementTemplate = element.cloneNode(true);
		}
		else
		{
			element = this.elementTemplate.cloneNode(true);
			boundView = this.viewTemplate._clone();
			boundView._setParentView(this.view);

			this.boundViews.push(boundView);
			i = this.boundViews.length - 1;

			boundView.scope['*'] = this.cursor.refine([i]);
			if(this.view._itemAlias) boundView.scope[this.view._itemAlias] = boundView.scope['*'];

			boundView.setBindingIndex(i);
			boundView._rebindElement(element);
		}

		element.setAttribute(settings.DATA_RENDERED_ATTR, true);

		boundView._itemAlias = this.view._itemAlias;
		boundView._modelBindersMap.setView(boundView);

		return boundView;
	}
function(item)
	{
		var boundView, element, i;

		if(!this.viewTemplate)
		{
			element = this.view.element.cloneNode(true);

			this.boundViewOptions.element = element;

			boundView = new this.view.constructor(this.boundViewOptions);

			boundView._collectionBinder = null;
			boundView._modelBindersMap = this.view._modelBindersMap.clone();

			this.boundViews.push(boundView);
			i = this.boundViews.length - 1;

			boundView.scope['*'] = this.cursor.refine([i]);
			if(this.view._itemAlias) boundView.scope[this.view._itemAlias] = boundView.scope['*'];

			boundView.setBindingIndex(i);

			boundView.renderAll();

			this.viewTemplate = boundView._clone();
			this.elementTemplate = element.cloneNode(true);
		}
		else
		{
			element = this.elementTemplate.cloneNode(true);
			boundView = this.viewTemplate._clone();
			boundView._setParentView(this.view);

			this.boundViews.push(boundView);
			i = this.boundViews.length - 1;

			boundView.scope['*'] = this.cursor.refine([i]);
			if(this.view._itemAlias) boundView.scope[this.view._itemAlias] = boundView.scope['*'];

			boundView.setBindingIndex(i);
			boundView._rebindElement(element);
		}

		element.setAttribute(settings.DATA_RENDERED_ATTR, true);

		boundView._itemAlias = this.view._itemAlias;
		boundView._modelBindersMap.setView(boundView);

		return boundView;
	}
function ( item ) { var boundView , element , i ; if ( ! this . viewTemplate ) { element = this . view . element . cloneNode ( true ) ; this . boundViewOptions . element = element ; boundView = new this . view . constructor ( this . boundViewOptions ) ; boundView . _collectionBinder = null ; boundView . _modelBindersMap = this . view . _modelBindersMap . clone ( ) ; this . boundViews . push ( boundView ) ; i = this . boundViews . length - 1 ; boundView . scope [ '*' ] = this . cursor . refine ( [ i ] ) ; if ( this . view . _itemAlias ) boundView . scope [ this . view . _itemAlias ] = boundView . scope [ '*' ] ; boundView . setBindingIndex ( i ) ; boundView . renderAll ( ) ; this . viewTemplate = boundView . _clone ( ) ; this . elementTemplate = element . cloneNode ( true ) ; } else { element = this . elementTemplate . cloneNode ( true ) ; boundView = this . viewTemplate . _clone ( ) ; boundView . _setParentView ( this . view ) ; this . boundViews . push ( boundView ) ; i = this . boundViews . length - 1 ; boundView . scope [ '*' ] = this . cursor . refine ( [ i ] ) ; if ( this . view . _itemAlias ) boundView . scope [ this . view . _itemAlias ] = boundView . scope [ '*' ] ; boundView . setBindingIndex ( i ) ; boundView . _rebindElement ( element ) ; } element . setAttribute ( settings . DATA_RENDERED_ATTR , true ) ; boundView . _itemAlias = this . view . _itemAlias ; boundView . _modelBindersMap . setView ( boundView ) ; return boundView ; }
Creates a new bound view for item in collection

@private
@param  {Object} item Item for data-binding
@param  {number} i 		Binding index
@return {View} 		created view
Creates a new bound view for item in collection