I might be nitpicking here but does the class really need to be ```static``` ?
Just my personal opinion, but I would have designed the ```ImmutableDate``` class as a wrapper of the ```Date``` class without reimplementing  the *setters* instead of throwing ```UnsupportedOperationException``` : might be easier your way though...