>>619
static final Dimension2D DEFAULT_SIZE = new UnmodifiedDimension(400,300);
setとか呼ばれたら、UnsupportedOperationExceptionを投げる。
Collections.html#unmodifiableListあたりを参考に。

クラス定義が面倒なら、キャストはしてはいけませんとコメントで書いといて、= new DImension。
Dimensionとして渡さないといけないような相手なら、簡便さとコストを優先しているのだろうから諦める。