docs: public static int[] rainbow(int currentPage, int pageCount, int displayCount) {
  		boolean isEven = true;
  		isEven = displayCount % 2 == 0;
  		int left = displayCount / 2;
  		int right = displayCount / 2;
  
  		int length = displayCount;
  		if (isEven) {
  			right++;
  		}
  		if (pageCount < displayCount) {
  			length = pageCount;
  		}
  		int[] result = new int[length];
  		if (pageCount >= displayCount) {
  			if (currentPage <= left) {
  				for (int i = 0; i < result.length; i++) {
  					result[i] = i + 1;
  				}
  			} else if (currentPage > pageCount - right) {
  				for (int i = 0; i < result.length; i++) {
  					result[i] = i + pageCount - displayCount + 1;
  				}
  			} else {
  				for (int i = 0; i < result.length; i++) {
  					result[i] = i + currentPage - left + (isEven ? 1 : 0);
  				}
  			}
  		} else {
  			for (int i = 0; i < result.length; i++) {
  				result[i] = i + 1;
  			}
  		}
  		return result;
  
  	}