private boolean canUpdateState() {
IGeronimoServer thisServer = (IGeronimoServer) this.server.loadAdapter(IGeronimoServer.class, null);
IServer[] allServers = ServerCore.getServers();
for (int i = 0; i < allServers.length; i++) {
IServer server = allServers[i];
IGeronimoServer gs = (IGeronimoServer) server.loadAdapter(IGeronimoServer.class, null);
if (gs != null && !this.server.getId().equals(server.getId())) {
if (isSameConnectionURL(gs, thisServer)) {
if (!isSameRuntimeLocation(server) && server.getServerState() != IServer.STATE_STOPPED) {
Trace.trace(Trace.WARNING, server.getId() + " Cannot update server state. URL conflict between multiple servers.");
return false;