// should we throw a IOException if length could not be written ?
DataSource ds = getDataOutput();
if ( ds instanceof InputStreamPushDataSource )
{
InputStreamPushDataSource pds = (InputStreamPushDataSource)ds;
PushSourceStream pss = pds.getStreams()[0];
if ( pss instanceof InputStreamPushSourceStream )
{
InputStreamPushSourceStream ispss = (InputStreamPushSourceStream)pss;
if ( ((Seekable)ispss.getTransferHandler()) instanceof Seekable )