# File lib/openid/server.rb, line 441
      def initialize(identity, return_to, op_endpoint, trust_root=nil,
                     immediate=false, assoc_handle=nil)
        @namespace = OPENID2_NS
        @assoc_handle = assoc_handle
        @identity = identity
        @claimed_id = identity
        @return_to = return_to
        @trust_root = trust_root or return_to
        @op_endpoint = op_endpoint

        if immediate
          @immediate = true
          @mode = "checkid_immediate"
        else
          @immediate = false
          @mode = "checkid_setup"
        end

        if @return_to and
            !TrustRoot::TrustRoot.parse(@return_to)
          raise MalformedReturnURL.new(nil, @return_to)
        end

        if !trust_root_valid()
          raise UntrustedReturnURL.new(nil, @return_to, @trust_root)
        end
      end