public Context createSubcontext( Name name ) throws NamingException
public Context createSubcontext( String name ) throws NamingException
    public Context createSubcontext( Name name ) throws NamingException    {        Attributes attributes = new LockableAttributesImpl();        LdapDN target = buildTarget( name );        Rdn rdn = target.getRdn( target.size() - 1 );        if ( rdn.size() == 1 )        {            attributes.put( rdn.getType(), rdn.getValue() );        }        else        {            for ( Iterator ii = rdn.iterator(); ii.hasNext(); /**/ )            {                AttributeTypeAndValue atav = ( AttributeTypeAndValue ) ii.next();                attributes.put( atav.getType(), atav.getValue() );            }        }                attributes.put( JavaLdapSupport.OBJECTCLASS_ATTR, JavaLdapSupport.JCONTAINER_ATTR );        attributes.put( JavaLdapSupport.OBJECTCLASS_ATTR, JavaLdapSupport.TOP_ATTR );        /*         * Add the new context to the server which as a side effect adds          * operational attributes to the attributes refering instance which         * can them be used to initialize a new ServerLdapContext.  Remember         * we need to copy over the controls as well to propagate the complete          * environment besides whats in the hashtable for env.         */        nexusProxy.add(target, attributes );        return new ServerLdapContext( service, principal, target );    }