/// <summary>
        /// Setup constructor
        /// </summary>
        /// <param name="viewFactory">View factory</param>
        /// <param name="context">Selected biome context</param>
        /// <param name="completeBiomeList">List of all biomes that can be selected</param>
        /// <param name="currentBiomeList">Current biome list</param>
        /// <param name="view">View to watch</param>
        /// <exception cref="System.ArgumentNullException">Thrown if workspace, model or view are null</exception>
        public BiomeListController( IViewFactory viewFactory, SelectedBiomeContext context, BiomeListModel completeBiomeList, BiomeListModel currentBiomeList, IBiomeListView view )
        {
            Arguments.CheckNotNull( viewFactory, "viewFactory" );
            Arguments.CheckNotNull( context, "context");
            Arguments.CheckNotNull( completeBiomeList, "completeBiomeList" );
            Arguments.CheckNotNull( currentBiomeList, "currentBiomeList" );
            Arguments.CheckNotNull( view, "view" );

            m_ViewFactory = viewFactory;
            m_Context = context;
            m_AllBiomes = completeBiomeList;
            m_CurrentBiomes = currentBiomeList;

            //	Run through all the available biomes
            foreach ( BiomeModel model in m_AllBiomes.Models )
            {
                //	Add the current biome to the view. Set it as selected if it is in the current biome list
                view.AddBiome( model, m_CurrentBiomes.Models.IndexOf( model ) != -1 );
            }

            view.OnCreateBiome += OnCreateBiome;
            view.OnAddBiome += OnAddBiome;
            view.OnRemoveBiome += OnRemoveBiome;
            view.BiomeSelected += OnBiomeSelected;
            view.OnDeleteBiome += OnDeleteBiome;
            m_View = view;
        }
        /// <summary>
        /// Setup constructor
        /// </summary>
        /// <param name="context">Biome selection context</param>
        /// <param name="view">Biome terrain texture view</param>
        /// <exception cref="System.ArgumentNullException">Thrown if context or view is null</exception>
        public BiomeTerrainTextureController( SelectedBiomeContext context, IBiomeTerrainTextureView view )
        {
            Arguments.CheckNotNull( context, "context" );
            Arguments.CheckNotNull( view, "view" );

            context.BiomeSelected += OnBiomeSelected;

            //	Create a new child controller for controlling the terrain type list view
            m_TerrainTypeListController = new TerrainTypeListController( null, view.TerrainTypesView );
        }