@Contract("!null->!null")
  public synchronized <T extends Remote> T export(@Nullable T child) throws RemoteException {
    if (IN_PROCESS) return child;
    if (child == null) return null;
    @SuppressWarnings("unchecked") final T result = (T)UnicastRemoteObject.exportObject(child, 0);
    myChildren.put((RemoteObject)child, result);
    ((RemoteObject)child).myParent = this;
    return result;
  }
@Contract("!null->!null")
  public synchronized <T extends Remote> T export(@Nullable T child)