public static void WaitForTokenExpiration(string dbToken)
        {
            // Getting DB token expiry time
            OracleAccessToken.ParseDBToken(dbToken.ToCharArray(), out string subUserInNewDBToken, out DateTimeOffset dbTokenExpTime, out string jwkValInNewDBToken);

            // Get current time
            DateTimeOffset currentTime = DateTimeOffset.Now.ToUniversalTime();

            // Calculate time difference between DB expiry time and current time
            TimeSpan timeDiff = TimeSpan.Zero;

            if (dbTokenExpTime > currentTime)
            {
                timeDiff = dbTokenExpTime - currentTime;
            }

            // Convert time difference into milliseconds
            int waitTime = (int)timeDiff.TotalMilliseconds;

            // Wait until 60 seconds before the DB Token expires
            waitTime -= 60000;
            if (waitTime > 0)
            {
                Thread.Sleep(waitTime);
            }
        }
 public static void CreateAccessToken(string dbToken, char[] privateKey)
 {
     try
     {
         // Create a new OracleAccessToken
         m_accessToken = new OracleAccessToken(dbToken.ToCharArray(), privateKey);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }