public static IToken GenerateToken(IToken consumerToken, RetrieveCaptchaDelegate getCaptchaDelegate)
        {
            Console.WriteLine("Starting Token Generation...");
            ITokenCreator creator = new TokenCreator(consumerToken.ConsumerKey,
                                                     consumerToken.ConsumerSecret);

            Console.WriteLine("Please enter the verifier key...");
            IToken newToken = creator.CreateToken(getCaptchaDelegate);

            if (newToken != null)
            {
                Console.WriteLine("Token generated!");
                Console.WriteLine("Token Information : ");

                Console.WriteLine("Consumer Key : {0}", newToken.ConsumerKey);
                Console.WriteLine("Consumer Secret : {0}", newToken.ConsumerSecret);
                Console.WriteLine("Access Token : {0}", newToken.AccessToken);
                Console.WriteLine("Access Token Secret : {0}", newToken.AccessTokenSecret);

                ITokenUser loggedUser = new TokenUser(newToken);
                Console.WriteLine("Your name is {0}!", loggedUser.ScreenName);

                return(newToken);
            }

            Console.WriteLine("Token could not be generated. Please login and specify your verifier key!");
            return(null);
        }
        public virtual IToken CreateToken(RetrieveCaptchaDelegate captchaDelegate)
        {
            if (captchaDelegate == null)
            {
                return(null);
            }

            string tokenRequestUrl = CreateTokenRequestAuthorizationUrl();

            return(GenerateToken(captchaDelegate(tokenRequestUrl).ToString()));
        }