//move the remaining data to the front
System.arraycopy(al = m_pBitArray, j = (int) nBitArrayIndex, al, 0, (int) (al.length - nBitArrayIndex));
//read the new data
ByteArrayReader reader = m_pReader;
reader.reset(m_pIO, j << 2);
long l1;
int i = (int) ((l1 = m_nElements) - nBitArrayIndex);
if ((long) i < l1)
do {
al[i] = reader.readUnsignedInt();