class ContextCmpInitHolder {

	private static ContextCmpInit contextCmpInit;

	public static ContextCmpInit loadContextCmpInit() {<FILL_FUNCTION_BODY>}

	public static void clean() {
		contextCmpInit = null;
	}

}

		if (ObjectUtil.isNull(contextCmpInit)) {
			List<ContextCmpInit> list = new ArrayList<>();
			ServiceLoader.load(ContextCmpInit.class).forEach(list::add);
			list.sort(Comparator.comparingInt(ContextCmpInit::priority));
			contextCmpInit = list.get(0);
		}
		return contextCmpInit;
	
<no_super_class>