iiop-openjdk/src/main/java/org/wildfly/iiop/openjdk/naming/jndi/CNCtx.java
public void bind(Name name, java.lang.Object obj)
            throws NamingException {
        if (name.size() == 0) {
            throw IIOPLogger.ROOT_LOGGER.invalidEmptyName();
        }

        NameComponent[] path = org.wildfly.iiop.openjdk.naming.jndi.CNNameParser.nameToCosName(name);

        try {
            callBindOrRebind(path, name, obj, false);
        } catch (CannotProceedException e) {
            javax.naming.Context cctx = getContinuationContext(e);
            cctx.bind(e.getRemainingName(), obj);
        }
    }
public void bind(Name name, java.lang.Object obj)
            throws NamingException {
        if (name.size() == 0) {
            throw IIOPLogger.ROOT_LOGGER.invalidEmptyName();
        }

        NameComponent[] path = org.wildfly.iiop.openjdk.naming.jndi.CNNameParser.nameToCosName(name);

        try {
            callBindOrRebind(path, name, obj, false);
        } catch (CannotProceedException e) {
            javax.naming.Context cctx = getContinuationContext(e);
            cctx.bind(e.getRemainingName(), obj);
        }
    }
Converts the "Name" name into a NameComponent[] object and
performs the bind operation. Uses callBindOrRebind. Throws an
invalid name exception if the name is empty. We need a name to
bind the object even when we work within the current context.

@param name JNDI Name object
@param obj  Object to be bound.
@throws NamingException See callBindOrRebind