public synchronized STGroup getTemplates() {
		String language = getLanguage();
		STGroup templates = languageTemplates.get(language);

		if (templates == null) {
			String version = getVersion();
			if (version == null ||
					!RuntimeMetaData.getMajorMinorVersion(version).equals(RuntimeMetaData.getMajorMinorVersion(Tool.VERSION))) {
				gen.tool.errMgr.toolError(ErrorType.INCOMPATIBLE_TOOL_AND_TEMPLATES, version, Tool.VERSION, language);
			}
			templates = loadTemplates();
			languageTemplates.put(language, templates);
		}

		return templates;
	}
ANTLR tool should check output templates / target are compatible with tool code generation.
 For now, a simple string match used on x.y of x.y.z scheme. We use a method to avoid mismatches
 between a template called VERSION. This value is checked against Tool.VERSION during load of templates.

 This additional method forces all targets 4.3 and beyond to add this method.

@since 4.3
tool/src/org/antlr/v4/codegen/Target.java