if ( set.contains( "matchingruleuse" ) )
if ( returnAllOperationalAttributes || set.contains( "matchingruleuse" ) )
    private Attributes getSubschemaEntry( String[] ids ) throws NamingException    {        if ( ids == null )        {            return new LockableAttributesImpl();        }        HashSet set = new HashSet( ids.length );        LockableAttributesImpl attrs = new LockableAttributesImpl();        LockableAttributeImpl attr = null;        for ( int ii = 0; ii < ids.length; ii++ )        {            set.add( ids[ii].toLowerCase() );        }        if ( set.contains( "objectclasses" ) )        {            attr = new LockableAttributeImpl( attrs, "objectClasses" );            Iterator list = globalRegistries.getObjectClassRegistry().list();            while ( list.hasNext() )            {                ObjectClass oc = ( ObjectClass ) list.next();                attr.add( SchemaUtils.render( oc ).toString() );            }            attrs.put( attr );        }        if ( set.contains( "attributetypes" ) )        {            attr = new LockableAttributeImpl( attrs, "attributeTypes" );            Iterator list = globalRegistries.getAttributeTypeRegistry().list();            while ( list.hasNext() )            {                AttributeType at = ( AttributeType ) list.next();                attr.add( SchemaUtils.render( at ).toString() );            }            attrs.put( attr );        }        if ( set.contains( "matchingrules" ) )        {            attr = new LockableAttributeImpl( attrs, "matchingRules" );            Iterator list = globalRegistries.getMatchingRuleRegistry().list();            while ( list.hasNext() )            {                MatchingRule mr = ( MatchingRule ) list.next();                attr.add( SchemaUtils.render( mr ).toString() );            }            attrs.put( attr );        }        if ( set.contains( "matchingruleuse" ) )        {            attr = new LockableAttributeImpl( attrs, "matchingRuleUse" );            Iterator list = globalRegistries.getMatchingRuleUseRegistry().list();            while ( list.hasNext() )            {                MatchingRuleUse mru = ( MatchingRuleUse ) list.next();                attr.add( SchemaUtils.render( mru ).toString() );            }            attrs.put( attr );        }        if ( set.contains( "ldapsyntaxes" ) )        {            attr = new LockableAttributeImpl( attrs, "ldapSyntaxes" );            Iterator list = globalRegistries.getSyntaxRegistry().list();            while ( list.hasNext() )            {                Syntax syntax = ( Syntax ) list.next();                attr.add( SchemaUtils.render( syntax ).toString() );            }            attrs.put( attr );        }        if ( set.contains( "ditcontentrules" ) )        {            attr = new LockableAttributeImpl( attrs, "dITContentRules" );            Iterator list = globalRegistries.getDitContentRuleRegistry().list();            while ( list.hasNext() )            {                DITContentRule dcr = ( DITContentRule ) list.next();                attr.add( SchemaUtils.render( dcr ).toString() );            }            attrs.put( attr );        }        if ( set.contains( "ditstructurerules" ) )        {            attr = new LockableAttributeImpl( attrs, "dITStructureRules" );            Iterator list = globalRegistries.getDitStructureRuleRegistry().list();            while ( list.hasNext() )            {                DITStructureRule dsr = ( DITStructureRule ) list.next();                attr.add( SchemaUtils.render( dsr ).toString() );            }            attrs.put( attr );        }        if ( set.contains( "nameforms" ) )        {            attr = new LockableAttributeImpl( attrs, "nameForms" );            Iterator list = globalRegistries.getNameFormRegistry().list();            while ( list.hasNext() )            {                NameForm nf = ( NameForm ) list.next();                attr.add( SchemaUtils.render( nf ).toString() );            }            attrs.put( attr );        }        // add the objectClass attribute        attr = new LockableAttributeImpl( attrs, "objectClass" );        attr.add( "top" );        attr.add( "subschema" );        attrs.put( attr );        // add the cn attribute as required for the RDN        attrs.put( "cn", "schema" );        return attrs;    }