long t1 = System.nanoTime();
long t1 = System.currentTimeMillis();
    private void doFilter( Invocation invocation, Attributes entry )            throws NamingException    {        long t0 = System.nanoTime();                if ( log.isDebugEnabled() )        {            log.debug( "Filtering entry " + AttributeUtils.toString( entry ) );          }                /*         * start converting values of attributes to byte[]s which are not         * human readable and those that are in the binaries set         */        NamingEnumeration list = entry.getIDs();        while ( list.hasMore() )        {            String id = ( String ) list.next();            AttributeType type = null;            boolean asBinary = false;            if ( globalRegistries.getAttributeTypeRegistry().hasAttributeType( id ) )            {                type = globalRegistries.getAttributeTypeRegistry().lookup( id );            }            if ( type != null )            {                asBinary = !type.getSyntax().isHumanReadible();                asBinary = asBinary || binaries.contains( type );            }            if ( asBinary )            {                Attribute attribute = entry.get( id );                Attribute binary = new LockableAttributeImpl( id );                for ( int i = 0; i < attribute.size(); i++ )                {                    Object value = attribute.get( i );                    if ( value instanceof String )                    {                        binary.add( i, StringUtils.getBytesUtf8( ( String ) value ) );                    }                    else                    {                        binary.add( i, value );                    }                }                entry.remove( id );                entry.put( binary );            }        }                long t1 = System.nanoTime();                if ( log.isDebugEnabled() )        {            log.debug( "Time to filter entry = " + (t1 - t0) + "ns" );        }    }