docs: @Override
      public CapabilityRegistration<?> removePossibleCapability(Capability capability, PathAddress registrationPoint) {
          CapabilityId capabilityId = new CapabilityId(capability.getName(), CapabilityScope.GLOBAL);
          CapabilityRegistration<?> removed = null;
          writeLock.lock();
          try {
              CapabilityRegistration<?> candidate = possibleCapabilities.get(capabilityId);
              if (candidate != null) {
                  RegistrationPoint rp = new RegistrationPoint(registrationPoint, null);
                  if (candidate.removeRegistrationPoint(rp)) {
                      if (candidate.getRegistrationPointCount() == 0) {
                          removed = possibleCapabilities.remove(capabilityId);
                      } else {
                          removed = candidate;
                      }
                  }
              }
  
              if (removed != null) {
                  modified = true;
              }
              return removed;
          } finally {
              writeLock.unlock();
          }
      }