private ServiceException(
     LocalizableErrorMessage errorMessage,
     ErrorSubcategory subcategory,
     String defMessage,
     Throwable cause) {
   super(LocalizableErrorMessage.getDefaultMessage(errorMessage, defMessage), cause);
 }
 /** Need to come up with alternate logic in the long run */
 private static ErrorSubcategory getErrorSubCategory(LocalizableErrorMessage errorMessage) {
   List<CommonErrorData> errorList = errorMessage.getError();
   String subDomain = null;
   if (errorList != null && !errorList.isEmpty() && errorList.get(0) != null) {
     subDomain = errorList.get(0).getSubdomain();
   }
   if (subDomain == null) return null;
   return ErrorSubcategory.NAMETOERRORSUBCATEGORY.get(subDomain);
 }