code: public String getString(String key) {
  		if(key == null){
  			String msg = "key may not have a null value";
  
  			throw new IllegalArgumentException(msg);
  		}
  
  		String str = null;
  
  		try {
  			// Avoid NPE if bundle is null and treat it like an MRE
  			if (bundle != null) {
  				str = bundle.getString(key);
  			}
  		} catch(MissingResourceException mre) {
  			//bad: shouldn't mask an exception the following way:
  			//   str = "[cannot find message associated with key '" + key +
  			//         "' due to " + mre + "]";
  			//     because it hides the fact that the String was missing
  			//     from the calling code.
  			//good: could just throw the exception (or wrap it in another)
  			//      but that would probably cause much havoc on existing
  			//      code.
  			//better: consistent with container pattern to
  			//      simply return null.  Calling code can then do
  			//      a null check.
  			str = null;
  		}
  
  		return str;
  	}
docs: Get a string from the underlying resource bundle or return
  null if the String is not found.
  
  @param key to desired resource String
  @return resource String matching <i>key</i> from underlying
  bundle or null if not found.
  @throws IllegalArgumentException if <i>key</i> is null.