What is the most efficient way to search a Idata object

I am writing a Java client to access the integration server by modifying the generated code.
I am accessing the info in IData structure by looping and going to the next one.

Is there a way analogous to the way you do with WQL and pub.xml.queryXMLNode
in the client ?