/**
* Write the unchecked narrow() method for a remotable object.
**/
protected void writeUncheckedRemoteNarrow ()
{
InterfaceEntry ie = (InterfaceEntry) entry;
// unchecked narrow for LocalObject interface
if (ie.isLocal ()) {
writeRemoteUncheckedNarrowForLocal (false);
return;
}
// unchecked narrow for Abstract interface
if (ie.isAbstract ()) {
writeRemoteUncheckedNarrowForAbstract (false);
return;
} else {
// Determine if the non-abstract interface has any abstract parents
for (int i = 0; i < ie.derivedFrom ().size (); i++) {
SymtabEntry parent = (SymtabEntry) ie.derivedFrom ().elementAt (i);
if (((InterfaceEntry) parent).isAbstract ()) {
writeRemoteUncheckedNarrowForAbstract (true);
break;
}
}