class ClusterSourcedException extends RuntimeException {

    public static <T> T catches(Type exceptionSource, Callable<T> callable) {
        try {
            return callable.call();
        } catch (Exception ex) {
            throw new ClusterSourcedException(exceptionSource, ex);
        }
    }

      ClusterSourcedException(Type exceptionSource, Throwable cause);

}