I experimented with this a bit and came to the conclusion that having FilterGroups in the list FilterGroup.elements simply does not work.

On the other hand, I came across interesting behaviour when doing a search for users. If I do a search for multiple users using a simple Filter -> FilterGroup (with op == 'or') -> FilterEntry (for each user) whereby the FilterEntry is of the form:
FilterEntry.op = 'eq'
FilterEntry.field = 'lastName'
FilterEntry.value = 'Obama'

Then it works - the results are as expected. However when I repeat the search using displayName instead of lastName, I get a memory failure. The entire SOAP trace is here: www private pastebin - collaborative debugging tool

According to the docs, it would seem as if using displayName is legal - it is even recommended as this field is indexed:
Filtering the system address book using firstName, lastName, displayName, or department is fastest because the fields are indexed. If you filter using any of the other fields, the searches are time-consuming because the fields are not in the index.
( see the docs on 'Using Filters and Views' here: Novell Documentation )

Does anyone know if this is a bug in gwise itself or am I trying to do something that simply is not allowed.

What I am trying to do is to do a single search for multiple users (i.e. I only want to make a single trip to the server rather than looping over all the users I want to search).