Within a CheckEquilibriumSpec function, there is a call to GetPresentPhases. What should happen if GetPresentPhases fail or return empty "phaseLabels"? Should CheckEquilibriumSpec returns "isSupported" as FALSE or should it return an exception as ECapeUnknown? or should it return both "isSupported" as FALSE and an exception.
I have seen a case of GetPresentPhases call failing because of no SetPresentPhases made before calling CheckEquilibriumSpec. The revision of Thermo 1.1 specification mentions that SetPresentPhases has to be made before calling CheckEquilibriumSpec but not all PMEs are compliant yet with this sequence. If GetPresentPhases fails within CheckEquilibriumSpec, may GetPresentPhases return ECapeBadInvokOrder or would this be too presomptuous?

