Description
As discusses on the @oak-dev list [1] we need to improve the way exceptions are thrown and handled.
I suggest to create a OakException which extends from RuntimeException and encapsulate a RepositoryException into it. These exceptions can then be handled where appropriate. We can the later turn this into a more sophisticated mechanism where the OakException is mapped to a corresponding RepositoryException by an injected mapping (see Jukka's proposal in the discussion).