code: public String getDetailMessage()
      {
          if(errorDetails == null || errorDetails.isEmpty())
              return getMessage();
  
          StringBuilder sb = new StringBuilder(512);
          sb.append(getMessage());
          sb.append(" [");
  
          for (int i = 0; i < errorDetails.size(); i++)
          {
              ErrorDetail errorDetail = errorDetails.get(i);
              if(i > 0)
                  sb.append(", ");
              sb.append(errorDetail.getMessage());
          }
          sb.append("]");
  
          return sb.toString();
      }
docs: Return a detail message. If errorDetails is not empty then the returned message will combine these together,
  otherwise the standard exception message is returned.
  @return The message