List<Integer> (@NotNull final List<? extends GraphCommit<Integer>> graphCommits) { final IntList compressedIntList = CompressedIntList.newInstance(new IntList() { @Override public int size() { return graphCommits.size(); } @Override public int get(int index) { return graphCommits.get(index).getId(); } }, 30); return new AbstractList<>() { @NotNull @Override public Integer get(int index) { return compressedIntList.get(index); } @Override public int size() { return compressedIntList.size(); } }; }