何故、SPListItemにしなかったのだろうか・・・

またSharePointに苦戦した件。に書いたことなのですが・・・
SharePointサイトのバージョン管理しているドキュメントライブラリにおいて、システムアカウント以外のユーザがアップロードしたばかりでフィールド未編集でチェックアウト中のドキュメント(バージョン0.1)はそのままの状態だとシステムアカウントからもアクセスできません。
WebのUIではシステムアカウントでサイトにサインインして「ドキュメントライブラリの設定」の「チェックアウト済みファイルの管理」画面で該当アイテムをチェックして「選択したアイテムの所有権の取得」でシステムアカウントに権限を移動できます。
同じことをプログラムでやるのが、SPCheckedOutFile.TakeOverCheckOut()メソッドです。これを行うと他のアイテム同様にアクセスできるようになります。たとえばSPList.GetItemById(int) メソッドもTakeOverCheckOut()の前に行うとArgumentExceptionになりますが後に行うと成功します。
ただし、これらは元のアイテムのアクセス権限割り当てを破棄してしまいます。もともとアクセスできていた者がアクセスできなくなります。しかし、これらを使用しないと、アイテムの詳細なドキュメントプロパティ(フィールドの値)が参照できません。しかも、「選択したアイテムの所有権の取得」「TakeOverCheckOut()」不可逆の操作のようです。元に戻す方法がないのは困りものですね。
SPCheckedOutFileクラスをSPListItem クラスと同じか、継承したクラスにしなかったのはとても疑問に思います。「チェックアウト済みファイルの管理」画面(ManageCheckedOutFiles.aspx)も通常のビュー画面や詳細表示画面と同様のフィールドの値が表示できればいいのですが・・・
くどいですが、SPList.ItemCount >= SPList.Items.Count + SPList.Folders.Count(差分がフィールド未入力のドキュメントです。)なのもどうかと思います。