code: public boolean canReadVarInt () throws KryoException {
  		if (limit - position >= 5) return true;
  		if (optional(5) <= 0) return false;
  		int p = position, limit = this.limit;
  		byte[] buffer = this.buffer;
  		if ((buffer[p++] & 0x80) == 0) return true;
  		if (p == limit) return false;
  		if ((buffer[p++] & 0x80) == 0) return true;
  		if (p == limit) return false;
  		if ((buffer[p++] & 0x80) == 0) return true;
  		if (p == limit) return false;
  		if ((buffer[p++] & 0x80) == 0) return true;
  		if (p == limit) return false;
  		return true;
  	}
docs: Returns true if enough bytes are available to read an int with {@link #readVarInt(boolean)}.