ディープコピー用のメソッドを用意するよりも、コンストラクタに
自身のインスタンスを渡してそれを元に初期化するようにしたほうがいいかも
いわゆるコピーコンストラクタ
メソッドにしてしまうと派生クラス作るときに必ずそのメソッドを
オーバーライドしてディープコピーをサポートしないといけなくなってしまう
MSも最近はICloneableやめてそっちに方針転換した(XElementなど)