input = new ServiceClientHolderInputStream(input, this);
// If someone is interested in progress updates, wrap the input
// stream in a filter that will trigger progress reports.
if (progressListenerCallbackExecutor != null) {
ProgressReportingInputStream progressReportingInputStream = new ProgressReportingInputStream(input, progressListenerCallbackExecutor);
progressReportingInputStream.setFireCompletedEvent(true);
input = progressReportingInputStream;
fireProgressEvent(progressListenerCallbackExecutor, ProgressEvent.STARTED_EVENT_CODE);
}
// The Etag header contains a server-side MD5 of the object. If