State () { try { State result = (State)super.clone(); myCache = new ConcurrentHashMap<>(); result.resetCache(); return result; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } }