public void dispose() { mutex.lock(); try { chars.clear(); chars = null; } finally { mutex.unlock(); } mobs.clear(); mobs = null; killCount.clear(); killCount = null; timeStarted = 0; eventTime = 0; props.clear(); props = null; for (final Integer i : mapIds) { mapFactory.removeInstanceMap(i); } mapIds = null; mapFactory = null; em.disposeInstance(name); em = null; }