code: public static Map<String, Class<? extends ParaObject>> getCoreClassesMap() {
  		if (CORE_CLASSES.isEmpty()) {
  			try {
  				CORE_PARA_CLASSES.putAll(SCANNER.getComponentClasses(ParaObject.class.getPackage().getName()));
  				CORE_CLASSES.putAll(CORE_PARA_CLASSES);
  				if (!Config.CORE_PACKAGE_NAME.isEmpty()) {
  					CORE_CLASSES.putAll(SCANNER.getComponentClasses(Config.CORE_PACKAGE_NAME));
  				}
  				logger.debug("Found {} ParaObject classes: {}", CORE_CLASSES.size(), CORE_CLASSES);
  			} catch (Exception ex) {
  				logger.error(null, ex);
  			}
  		}
  		return Collections.unmodifiableMap(CORE_CLASSES);
  	}
docs: Searches through the Para core package and {@code Config.CORE_PACKAGE_NAME} package for {@link ParaObject}
  subclasses and adds their names them to the map.
  
  @return a map of simple class names (lowercase) to class objects