*/
public JcrPackage upload(InputStream in, boolean replace, boolean strict)
throws RepositoryException, IOException {
MemoryArchive archive = new MemoryArchive(true);
InputStreamPump pump = new InputStreamPump(in , archive);
// this will cause the input stream to be consumed and the memory archive being initialized.
Binary bin = session.getValueFactory().createBinary(pump);
if (pump.getError() != null) {
Exception error = pump.getError();
log.error("Error while reading from input stream.", error);
bin.dispose();
throw new IOException("Error while reading from input stream", error);
}