@Override public int size() { if (size_ != -1) { return size_; } if (invalid_) { return 0; } try { if (searchQuery_ == null || searchQuery_.isEmpty()) { ViewNavigator nav = getNavigator(); size_ = nav == null ? 0 : nav.getCount(); } else { ViewEntryCollection vec = getEntries(); size_ = vec == null ? 0 : vec.getCount(); } } catch (Exception e) { throw e instanceof RuntimeException ? (RuntimeException) e : new RuntimeException(e); } return size_; }