@Override
  public boolean checkForInitialization() {
    if (initialized) {
      return true;
    }
    switch (getThreadInitLevelRequirement()) {
      case AFTER_INITIAL_IMAGE:
        return checkForInitialization(getInitializationLatchAfterGetInitialImage());
      case BEFORE_INITIAL_IMAGE:
        return checkForInitialization(getInitializationLatchBeforeGetInitialImage());
      case ANY_INIT:
        return true;
      default:
        throw new InternalGemFireError(
            "Unexpected getThreadInitLevelRequirement");
    }
  }
Return the access level this thread has for regions with respect to how initialized they need
to be before this thread can have a reference to it. AFTER_INITIAL_IMAGE: Must be fully
initialized (the default) BEFORE_INITIAL_IMAGE: Must have had first latch opened ANY_INIT:
Thread uses region as soon as possible
geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java