code: public static String convertCamelToUpperCase(String _str) {
          if (isEmpty(_str) || isAllUpperCase(_str)) {
              return _str;
          }
          StringBuffer sb = new StringBuffer(String.valueOf(_str.charAt(0)).toUpperCase());
          for (int i = 1; i < _str.length(); i++) {
              char c = _str.charAt(i);
              if (c >= 'A' && c <= 'Z') {
                  sb.append('_');
              }
              sb.append(c);
          }
          return sb.toString().toUpperCase();
      }
docs: Converts a camel-case string to an upper-case string
  where each upper-case character except the first in
  the input string is preceded by an underscore in the
  output string.
  Empty or null strings are returned as-is.
  <pre>
  convertCamelToUpperCase(null) = null
  convertCamelToUpperCase("") = ""
  convertCamelToUpperCase("  ") = "  "
  convertCamelToUpperCase("Hello") = "HELLO"
  convertCamelToUpperCase("HELLO") = "HELLO"
  convertCamelToUpperCase("AcmeCompany") = "ACME_COMPANY"
  </pre>
  @param _str camel-case string
  @return upper-case string