@Override
    public void deserialize(Buffer buf) {
        super.deserialize(buf);
        year = buf.readShort();
        if (year < 0)
            throw new RuntimeException("Forbidden value on year = " + year + ", it doesn't respect the following condition : year < 0");
        month = buf.readShort();
        if (month < 0)
            throw new RuntimeException("Forbidden value on month = " + month + ", it doesn't respect the following condition : month < 0");
        day = buf.readShort();
        if (day < 0)
            throw new RuntimeException("Forbidden value on day = " + day + ", it doesn't respect the following condition : day < 0");
        hour = buf.readShort();
        if (hour < 0)
            throw new RuntimeException("Forbidden value on hour = " + hour + ", it doesn't respect the following condition : hour < 0");
        minute = buf.readShort();
        if (minute < 0)
            throw new RuntimeException("Forbidden value on minute = " + minute + ", it doesn't respect the following condition : minute < 0");
    }