code: @Override
      public String getUserFacingMessage() {
          final StringBuilder bldr = new StringBuilder();
  
          bldr.append("ERROR ");
          bldr.append(exitCode);
          bldr.append("\n");
  
          String msg = getMessage();
          if (msg != null) {
              bldr.append(msg);
          }
  
          final Throwable cause = getCause();
          if (cause != null) {
              bldr.append("\nCaused by: ");
              msg = cause.getMessage();
              if (msg != null) {
                  bldr.append(msg);
              }
              StackTraceElement[] stack = cause.getStackTrace();
              for (final StackTraceElement ste : stack) {
                  bldr.append("\n\t");
                  bldr.append(ste);
              }
              bldr.append("\n");
          }
  
          return bldr.toString();
      }
docs: {@inheritDoc}