code: protected void manageExceptionReconnection(final Connection deviceProxy, final int retries,
  	    final int i, final Exception e, final String origin) throws DevFailed {
  		ApiUtilDAODefaultImpl.removePendingRepliesOfDevice(deviceProxy);
  		if (i==0
  			&& (e.toString().contains("org.omg.CORBA.TRANSIENT") ||
  				e.toString().contains("org.omg.CORBA.OBJECT_NOT_EXIST") ||
                  e.toString().contains("org.omg.CORBA.COMM_FAILURE"))) {
  	    	deviceProxy.device = null;
  	    	deviceProxy.device_2 = null;
  	    	deviceProxy.device_3 = null;
  	    	deviceProxy.device_4 = null;
  	    	deviceProxy.device_5 = null;
  	    	deviceProxy.ior = null;
  	    	build_connection(deviceProxy);
  
  	    	if (i == retries - 1) {
  			    throw_dev_failed(deviceProxy, e, origin, false);
  	    	}
  		} else {
  	    	throw_dev_failed(deviceProxy, e, origin, false);
  		}
      }
docs: ==========================================================================