}
@Override
protected void performRemove(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException {
super.performRemove(context, operation, model);
final PathAddress address = PathAddress.pathAddress(operation.get(OP_ADDR));
final String serverName = address.getLastElement().getValue();
final ModelNode verifyOp = new ModelNode();
verifyOp.get(OP).set("verify-running-server");
verifyOp.get(OP_ADDR).add(HOST, address.getElement(0).getValue());
context.addStep(context.getResult(), verifyOp, new OperationStepHandler() {
@Override
public void execute(final OperationContext context, final ModelNode operation) throws OperationFailedException {
final PathAddress serverAddress = PathAddress.EMPTY_ADDRESS.append(PathElement.pathElement(SERVER, serverName));
final ProxyController controller = context.getResourceRegistration().getProxyController(serverAddress);
if(! context.getResourceRegistration().getChildNames(PathAddress.EMPTY_ADDRESS).contains(SERVER)) {
throw new OperationFailedException(new ModelNode().set(context.getResourceRegistration().getChildNames(PathAddress.EMPTY_ADDRESS).toString()));
}
if(controller != null) {