public static Sts CreateSts(StsType stsType)
        {
            Sts sts;
            switch (stsType)
            {
                case StsType.ADFS:
                    sts = new AdfsSts();
                    break;
                case StsType.AADFederatedWithADFS3:
                    sts = new AadFederatedWithAdfs3Sts();
                    break;
                case StsType.AAD:
                    sts = new AadSts();
                    break;
                case StsType.AdfsPasswordGrant:
                    sts = new AdfsPasswordGrantSts();
                    break;
                case StsType.AadPasswordGrant:
                    sts = new AadPasswordGrantSts();
                    break;
                default:
                    throw new ArgumentException(string.Format("Unsupported STS type '{0}'", stsType));
            }

            return sts;
        }