private void MarkRequiredIfNeeded()
        {
            var markRequired = (Cassette != null) && ((KeyboardComponentFeatures)Cassette.Flags).HasFlag(KeyboardComponentFeatures.TapeRequired);

            markRequired |= (Basic != null) && ((KeyboardComponentFeatures)Basic.Flags).HasFlag(KeyboardComponentFeatures.BasicRequired);
            if (markRequired)
            {
                KeyboardComponent = KeyboardComponentOptions.First(k => k.Flags == (uint)KeyboardComponentFeatures.Requires);
            }
        }