- public void put(Object key, Object val) {
- if (!has(key) && parentScope != null) getParentScope().put(key, val);
- else super.put(key, val == null ? NULL : val);
+ // we use _put instead of put solely to work around a GCJ bug
+ public void _put(Object key, Object val) {
+ if (parentScope != null && !has(key)) parentScope.put(key, val);
+ else super.put(key, val == null ? NULL_PLACEHOLDER : val);