monitor.oidResolved( name, lowerCase, oid );
    public String getOid( String name ) throws NamingException    {        if ( name == null )        {            throw new NamingException( "name should not be null" );        }        /* If name is an OID than we return it back since inherently the         * OID is another name for the object referred to by OID and the         * caller does not know that the argument is an OID String.         */        if ( Character.isDigit( name.charAt( 0 ) ) )        {            monitor.getOidWithOid( name );            return name;        }        // If name is mapped to a OID already return OID        if ( byName.containsKey( name ) )        {            String oid = ( String ) byName.get( name );            monitor.oidResolved( name, oid );            return oid;        }        if ( bootstrap.hasOid( name ) )        {            String oid = bootstrap.getOid( name );            monitor.oidResolved( name, oid );            return oid;        }        /*         * As a last resort we check if name is not normalized and if the         * normalized version used as a key returns an OID.  If the normalized         * name works add the normalized name as a key with its OID to the         * byName lookup.  BTW these normalized versions of the key are not         * returned on a getNameSet.         */        String lowerCase = name.trim().toLowerCase();        if ( ! name.equals( lowerCase ) )		{			if ( byName.containsKey( lowerCase ) )	        {	            String oid = ( String ) byName.get( lowerCase );	            monitor.oidResolved( name, lowerCase, oid );		            // We expect to see this version of the key again so we add it	            byName.put( name, oid );                return oid;	        }						/*			 * Some LDAP servers (MS Active Directory) tend to use some of the			 * bootstrap oid names as all caps, like OU. This should resolve that.			 * Lets stash this in the byName if we find it.			 */						if ( bootstrap.hasOid( lowerCase) )			{	            String oid = bootstrap.getOid( name );                monitor.oidResolved( name, oid );	            // We expect to see this version of the key again so we add it                byName.put( name, oid );                return oid;			}		}        String msg = "OID for name '" + name + "' was not " + "found within the OID registry";        NamingException fault = new NamingException ( msg );        monitor.oidResolutionFailed( name, fault );        throw fault;    }