public synchronized Object inp(Object key) { Data data = (Data) map.get(key); if (data == null) map.put(key, (data = new Data(key))); return data.remove(); }