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( tuples.size() <= 1 )        {            return tuples;        }        Collection filteredTuples = new ArrayList();                // If there are any tuples matching the requestor with UserClasses        // element name or thisEntry, discard all other tuples.        for( Iterator i = tuples.iterator(); i.hasNext(); )        {            ACITuple tuple = ( ACITuple ) i.next();            for( Iterator j = tuple.getUserClasses().iterator(); j.hasNext(); )            {                UserClass userClass = ( UserClass ) j.next();                if( userClass instanceof UserClass.Name ||                    userClass instanceof UserClass.ThisEntry )                {                    filteredTuples.add( tuple );                    break;                }            }        }                if( filteredTuples.size() > 0 )        {            return filteredTuples;        }                // Otherwise if there are any tuples matching UserGroup,        // discard all other tuples.        for( Iterator i = tuples.iterator(); i.hasNext(); )        {            ACITuple tuple = ( ACITuple ) i.next();            for( Iterator j = tuple.getUserClasses().iterator(); j.hasNext(); )            {                UserClass userClass = ( UserClass ) j.next();                if( userClass instanceof UserClass.UserGroup )                {                    filteredTuples.add( tuple );                    break;                }            }        }                if( filteredTuples.size() > 0 )        {            return filteredTuples;        }        // Otherwise if there are any tuples matching subtree,        // discard all other tuples.        for( Iterator i = tuples.iterator(); i.hasNext(); )        {            ACITuple tuple = ( ACITuple ) i.next();            for( Iterator j = tuple.getUserClasses().iterator(); j.hasNext(); )            {                UserClass userClass = ( UserClass ) j.next();                if( userClass instanceof UserClass.Subtree )                {                    filteredTuples.add( tuple );                    break;                }            }        }                if( filteredTuples.size() > 0 )        {            return filteredTuples;        }                return tuples;    }