private Pulse.PulseTypes correction_helper(Pulse.OperationClass expected, Pulse pulse)
            {
                List <Pulse.PulseTypes> possible = pulse.PossibleTypes.ToList();

                for (int i = 0; i < possible.Count; i++)
                {
                    if (Pulse.TypeToOpClass(possible[i]) != expected)
                    {
                        possible.RemoveAt(i--);
                    }
                }
                if (possible.Count == 1)
                {
                    return(possible[0]);
                }
                return(Pulse.PulseTypes.OWErrorType);
            }