クリップボードにデータを出し入れする処理の前に
処理前のクリップボードのデータ(形式不明)を一時的に保存して
処理が終わった後に元のデータをクリップボードに
戻したいのですが、いまいちやり方が分かりません。

IDataObject clip = Clipboard.GetDataObject();
       〜処理〜
//処理が終わった。
Clipboard.SetDataObject( clip, true );

上では最後にクリップボードは空っぽになってしまいます。
よろしくご教授ください。