private void ApplySplitterSettings(SplitContainer splitter)
        {
            string id = null;
            var    splitterDistance = 0;
            SplitterPosSettings splitterSettings = null;

            if (splitter != null)
            {
                id = splitter.Name;

                if (this._settings != null)
                {
                    splitterSettings = this._settings.GetSplitterSettings(id);
                }

                if (splitterSettings != null)
                {
                    if (splitter.Orientation == Orientation.Vertical)
                    {
                        splitterDistance = splitterSettings.X;
                    }
                    else
                    {
                        splitterDistance = splitterSettings.Y;
                    }

                    if (splitterDistance != 0)
                    {
                        splitter.SplitterDistance = splitterDistance;
                    }
                    else
                    {
                        if (splitter.Orientation == Orientation.Vertical)
                        {
                            splitterSettings.X = splitter.SplitterDistance;
                        }
                        else
                        {
                            splitterSettings.Y = splitter.SplitterDistance;
                        }

                        if (this._settings != null)
                        {
                            this._settings.SetSplitterSettings(id, splitterSettings.X, splitterSettings.Y);
                        }
                    }
                }
            }
        }
		public void SetSplitterSettings(string id, int xPosition, int yPosition)
		{
			var splitterSetting = SplitterSettings.FirstOrDefault(el => el.Id == id);

			if (splitterSetting == null)
			{
				splitterSetting = new SplitterPosSettings(id, xPosition, yPosition);
				SplitterSettings.Add(splitterSetting);
			}
			else
			{
				splitterSetting.X = xPosition;
				splitterSetting.Y = yPosition;
			}
		}
		/// <summary>
		/// Gets settings for splitter.
		/// </summary>
		/// <param name="id"></param>
		/// <returns></returns>
		public SplitterPosSettings GetSplitterSettings(string id)
		{
			var settings = (from c in this._splitterSettings where c.Id == id select c).FirstOrDefault();

			if (settings == null)
			{
				settings = new SplitterPosSettings(id);
				this._splitterSettings.Add(settings);
			}

			return settings;
		}