throws RemoteException {
super(orb, null, true);
if (connection == null) {
throw new IllegalArgumentException("Argument 'connection' is null");
}
Caller caller = orb.getCaller();
if (caller == null) {
throw new ExportException("Can't determine remote caller");
}
_uri = caller.getRemoteURI().toString();
orb.addCallerListener(_uri, this);
_connection = connection;
}