if (narrowFrom == null)
else if (narrowFrom == null)
  public Object narrow(Object narrowFrom, Class narrowTo)    throws ClassCastException  {    if (narrowTo == null)      throw new ClassCastException("Can't narrow to null class");    if (narrowFrom == null)      return null;    Class fromClass = narrowFrom.getClass();    Object result = null;            try      {	if (narrowTo.isAssignableFrom(fromClass))	  result = narrowFrom;	else	  {	    System.out.println("We still haven't implement this case: narrow "			       + narrowFrom + " of type " + fromClass + " to "			       + narrowTo);	    Class[] cs = fromClass.getInterfaces();	    for (int i = 0; i < cs.length; i++)	      System.out.println(cs[i]);	    Exception e1 = new Exception();	    try	      {		throw e1;	      }	    catch(Exception ee)	      {		ee.printStackTrace();	      }	    System.exit(2);	    //throw new Error("We still haven't implement this case: narrow "	    //                + narrowFrom + " of type " + fromClass + " to "	    //                + narrowTo);	    /*	      ObjectImpl objimpl = (ObjectImpl)narrowFrom;	      if(objimpl._is_a(PortableServer.getTypeName(narrowTo)))	      result = PortableServer.getStubFromObjectImpl(objimpl, narrowTo);	    */	  }      }    catch(Exception e)      {	result = null;      }            if (result == null)      throw new ClassCastException("Can't narrow from "				   + fromClass + " to " + narrowTo);                return result;  }