class UserCodeException extends RuntimeException {

  public static UserCodeException wrap(Throwable t) {
    if (t instanceof UserCodeException) {
      return (UserCodeException) t;
    }

    return new UserCodeException(t);
  }

  private  UserCodeException(Throwable t);

}