You can wrap the incoming request entity to ensure its content isn't lost after reading it a first time. For this purpose, you can leverage the org.restlet.engine.io.BufferingRepresentation class.
This line should do it:
request.setEntity(new BufferingRepresentation(request.getEntity());
You might need to update to version 2.1 which is the current stable version.