If the IObjectManager has direct access to an IStore storage component, then it is possible to create and access stream values directly.

  PSOutputStream out = om.createOutputStream();

This stream can then be written to as any java OutputStream, once you have finished writing to the stream (and have flushed any intermediate streams), you should call :

  out.save();

Once the stream has been "saved", you can now set the stream to some GPOMap property.

  agpm.set("myStream", out);

Thereafter, you can retrieve the value as an InputStream:

  InputStream instr = (InputStream) agpm.get("myStream");

...and treat it as any java InputStream.