public Collection filter( Collection tuples, OperationScope scope, NextInterceptor next, Collection userGroupNames, Name userName, Attributes userEntry, AuthenticationLevel authenticationLevel, Name entryName, String attrId, Object attrValue, Attributes entry, Collection microOperations ) throws NamingException
public Collection filter( Collection tuples, OperationScope scope, DirectoryPartitionNexusProxy proxy, Collection userGroupNames, Name userName, Attributes userEntry, AuthenticationLevel authenticationLevel, Name entryName, String attrId, Object attrValue, Attributes entry, Collection microOperations ) throws NamingException
    public Collection filter( Collection tuples, OperationScope scope, NextInterceptor next, Collection userGroupNames, Name userName, Attributes userEntry, AuthenticationLevel authenticationLevel, Name entryName, String attrId, Object attrValue, Attributes entry, Collection microOperations ) throws NamingException    {        if( entryName.size() == 0 )        {            return tuples;        }                if( tuples.size() == 0 )        {            return tuples;        }                if( scope != OperationScope.ENTRY )        {            return tuples;        }        int immSubCount = -1;                for( Iterator i = tuples.iterator(); i.hasNext(); )        {            ACITuple tuple = ( ACITuple ) i.next();            if( !tuple.isGrant() )            {                continue;            }                    for( Iterator j = tuple.getProtectedItems().iterator(); j.hasNext(); )            {                ProtectedItem item = ( ProtectedItem ) j.next();                if( item instanceof ProtectedItem.MaxImmSub )                {                    if( immSubCount < 0 )                    {                        immSubCount = getImmSubCount( next, entryName );                    }                        ProtectedItem.MaxImmSub mis = ( ProtectedItem.MaxImmSub ) item;                    if( immSubCount >= mis.getValue() )                    {                        i.remove();                        break;                    }                }            }        }                return tuples;    }