public void put(String key, Object value) throws IOException {
if ( value instanceof StreamableValue) {
Projector.getRepository().setResource(new URIValue(key), (StreamableValue)value, context.getCredentials());
} else if ( value instanceof Value ) {
XMLStringWriter writer = XMLStringWriter.create();
writer.writeXMLDeclaration();
ValueFactoryManager.getInstance().saveValue((Value)value, writer);
Projector.getRepository().setResource(new URIValue(key), new StringValue(writer.toString()), context.getCredentials());
} else {
throw new IOException("Could not write value to repository! Given value is '"+value+"'");
}