for (int b = 0; b < numBands; b++) {
for (int b=0; b<numBands; b++)
	public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data) {		int offset = scanlineStride * y + x;		final int iDataSize = numBands * w * h;		if (iArray == null) {			iArray = new int[iDataSize];		} else {			if (iArray.length < iDataSize) {				throw new IndexOutOfBoundsException("iArray is too short, it must be " + iDataSize + " long instead of " + iArray.length);			}		}		int outOffset = 0;		for (y = 0; y < h; y++) {			int lineOffset = offset;			for (x = 0; x < w; x++) {				int samples = data.getElem(lineOffset++);				for (int b = 0; b < numBands; b++) {					iArray[outOffset++] = (samples & bitMasks[b]) >>> bitOffsets[b];				}			}			offset += scanlineStride;		}		return iArray;	}