code: public static String toClassName( String s )
      {
          if (StringUtil.isEmpty( s ) || s.contains( "." )) return s;
          return removeNonJavaIdentifierCharacters( removeDiacritics( toUpperCamelCase( s ) ) );
      }
docs: Tries to convert <code>string</code> to a Java class name by following
  a few simple steps:
  <p/>
  <p/>
  <ul>
  <li>First of all, <code>string</code> gets <i>camel cased</i>, the
  usual Java class naming convention.
  <li>Secondly, any whitespace, by virtue of
  <code>Character.isWhitespace()</code> is removed from the camel cased
  <code>string</code>.
  <li>Third, all accented characters (diacritis) are replaced by their
  non-accented equivalent (ex: \u00e9 -> e)</li>
  <li>Fourth, all non java identifier characters are removed</li>
  </ul>
  <p/>
  The only exception to executing these two steps is when
  <code>string</code> represents a fully-qualified class name. To check
  if <code>string</code> represents a fully-qualified class name, a
  simple validation of the existence of the '.' character is made on
  <code>string</code>.
  
  @param s The String that may represent a Java class name
  @return The input string converted by following the documented steps