Making this new protocol optional, so as to not break clients (#32676)

diff --git a/src/darwin/Framework/CHIP/MTRDeviceController+XPC.h b/src/darwin/Framework/CHIP/MTRDeviceController+XPC.h
index 4654309..23844af 100644
--- a/src/darwin/Framework/CHIP/MTRDeviceController+XPC.h
+++ b/src/darwin/Framework/CHIP/MTRDeviceController+XPC.h
@@ -94,14 +94,6 @@
  */
 @protocol MTRDeviceControllerServerProtocol <NSObject>
 
-@optional
-/**
- * Gets device controller ID corresponding to a specific fabric ID
- */
-- (void)getDeviceControllerWithFabricId:(uint64_t)fabricId
-                             completion:(MTRDeviceControllerGetterHandler)completion
-    MTR_DEPRECATED("This never called.", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4));
-
 @required
 /**
  * Gets any available device controller ID
@@ -184,6 +176,15 @@
                              attributeId:(NSNumber * _Nullable)attributeId
                               completion:(MTRValuesHandler)completion;
 
+@optional
+
+/**
+ * Gets device controller ID corresponding to a specific fabric ID
+ */
+- (void)getDeviceControllerWithFabricId:(uint64_t)fabricId
+                             completion:(MTRDeviceControllerGetterHandler)completion
+    MTR_DEPRECATED("This never called.", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4));
+
 /**
  * Requests downloading some logs
  */