Index: trunk/Nebulous/nebclient/src/nebclient.c
===================================================================
--- trunk/Nebulous/nebclient/src/nebclient.c	(revision 24923)
+++ trunk/Nebulous/nebclient/src/nebclient.c	(revision 24931)
@@ -883,4 +883,37 @@
 }
 
+int nebThereCanBeOnlyOne(nebServer *server, const char *key, const char *volume)
+{
+    REQUIRE_SERVER;
+
+    if (!key) {
+        nebSetErr(server, "parameter 'key' may not be NULL");
+
+        return -1;
+    }
+
+    if (nebPrune(server, key) < 0 ) {
+    }
+
+    nebObjectInstances *locations = NULL;
+    if (volume) {
+        locations = nebFindInstances(server, key, NULL);
+    }
+
+    if (locations && locations->n) {
+        nebObjectInstances *instances = nebFindInstances(server, key, NULL);
+        for (long i = 0; i < instances->n; i++) {
+            if (strcmp(locations->URI[0], instances->URI[i])) {
+                nebDeleteInstance(server, key, instances->URI[i]);
+            }
+        }
+        nebObjectInstancesFree(instances);
+    }
+    nebObjectInstancesFree(locations);
+
+
+    return 0;
+}
+
 
 char *nebErr(nebServer *server)
