private Optional<String> validate(Properties props) {
    if (props.get(PRODUCT_NAME) == null) {
      return Optional
          .of(String.format("<Missing property %s from resource org/apache/geode/internal/%s>",
              PRODUCT_NAME, RESOURCE_NAME));
    }

    if (props.get(PRODUCT_VERSION) == null) {
      return Optional
          .of(String.format("<Missing property %s from resource org/apache/geode/internal/%s>",
              PRODUCT_VERSION, RESOURCE_NAME));
    }

    if (props.get(SOURCE_DATE) == null) {
      return Optional
          .of(String.format("<Missing property %s from resource org/apache/geode/internal/%s>",
              SOURCE_DATE, RESOURCE_NAME));
    }

    if (props.get(SOURCE_REVISION) == null) {
      return Optional
          .of(String.format("<Missing property %s from resource org/apache/geode/internal/%s>",
              SOURCE_REVISION, RESOURCE_NAME));
    }

    if (props.get(SOURCE_REPOSITORY) == null) {
      return Optional
          .of(String.format("<Missing property %s from resource org/apache/geode/internal/%s>",
              SOURCE_REPOSITORY, RESOURCE_NAME));
    }

    if (props.get(BUILD_ID) == null) {
      return Optional
          .of(String.format("<Missing property %s from resource org/apache/geode/internal/%s>",
              BUILD_ID, RESOURCE_NAME));
    }

    if (props.get(BUILD_PLATFORM) == null) {
      return Optional
          .of(String.format("<Missing property %s from resource org/apache/geode/internal/%s>",
              BUILD_PLATFORM, RESOURCE_NAME));
    }

    if (props.get(BUILD_JAVA_VERSION) == null) {
      return Optional
          .of(String.format("<Missing property %s from resource org/apache/geode/internal/%s>",
              BUILD_JAVA_VERSION, RESOURCE_NAME));
    }
    return Optional.empty();
  }
Error message to display instead of the version information
geode-core/src/main/java/org/apache/geode/internal/VersionDescription.java