To open a WebI document to get the data you will need to follow a different route from the one you are headed down. Try something similar to the following:
// get your list of IInfoObjects
IInfoObjects webiDocs = infostore.query(reportQuery.toString);
// get a report engine to open the document
ReportEngines engines = (ReportEngines)enterpriseSession.getService("ReportEngines");
ReportEngine reportEngine = engines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
//Get the actual Doc instance
DocumentInstance docInstance = reportEngine.openDocument(webiDocs.get(0).getID());
// get the Raw data stream
BinaryView bv = (BinaryView)documentInstance.getView(OutputFormatType.CSV);
OutputStream outputStream; // defined else where to meet your needs
bv.getContent(outputStream);
I did notice that casts from a IInfoObject to what you think it specifically is, does not usually work. The specific children classes seem to be used internally to the libraries more than as actual externally usable classes.