Yes you can transfer complex data types as well..You just have to type cast it as below and you can read the paramter values from that
HashMap taskinfo1=new HashMap();
BlockingGetContentResponseHandler handlerC = new BlockingGetContentResponseHandler();
client.getContent(taskData.getDocumentContentId(), handlerC);
Content content = handlerC.getContent();
if (content != null){
ByteArrayInputStream bais = new ByteArrayInputStream(content.getContent());
ObjectInputStream ois;
try {
ois = new ObjectInputStream(bais);
taskinfo1 =(HashMap) ois.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}