private void HandleShapeAndSound(SoundService soundService, ShapeAndSoundTuple shapeAndSound, SoundAction soundAction, LongSoundOwner longSoundOwner)
 {
     if (shapeAndSound != null)
     {
         if (shapeAndSound.Shape != null && !this._BabyShapes.Components.Contains(shapeAndSound.Shape))
         {
             this._BabyShapes.Components.Add(shapeAndSound.Shape);
         }
         if (shapeAndSound.Sound != null)
         {
             if (soundAction == SoundAction.Button)
             {
                 soundService.TryPlaySoundButton(shapeAndSound.Sound);
             }
             else if (soundAction == SoundAction.Analogue)
             {
                 soundService.TryPlaySoundLong(shapeAndSound.Sound, longSoundOwner);
             }
             else if (soundAction == SoundAction.ForceButton)
             {
                 soundService.ForcePlaySoundButton(shapeAndSound.Sound);
             }
             else if (soundAction == SoundAction.ForceAnalogue)
             {
                 soundService.TryPlaySoundLong(shapeAndSound.Sound, longSoundOwner);
             }
             else
             {
                 throw new ApplicationException("Forgot a soundType.");
             }
         }
     }
 }