if ( isAnonymous( env ) && ! env.containsKey( ANONYMOUS_ENV ) )
if ( isAnonymous( env ) && env.containsKey( DISABLE_ANONYMOUS_ENV ) )
    public Context getInitialContext( Hashtable env ) throws NamingException    {        env = ( Hashtable ) env.clone();        Context ctx = null;        if ( env.containsKey( SHUTDOWN_OP_ENV ) )        {            if ( this.provider == null )            {                // monitor.shutDownCalledOnStoppedProvider()                return new DeadContext();            }            try            {                this.provider.shutdown();                if ( this.fe != null )                {                    this.fe.stop();                }            }            catch( Throwable t )            {                t.printStackTrace();            }            finally            {                ctx = new DeadContext();                provider = null;                initialEnv = null;            }            return ctx;        }        if ( env.containsKey( SYNC_OP_ENV ) )        {            provider.sync();            return provider.getLdapContext( env );        }        checkSecuritySettings( env );        if ( isAnonymous( env ) )        {            env.put( PRINCIPAL, "" );        }        // fire up the backend subsystem if we need to        if ( null == provider )        {            // we need to check this here instead of in AuthenticationService            // because otherwise we are going to start up the system incorrectly            if ( isAnonymous( env ) && ! env.containsKey( ANONYMOUS_ENV ) )            {                throw new LdapNoPermissionException( "cannot bind as anonymous "                    + " on startup without enabling anonymous bind property: "                    + ANONYMOUS_ENV );            }            this.initialEnv = env;            initialize();            boolean createMode = createAdminAccount();            if ( createMode )            {                importLdif();            }            // fire up the front end if we have not explicitly disabled it            if ( ! initialEnv.containsKey( DISABLE_PROTOCOL ) )            {                startUpWireProtocol();            }        }        ctx = ( EveContext ) provider.getLdapContext( env );        return ctx;    }