public static String getString( String key ) {
    try {
      return getBundle().getString( key );
    } catch ( MissingResourceException e ) {
      return '!' + key + '!';
    }
  }
@Test
  public void testGetString() throws Exception {
    // These tests are meant for the en_US locale (or equivalent)
    assertEquals( "Database Connection", Messages.getString( "DatabaseDialog.Shell.title" ) );
    assertEquals( "!Not.A.Message!", Messages.getString( "Not.A.Message" ) );

    // 1 param
    assertEquals( "MyParam: JDBC options help", Messages.getString( "DatabaseDialog.JDBCOptions.Tab", "MyParam" ) );
    assertEquals( "!Not.A.Message!", Messages.getString( "Not.A.Message", "Unused1" ) );
    assertEquals( "!null!", Messages.getString( null, "Unused1" ) );

    // 2 params
    assertEquals( "MyParam: JDBC options help",
      Messages.getString( "DatabaseDialog.JDBCOptions.Tab", "MyParam", "Unused" ) );
    assertEquals( "!Not.A.Message!", Messages.getString( "Not.A.Message", "Unused1", "Unused2" ) );
    assertEquals( "!null!", Messages.getString( null, null, null ) );

    // 3 params
    assertEquals( "MyParam: JDBC options help",
      Messages.getString( "DatabaseDialog.JDBCOptions.Tab", "MyParam", "Unused2", "Unused3" ) );
    assertEquals( "!Not.A.Message!", Messages.getString( "Not.A.Message", "Unused1", "Unused2", "Unused3" ) );
    assertEquals( "!null!", Messages.getString( null, null, null, null ) );

    // 4 params
    assertEquals( "MyParam: JDBC options help",
      Messages.getString( "DatabaseDialog.JDBCOptions.Tab", "MyParam", "Unused2", "Unused3", "Unused4" ) );
    assertEquals( "!Not.A.Message!",
      Messages.getString( "Not.A.Message", "Unused1", "Unused2", "Unused3", "Unused4" ) );
    assertEquals( "!null!", Messages.getString( null, null, null, null, null ) );

  }