Field field = (Field) fields.get(key); if (field == null) { if (NLS.DEBUG_MESSAGE_BUNDLES) System.out.println("Unused message: " + key + " in: " + bundleName); return null; }  if ((field.getModifiers() & MOD_MASK) != MOD_EXPECTED) return null;     try { field.set(null, value); } catch (Exception e) {    e.printStackTrace(); } } catch (SecurityException e) {
field.set(null, value); } catch (Exception e) {
		public synchronized Object put(Object key, Object value) {			try {				Field field = (Field) fields.get(key);				if (field == null) {					if (NLS.DEBUG_MESSAGE_BUNDLES)						System.out.println("Unused message: " + key + " in: " + bundleName); //$NON-NLS-1$ //$NON-NLS-2$					return null;				}				//can only set value of public static non-final fields				if ((field.getModifiers() & MOD_MASK) != MOD_EXPECTED)					return null;				// Set the value into the field. We should never get an exception here because				// we know we have a public static non-final field. If we do get an exception, silently				// log it and continue. This means that the field will (most likely) be un-initialized and				// will fail later in the code and if so then we will see both the NPE and this error.				try {					field.set(null, value);				} catch (Exception e) {					// TODO externalize message					//IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, "Exception setting field value.", e);					//InternalPlatform.getDefault().log(status);					e.printStackTrace();				}			} catch (SecurityException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}			return null;		}