code: public static String determineReadableClassName(String qualifiedName) {
  
          String readableClassName = StringUtils.removeWhitespace(qualifiedName);
          if (readableClassName == null) {
  
              throw new IllegalArgumentException("qualifiedName must not be null.");
          } else if (readableClassName.startsWith("[")) {
  
              StringBuilder classNameBuffer = new StringBuilder();
              while (readableClassName.startsWith("[")) {
                  classNameBuffer.append("[]");
                  readableClassName = readableClassName.substring(1);
              }
              
              if (PRIMITIVE_MAPPING.containsValue(readableClassName)) {
                  
                  for (Map.Entry<String,String> next : PRIMITIVE_MAPPING.entrySet()) {
                      if (next.getValue().equals(readableClassName)) {
                          readableClassName = next.getKey() + classNameBuffer.toString();
                          break;
                      }
                  }
                  
              } else if (readableClassName.startsWith("L") && readableClassName.endsWith(";")) {
                  readableClassName = readableClassName.substring(1, readableClassName.length() - 1) + classNameBuffer.toString();
              } else {
                  throw new IllegalArgumentException("qualifiedName was invalid {" + readableClassName + "}");                
              }
          } else if (readableClassName.endsWith("]")) {
              throw new IllegalArgumentException("qualifiedName was invalid {" + readableClassName + "}");
          }
          
          return readableClassName;
      }
docs: Given a JVM Qualified Name produce a readable classname
  @param qualifiedName The Qualified Name
  @return The readable classname