code: public static Map<String, String> getVersionAttributes(ServletContext servletContext) throws IOException {
          URL url = servletContext.getResource("/META-INF/MANIFEST.MF");
          if (url != null) {
              return getVersionAttributes(url);
          } else {
              return new LinkedHashMap<>();
          }
      }
docs: Returns a {@link Map} with keys being the elements from {@link #VERSION_ATTRIBUTES} and values being the
  respective values from the manifest as loaded using the given {@code servletContext}. Some or all values may be
  missing from the result map.
  
  @param servletContext the servlet context to load the manifest values from
  @return a {@link Map} of attributes
  @throws IOException on problems with reading {@code /META-INF/MANIFEST.MF} file from the {@code servletContext}