if ( name == null ) { throw new NamingException( "name should not be null" ); }
    public String getOid( String name ) throws NamingException    {        /* 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;        }        /*         * 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 )            && 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;         }         NamingException fault = new NamingException ( "OID for name '"                 + name + "' was not " + "found within the OID registry" );         monitor.oidResolutionFailed( name, fault );         throw fault;    }