if (!started) { throw new IllegalStateException(this + " is not started"); }
   public synchronized IdBlock getIdBlock(int size) throws Exception   {      if (size <= 0)      {         throw new IllegalArgumentException("block size must be > 0");      }            if (size > bigBlockSize)      {         throw new IllegalArgumentException("block size must be <= bigBlockSize");      }            if (size > high - nextBlock + 1)      {         getNextBigBlock();      }            long low = nextBlock;            nextBlock += size;            IdBlock block = new IdBlock(low, nextBlock - 1);                            return block;   }