public boolean sameAs(Region other) {
    if (other == null) {
      return false;
    }

    if (!getName().equals(other.getName())) {
      throw new RuntimeException(String.format("region names differ: this: %s other: %s",
          getName(), other.getName()));
    }

    if (!attrs.sameAs(other.getAttributes())) {
      throw new RuntimeException(
          String.format("region attributes differ this: %s other: %s",
              attrs, other.getAttributes()));
    }

    Collection myEntries = basicEntries(false);
    Collection otherEntries = ((LocalRegion) other).basicEntries(false);
    if (myEntries.size() != otherEntries.size()) {
      return false;
    }

    for (final Object entry : myEntries) {
      Region.Entry myEntry = (Region.Entry) entry;
      Region.Entry otherEntry = other.getEntry(myEntry.getKey());
      if (otherEntry == null) {
        return false;

      } else if (!myEntry.getValue().equals(otherEntry.getValue())) {
        return false;
      }
    }

    return true;
  }
Returns whether or not this <code>RegionCreation</code> is equivalent to another
<code>Region</code>.
geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/RegionCreation.java