private void moveWindow(){
  int moveOffset=(readPos + 1 - keepSizeBefore) & ~15;
  int moveSize=writePos - moveOffset;
  System.arraycopy(buf,moveOffset,buf,0,moveSize);
  readPos-=moveOffset;
  readLimit-=moveOffset;
  writePos-=moveOffset;
}

private void moveWindow ( ) { int moveOffset = ( readPos + 1 - keepSizeBefore ) & ~ 15 ; int moveSize = writePos - moveOffset ; System . arraycopy ( buf , moveOffset , buf , 0 , moveSize ) ; readPos -= moveOffset ; readLimit -= moveOffset ; writePos -= moveOffset ; }
moves data from the end of the buffer to the beginning , discarding old data and making space for new input .
