code: @Override
      public String getMessage() {
          if (message_ != null) {
              return message_;
          }
  
          if (getCause() != null) {
              return getCause().getMessage();
          }
  
          switch (code_) {
              case UNSPECIFIED_ERR:
                  return "unknown error";
              case NOT_SUPPORTED_ERR:
                  return "not supported";
              case SYNTAX_ERR:
                  return "syntax error";
              default:
                  return null;
          }
      }
docs: Returns the detail message of this throwable object.
  
  @return the detail message of this Throwable, or null if this Throwable
  does not have a detail message.