@Override
	default Iterator<Path<T>> iterator() {
		return new Iterator<>() {
			private int cursor = 0;

			@Override
			public boolean hasNext() {
				return cursor != count();
			}

			@Override
			public Path<T> next() {
				final int i = cursor;
				if (cursor >= count()) {
					throw new NoSuchElementException();
				}

				cursor = i + 1;
				return get(i);
			}
		};
	}
Appends the given {@code elements} to {@code this} and returns a new
path object.

@param elements the paths to append to {@code this} path
@return a new path object
jenetics.incubator/src/main/java/io/jenetics/incubator/util/Path.java