public static String createName( String filename ) {
    if ( Utils.isEmpty( filename ) ) {
      return filename;
    }

    String pureFilename = filenameOnly( filename );
    if ( pureFilename.endsWith( ".ktr" ) || pureFilename.endsWith( ".kjb" ) || pureFilename.endsWith( ".xml" ) ) {
      pureFilename = pureFilename.substring( 0, pureFilename.length() - 4 );
    }
    StringBuilder sb = new StringBuilder();
    for ( int i = 0; i < pureFilename.length(); i++ ) {
      char c = pureFilename.charAt( i );
      if ( Character.isUnicodeIdentifierPart( c ) ) {
        sb.append( c );
      } else if ( Character.isWhitespace( c ) ) {
        sb.append( ' ' );
      } else if ( c == '-' ) {
        sb.append( c );
      }
    }
    return sb.toString();
  }
@Test
  public void testCreateName() {
    assertNull( Const.createName( null ) );
    assertEquals( "test - trans", Const.createName( "transformations" + Const.FILE_SEPARATOR + "test\t~- trans.ktr" ) );
  }