//******************************************************
    //******************************************************
    //**	CASTING
    //******************************************************
    //******************************************************

    // PRIVATE
    ///<summary>
    ///	DEMO
    //
    ///</summary>
    private void _doDemoOfDownCasting()
    {
        // DECLARE WITH TYPE OF SUPERCLASS
        //	ADVANCED: YOU MAY SOME DAY HAVE REASONS TO DO THIS
        Mixer mixer = new ElectricMixer();

        // USE
        mixer.doMixing();
        Debug.Log("mixer: " + mixer);

        //	1. NOTICE: THE INSTANCE HAS THIS METHOD
        //	BUT THE COMPILER WILL NOW ALLOW
        //mixer.washElectricParts();

        //	2. NOTICE: WHEN WE 'DOWNCAST' THIS, THEN IT WORKS.
        //			DOWNCASTING IS TO MAKE THE TYPE BEHAVE AS A *MORE* SPECIFIC TYPE.
        //			MORE SPECIFIC MEANS 'LIKE A SUBCLASS' IN THIS CASE
        (mixer as ElectricMixer).washElectricParts();
    }
	//******************************************************
	//******************************************************
	//**	CASTING
	//******************************************************
	//******************************************************
	
	// PRIVATE
	///<summary>
	///	DEMO
	//
	///</summary>
	private void _doDemoOfDownCasting () 
	{
		// DECLARE WITH TYPE OF SUPERCLASS 
		//	ADVANCED: YOU MAY SOME DAY HAVE REASONS TO DO THIS
		Mixer mixer = new ElectricMixer ();
		
		// USE
		mixer.doMixing();
		Debug.Log ("mixer: " + mixer);
		
		//	1. NOTICE: THE INSTANCE HAS THIS METHOD
		//	BUT THE COMPILER WILL NOW ALLOW
		//mixer.washElectricParts();
		
		//	2. NOTICE: WHEN WE 'DOWNCAST' THIS, THEN IT WORKS.
		//			DOWNCASTING IS TO MAKE THE TYPE BEHAVE AS A *MORE* SPECIFIC TYPE.
		//			MORE SPECIFIC MEANS 'LIKE A SUBCLASS' IN THIS CASE
		(mixer as ElectricMixer).washElectricParts();
	}