public synchronized Object inp(Object key) { Object obj = null; Data data = (Data) map.get(key); if (data != null) { obj = data.remove(); if (data.isEmpty()) map.remove(key); } return obj; }