@Override public void run() { try { while (total < finishTotal) { try { Thread.sleep(sleepDuration); } catch (InterruptedException ie) { break; } final CacheableValue myValue = datastore.get(myKey).elementAs(CacheableValue.class); datastore.put( myKey, ObjectSerializer.instance().writeObject(myValue.next()), 300, TimeUnit.SECONDS); total++; } } catch (Exception ex) { ex.printStackTrace(); } }