public Set<String> getLocalServerGroups() {
    Set<String> localServerGroups = new HashSet();
    InternalCache cache = getCache();
    List servers;

    servers = cache.getCacheServers();

    Collections.addAll(localServerGroups, MemberDataBuilder.parseGroups(null,
        cache.getInternalDistributedSystem().getConfig().getGroups()));

    for (Object object : servers) {
      CacheServerImpl server = (CacheServerImpl) object;
      if (server.isRunning() && (server.getExternalAddress() != null)) {
        Collections.addAll(localServerGroups, server.getGroups());
      }
    }
    return localServerGroups;
  }
@param expectedOldValue only succeed if current value is equal to expectedOldValue
@throws EntryNotFoundException if entry not found or if expectedOldValue not null and current
        value was not equal to expectedOldValue
geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java