public List<T> getItems(Indexes indexes) { final List<T> toReturn = Lists.newLinkedList(); for (Integer i : indexes.getIndexes(items.size())) { if (i < items.size()) { toReturn.add(items.get(i)); } if (toReturn.size() == maxResults) { break; } } return toReturn; } };
public List<T> getItems(Indexes indexes) { if (maxResults == 0) { return emptyList(); } int remainingResults = maxResults; final List<T> toReturn = Lists.newArrayListWithCapacity(Math.min(items.size(), maxResults)); for (Integer i : indexes.getIndexes(items.size())) { if (remainingResults-- == 0) { break; } toReturn.add(items.get(i)); } return toReturn; } };