RMI: RemoteExceptionがウザイときに握りつぶす方法

あとからリモート化したときとか。
ちょっと回りくどい。もうちょっとスマートにできんもんか・・・
え、握りつぶすなって?
呼び出し元が100以上あったりするともう・・・。

// 元のインタフェース
interface Hoge {
	void fuga();
}


// 後から作った公開インタフェース
interface RemoteHoge implements Remote {
	void fugaForRemote() throws RemoteException;
}

// 実装
class HogeImpl extends UnicastRemoteObject implements Hoge, RemoteHoge {
	public HogeImpl throws RemoteException {
	}

	public void fuga() {
	}

	public void fugaForRemote() throws RemoteException() {
		fuga();
	}
}

// こいつで握りつぶす!
class RemoteHogeWrapper implements Hoge {
	private final RemoteHoge remote;

	public RemoteHogeWrapper(RemoteHoge remote) {
		this.remote = remote;
	}

	public void fuga() {
		try {
			remote.fuga();
		}
		catch(RemoteException e) {
			// 煮るなり焼くなり
		}
	}
}

// 使い方
Hoge hoge = new RemoteHogeWrapper((RemoteHoge) Naming.lookup());