public static TranslationResult SolveConflicts(TranslationResult A, TranslationResult B) { if (!A.IsSamePosition(B)) { throw new InvalidOperationException("Results for different fields: No conflict possible!"); } return ((!A.IsTraversable) ? A : B); }