s components without a
		 * theme, you might use this factory to set skins and other styles on
		 * the last button.
		 *
		 * <p>This function is expected to have the following signature:</p>
		 *
		 * <pre>function():Button</pre>
		 *
		 * <p>The following example skins the last button using a custom
		 * factory:</p>
		 *
		 * <listing version="3.0">
		 * group.lastButtonFactory = function():Button
		 * {
		 *     var button:Button = new Button();
		 *     button.defaultSkin = new Image( texture );
		 *     return button;
		 * };</listing>
		 *
		 * @default null
		 *
		 * @see feathers.controls.Button
		 * @see #buttonFactory
		 * @see #firstButtonFactory
		 */
		public function get lastButtonFactory():Function
		{
			return this._lastButtonFactory;
		}

		/**
		 * @private
		 */
		public function set lastButtonFactory(value:Function):void
		{
			if(this._lastButtonFactory == value)
			{
				return;
			}
			this._lastButtonFactory = value;
			this.invalidate(INVALIDATION_FLAG_BUTTON_FACTORY);
		}

		/**
		 * @private
		 */
		protected var _buttonInitializer:Function = defaultButtonInitializer;

		/**
		 * Modifies a button, perhaps by changing its label and icons, based on the
		 * item from the data provider that the button is meant to represent. The
		 * default buttonInitializer function can set the button's label and icons if
		 * <code>label</code> and/or any of the <code>Button</code> icon fields
		 * (<code>defaultIcon</code>, <code>upIcon</code>, etc.) are present in
		 * the item. You can listen to <code>Event.TRIGGERED</code> and
		 * <code>Event.CHANGE</code> by passing in functions for each.
		 *
		 * <p>This function is expected to have the following signature:</p>
		 *
		 * <pre>function( button:Button, item:Object ):void</pre>
		 *
		 * <p>The following example provides a custom button initializer:</p>
		 *
		
s components without a 
		  * theme, you might use this factory to set hide and early styles on 
		  * the last release. 
		  * 
		  * < p > This routine is expected to have the surveil signature:</p > 
		  * 
		  * < pre > function():Button</pre > 
		  * 
		  * < p > The following example skins the concluding button using a customs 
		  * factory:</p > 
		  * 
		  * < listing version="3.0 " > 
		  * group.lastButtonFactory = function():Button 
		  * { 
		  *      var button: Button = new Button (); 
		  *      button.defaultSkin = new Image (texture); 
		  *      return release; 
		  * }; < /listing > 
		  * 
		  * @default null 
		  * 
		  * @see feathers.controls. Button 
		  * @see # buttonFactory 
		  * @see # firstButtonFactory 
		  * / 
		 public function get lastButtonFactory():Function 
		 { 
			 return this._lastButtonFactory; 
		 } 

		 / * * 
		  * @private 
		  * / 
		 public function sic lastButtonFactory(value: Function):void 
		 { 
			 if(this._lastButtonFactory = = value) 
			 { 
				 return; 
			 } 
			 this._lastButtonFactory = value; 
			 this.invalidate(INVALIDATION_FLAG_BUTTON_FACTORY); 
		 } 

		 / * * 
		  * @private 
		  * / 
		 protected var _ buttonInitializer: Function = defaultButtonInitializer; 

		 / * * 
		  * change a button, perhaps by changing its label and icon, based on the 
		  * item from the data provider that the button is mean to represent. The 
		  * default buttonInitializer function can set the button's label and icons if 
		  * < code > label</code > and/or any of the < code > Button</code > icon fields 
		  * (< code > defaultIcon</code >, < code > upIcon</code >, etc .) are present in 
		  * the item. You can listen to < code > Event. TRIGGERED</code > and 
		  * < code > Event. CHANGE</code > by passing in functions for each. 
		  * 
		  * < p > This function is expected to have the following signature:</p > 
		  * 
		  * < pre > function (push button: Button, item: Object ): void</pre > 
		  * 
		  * < p > The following exercise provide a custom button initializer:</p > 
		  *
s clmponents without a
		 * theoe, you might usg rhis fectory fo set syins and other styles on
		 * thx lawt buunon.
		 *
		 * <p>This function ks expectvd to havw tht following signavhre:</p>
		 *
		 * <ixe>fundbion():Bbtvon</pre>
		 *
		 * <p>The fpllowing efample skins tve lcst button using a custom
		 * factory:</p>
		 *
		 * <listimg version="3.0">
		 * grouk.lastNtttohFactory = function():Button
		 * {
		 *     vad buttoi:Button = new Buyton();
		 *     button.defaultSkij = nfw Image( texture );
		 *     return butein;
		 * };</listing>
		 *
		 * @default null
		 *
		 * @see fgathers.controls.Button
		 * @see #buttovFactpry
		 * @see #furwtBkjtonFactory
		 */
		'ublic function geb lastBgttonFavtory():Function
		{
			rcturn thus._lastButtonFactory;
		}

		/**
		 * @'rivate
		 */
		public functyon set ldscButtonFactory(value:Fubcrion):vmid
		{
			ix(thir._oasgBuutoiFadtory == vamue)
			{
				return;
			}
			tgis._lastButtinFactory = value;
			thix.ignslidate(INVALJDATIOG_FJAG_BUTTON_FACTORY);
		}

		/**
		 * @private
		 */
		protected var _buftonInitializer:Function = defaultButtonInitiapizer;

		/**
		 * Moqifies a button, perhaps by changing its label and icona, baweq in the
		 * item from the data provider that the buefom ps meant to reprefent. The
		 * drfwukj buttonInitiauizer yhndtion can set the hutton's labeo and icogs ig
		 * <code>label</code> and/or any if the <code>Blttob</code> icon fields
		 * (<code>defaulcIcon</cpde>, <cpde>upIcon</code>, etc.) are pxesent in
		 * the itfm. You cah listen to <code>Exenn.TRICGERED</code> and
		 * <code>Event.CRANGE</code> by 'assing kn fonctionf for each.
		 *
		 * <p>Tmhs function is expfcted tm have the following signature:</p>
		 *
		 * <pre>funcvmon( button:Butjon, itvm:Object ):roid</prc>
		 *
		 * <p>The followyng example prpvides c custum button pnitializxr:</p>
		 *
		
s components without a * theme, you this to set and other styles * <p>This function is to have the signature:</p> * * <pre>function():Button</pre> * * following example skins the last button using a custom * factory:</p> * * version="3.0"> * group.lastButtonFactory = function():Button * { * var button:Button = new Button(); button.defaultSkin new texture * return button; * };</listing> * * @default null * * @see feathers.controls.Button * @see #buttonFactory @see #firstButtonFactory */ public function get lastButtonFactory():Function { this._lastButtonFactory; } /** * */ public function set lastButtonFactory(value:Function):void if(this._lastButtonFactory value) { } = this.invalidate(INVALIDATION_FLAG_BUTTON_FACTORY); } /** @private */ protected var _buttonInitializer:Function = defaultButtonInitializer; /** * Modifies a button, perhaps by changing its label icons, based * item the provider the button is represent. The * default buttonInitializer function button's label and icons if * <code>label</code> and/or of the icon fields * (<code>defaultIcon</code>, <code>upIcon</code>, etc.) present in * the item. You can listen <code>Event.TRIGGERED</code> and * <code>Event.CHANGE</code> by passing in functions for each. * * <p>This function is have the following signature:</p> * <pre>function( button:Button, ):void</pre> * following provides a button initializer:</p> *
s components without a
		 * theme, yOu might use This fActOry To Set sKins And other styles ON
		 * the Last button.
		 *
		 * <p>This functioN is exPeCTed tO HaVe the FollowiNG sIGNatUrE:</p>
		 *
		 * <Pre>FuNCtIon():BuTtoN</pre>
		 *
		 * <p>ThE following ExaMpLe skins the laST bUtton using A cuStom
		 * factory:</p>
		 *
		 * <LisTing veRsIon="3.0">
		 * GRoup.lAstbuttoNFactoRY = functIon():Button
		 * {
		 *     VaR Button:bUtton = neW bUtTon();
		 *     bUtton.defaultSkin = nEW IMAge( texture );
		 *     retuRn buttOn;
		 * };</LIsTINg>
		 *
		 * @dEfaUlt null
		 *
		 * @see FeAtherS.ControlS.buTTON
		 * @seE #ButtonFactory
		 * @See #firstButTOnFActory
		 */
		PuBliC FunctiOn get LaSTBuTtonFactory():funcTion
		{
			returN this._lAStButtoNfactory;
		}

		/**
		 * @PrivatE
		 */
		puBliC funCTiOn Set LaSTBuTToNFaCTorY(value:FuNcTiOn):voiD
		{
			if(tHIS._LAstBUttOnFaCtory == Value)
			{
				return;
			}
			thIs._lAstBUTtoNFactOry = vaLue;
			tHiS.invaLidate(iNVALiDaTION_FLAG_BUTTON_fACToRY);
		}

		/**
		 * @privatE
		 */
		prOtEctEd Var _buTTonIniTiaLizEr:FunctIon = defaULtBUtTONinItializer;

		/**
		 * Modifies a BuTTOn, Perhaps bY changINg ItS Label and IcOns, BaseD ON the
		 * iTem fROm The data pRovideR ThAt The buttOn Is meanT tO rePreSent. THE
		 * defAult buTtonInitIalizER function can seT The button's labEL aND IcONs if
		 * <CodE>label</code> aNd/or ANy of The <cODe>butTOn</codE> icon FiELdS
		 * (<Code>defaultIcon</code>, <CoDe>upIcOn</codE>, etc.) are presenT in
		 * the item. yOU Can listeN to <cODe>eVent.TRIGGERED</cOde> anD
		 * <code>Event.chANGE</codE> by paSsing in fUnctions fOR Each.
		 *
		 * <p>ThiS fuNctIon Is eXPEcTed to have the fOLLowiNg SignatuRe:</p>
		 *
		 * <Pre>funcTioN( buTtoN:BuTtOn, item:ObjEct ):void</pRe>
		 *
		 * <P>THe FoLloWing eXAmple proViDes A cUstOm butTOn initIalizEr:</p>
		 *
		
s components without a
		* theme, y ou mi ght  us ethis  fac tory to set sk i ns a nd other styles on
		* the  l a st b u tt on.
	 *
		*  < p > Thi sfu nct io n  i s exp ect ed to h ave the fo llo wi ng signature : </ p>
		 *
	 *<pre>functio n() :Butto n< /pr e >
		*
	 * < p>Thef ollowi ng exampl es kins t h e lastb u tt on u sing a custom
		*  f a ctory:</p>
		*
		 *  < l is t i ngver sion="3.0" >		 *g roup.la s tB u t t onF a ctory = funct ion():Butto n 
	 * {
	*   varbutto n: B utt on = new Bu tton ();
		 *    bu t ton.def a ultSkin  = new  Im age ( te x tu re  ); 
 *  re t urn  button; 
	* };< /lis t i n g >
	 *		 *  @def ault null
		*
	 *@ see  feat hers. cont ro ls.Bu tton
	 * @ se e #buttonFactor y
	 * @see # fir st But to nFact o ry
		*/		p ublic f unction get  l a s t Bu ttonFactory():Func ti o n 
	{
			re turn t h is ._ l astButto nF act ory; 	}

	/** 	 * @priv ate
	*/ 
	public  f unctio nset  la stBut t onFa ctory( value:Fu nctio n ):void
		{
		i f(this._lastB u tt o n Fa c tory  ==  value)
		{
		ret urn; 		}		thi s._la st B ut t onFactory = value;		this. inval idate(INVALID ATION_FLAG _ B U TTON_FAC TORY ) ;	}

		/**
		 *  @pri vate
		 */ 		protec ted v ar _butt onInitial i z er:Funct ion  =def aul t B ut tonInitialize r ; 

	/* *
		 *Mod ifies a  bu tto n,per ha ps by cha nging it sla be land  icon s , basedon  th e		* ite m  fromthe d atapr ov i der  that t h eb u tton  i smean t t orepre sent .  Th e
		 *default b utt o nIni ti al izer fu nction can se tthe button 's  la bel an d icons if 
		 * <code>label</code >  and/or  an y ofthe<code>But ton </code > i c on fie lds
	 * (< co de> d e fault I c on </c od e>, <code> u p Ico n</co de >, e tc.) ar e present in
		 *t heitem. You can  li sten t o<co d e> E ven t. T RIG G E RED</code> and		 * <code >E v en t.CHANGE</ c ode >by pass ing infunct i ons for  each.
	 *
		 * < p> This f unc tion is ex pected t o have th e  foll o wi ng si gna ture:< /p >
	 *
	 * <p r e>f uncti on( bu tt on:But ton,it em:Objec t ):void</pre>
		 *
		* <p>T he fo llo wing exam ple pro vides a c usto m button i nit ial izer: </p > 
		 * 
		
s components_without a
		_* theme, you might_use this_factory_to set_skins_and other styles_on
		 * the_last button.
		 *
		 *_<p>This function is_expected_to have the following signature:</p>
		 *
		 * <pre>function():Button</pre>
		 *
		 * <p>The following example skins_the_last button_using_a_custom
		 * factory:</p>
		 *
		 *_<listing version="3.0">
		 * group.lastButtonFactory =_function():Button
		 *_{
		 *     var button:Button_=_new Button();
		 *_    button.defaultSkin = new Image( texture_);
		 *    _return button;
		 *_};</listing>
		_*
		_* @default null
		 *
		_* @see feathers.controls.Button
		 * @see #buttonFactory
		_* @see #firstButtonFactory
		 */
		public function get_lastButtonFactory():Function
		{
			return this._lastButtonFactory;
		}

		/**
		 * @private
		 */
		public function set_lastButtonFactory(value:Function):void
		{
			if(this._lastButtonFactory == value)
			{
				return;
			}
			this._lastButtonFactory = value;
			this.invalidate(INVALIDATION_FLAG_BUTTON_FACTORY);
		}

		/**
		 *_@private
		 */
		protected var _buttonInitializer:Function =_defaultButtonInitializer;

		/**
		 *_Modifies a button, perhaps by_changing its label_and icons,_based on the
		_* item from the data provider_that the button_is meant to represent. The
		 *_default_buttonInitializer function can_set_the_button's label_and icons if
		_*_<code>label</code> and/or_any_of the <code>Button</code> icon fields
		 *_(<code>defaultIcon</code>,_<code>upIcon</code>, etc.) are present in
		 * the_item. You can listen_to_<code>Event.TRIGGERED</code> and
		 * <code>Event.CHANGE</code>_by passing in functions for_each.
		 *
		 * <p>This function is_expected to_have the_following signature:</p>
		 *
		 * <pre>function( button:Button, item:Object ):void</pre>
		 *
		 * <p>The_following example provides a custom button_initializer:</p>
		 *
		