code: private void performAdj(int operation, int position, byte[] bytes, int offset, int length) {
  		checkMutable();
  		final int to = (bytes.length << 3) - offset;
  		final int from = to - length;
  		position += length;
  		for (int i = from; i < to; i++) {
  			boolean b = (bytes[i >> 3] & (128 >> (i & 7))) != 0;
  			performAdj(operation, --position, b);
  		}
  	}
docs: TODO really needs a more efficient implementation (see below for a failure)