private void rotate(){
  if (rrc % tokenDataLen != 0) {
    rrc=rrc % tokenDataLen;
    byte[] newBytes=new byte[tokenDataLen];
    System.arraycopy(tokenData,rrc,newBytes,0,tokenDataLen - rrc);
    System.arraycopy(tokenData,0,newBytes,tokenDataLen - rrc,rrc);
    tokenData=newBytes;
  }
}

private void rotate ( ) { if ( rrc % tokenDataLen != 0 ) { rrc = rrc % tokenDataLen ; byte [ ] newBytes = new byte [ tokenDataLen ] ; System . arraycopy ( tokenData , rrc , newBytes , 0 , tokenDataLen - rrc ) ; System . arraycopy ( tokenData , 0 , newBytes , tokenDataLen - rrc , rrc ) ; tokenData = newBytes ; } }
rotate bytes as per the " rrc " ( right rotation count ) received . our implementation does not do any rotates when sending , only when receiving , we rotate left as per the rrc count , to revert it .
