private static IWindowImplementation ChooseImplementation(string value)
        {
            IWindowImplementation result;

            if (value != null)
            {
                value = value.ToUpper();
            }

            switch (value)
            {
            case (LinuxKey):
                result = new LinuxWindowImplementation();
                break;

            case (WindowsKey):
                result = new MSWindowsWindowImplementation();
                break;

            case (MacOSXKey):
                result = new MacOSXWindowImplementation();
                break;

            default:
                Debug.WriteLine(
                    "Couldn't find appropriate window implementation, switching to Linux window implementation.");
                result = new LinuxWindowImplementation();
                break;
            }

            return(result);
        }
        private static IWindowImplementation ChooseImplementation(string value)
        {
            IWindowImplementation result;

            if (value != null)
            {
                value = value.ToUpper();
            }

            switch (value)
            {
                case (LinuxKey):
                    result = new LinuxWindowImplementation();
                    break;
                case (WindowsKey):
                    result = new MSWindowsWindowImplementation();
                    break;
                case (MacOSXKey):
                    result = new MacOSXWindowImplementation();
                    break;
                default:
                    Debug.WriteLine(
                        "Couldn't find appropriate window implementation, switching to Linux window implementation.");
                    result = new LinuxWindowImplementation();
                    break;
            }

            return result;
        }