@Override protected Object readResolve() { super.readResolve(); // FJE: If the propertyMap field has something in it, it could be: // a pre-1.3b66 token that contains a HashMap<?,?>, or // a pre-1.3b78 token that actually has the CaseInsensitiveHashMap<?>. // Newer tokens will use propertyMapCI so we only need to make corrections // if the old field has data in it. if (propertyMap != null) { if (propertyMap instanceof CaseInsensitiveHashMap) { propertyMapCI = (CaseInsensitiveHashMap<Object>) propertyMap; } else { propertyMapCI = new CaseInsensitiveHashMap<Object>(); propertyMapCI.putAll(propertyMap); propertyMap.clear(); // It'll never be written out, but we should free the memory. } propertyMap = null; } // 1.3 b77 if (exposedAreaGUID == null) { exposedAreaGUID = new GUID(); } return this; }