public void Configurations_DeviceIdentifier_IsNotConflicting(IdentificationContext deviceIdentifier, IdentificationContext otherIdentifier)
        {
            var comparer = new DeviceStringsComparer();

            var equality = IsEqual(deviceIdentifier.Identifier, otherIdentifier.Identifier, comparer);

            if (equality)
            {
                var message = string.Format("'{0}' {1} (index: {2}) conflicts with '{3}' {4} (index: {5})",
                                            deviceIdentifier.TabletConfiguration.Name,
                                            deviceIdentifier.IdentifierType,
                                            deviceIdentifier.IdentifierIndex,
                                            otherIdentifier.TabletConfiguration.Name,
                                            otherIdentifier.IdentifierType,
                                            otherIdentifier.IdentifierIndex);

                throw new Exception(message);
            }
        }
 public IdentificationContextPair(IdentificationContext a, IdentificationContext b)
 {
     // Order by name
     (A, B) = a.TabletConfiguration.Name.CompareTo(b.TabletConfiguration.Name) < 0 ? (a, b) : (b, a);
 }