Iterator<String> () { return ContainerUtil.concatIterators(names.iterator(), new Iterator<>() { int current = 0; @Override public boolean hasNext() { return current < MAX_NUMBER_SEQ; } @Override public String next() { current++; return namePrefix + '~' + current; } }); }