Duvida Com Rmi

Tenho uma aplicação que da start num servidor e funciona normalmente
porem eu preciso parar o servidor rmi a classe abaixo mostra o que estou fazendo para parar o servidor rmi, porem eu preciso em algum momento reiniciar o servidor e para simular esta situação eu fiz um while onde eu dou start e também paro o servidor rmi, porem quando eu paro o servidor rmi e tento restartar ele me da um erro…

a classe esta abaixo:

package cliente;

import classescomuns.ClientImpl;
import java.rmi.Naming;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import javax.swing.JOptionPane;

/**
 *
 * @author Jonas
 */
public class TesteRmi {

    public static void main(String[] args) {
        while (true) {
            try {
                java.rmi.registry.LocateRegistry.createRegistry(1099);  //linha com o erro
                ClientImpl obj = new ClientImpl();
                String sbind = "//localhost:" + 1099 + "/Server";
                Naming.rebind(sbind, obj);
                System.out.println("RMI registry ready.");

                JOptionPane.showMessageDialog(null, "Servidor Iniciado");

                Registry reg = java.rmi.registry.LocateRegistry.getRegistry(1099);
                reg.unbind("Server");
                UnicastRemoteObject.unexportObject(obj, true);
                Thread.sleep(1000);

                JOptionPane.showMessageDialog(null, "Servidor Parado");

            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    }
}

erro:

java.rmi.server.ExportException: internal error: ObjID already in use
at sun.rmi.transport.ObjectTable.putTarget(ObjectTable.java:186)
at sun.rmi.transport.Transport.exportObject(Transport.java:106)
at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:260)
at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:411)
at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147)
at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:212)
at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:152)
at sun.rmi.registry.RegistryImpl.(RegistryImpl.java:137)
at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:203)