@Override public void run() { Feed f = null; try { while (true) { if (feeds.isEmpty()) return; if (feeds.size() > 1) Collections.sort(feeds); f = feeds.iterator().next(); long sleep = f.getNext() - System.currentTimeMillis(); if (sleep > 0) Thread.sleep(sleep); f.update(); } } catch (InterruptedException e) { } catch (Exception e) { e.printStackTrace(); } }