KerberosAttribute.SAM_TYPE };
KerberosAttribute.SAM_TYPE, KerberosAttribute.ACCOUNT_DISABLED, KerberosAttribute.ACCOUNT_EXPIRATION_TIME, KerberosAttribute.ACCOUNT_LOCKEDOUT };
    public Object execute( DirContext ctx, Name base )    {        if ( principal == null )        {            return null;        }        String[] attrIDs =            { KerberosAttribute.PRINCIPAL, KerberosAttribute.VERSION, KerberosAttribute.TYPE, KerberosAttribute.KEY,                KerberosAttribute.SAM_TYPE };        Attributes matchAttrs = new BasicAttributes( false ); // case-sensitive        matchAttrs.put( new BasicAttribute( KerberosAttribute.PRINCIPAL, principal.getName() ) );        PrincipalStoreEntry entry = null;        try        {            NamingEnumeration answer = ctx.search( "", matchAttrs, attrIDs );            if ( answer.hasMore() )            {                SearchResult result = ( SearchResult ) answer.next();                Attributes attrs = result.getAttributes();                if ( attrs == null )                {                    return null;                }                entry = getEntry( attrs );            }        }        catch ( NamingException e )        {            return null;        }        return entry;    }