private static Object parseInstance( String value, Function<String, String> resolver, List<ClassLoader> addonClassLoaders ) {
		return (LazyValue) t -> {
			try {
				if( value.indexOf( ',' ) >= 0 ) {
					// Syntax: className,param1,param2,...
					List<String> parts = splitFunctionParams( value, ',' );
					String className = parts.get( 0 );
					Class<?> cls = findClass( className, addonClassLoaders );

					Constructor<?>[] constructors = cls.getDeclaredConstructors();
					Object result = invokeConstructorOrStaticMethod( constructors, parts, resolver );
					if( result != null )
						return result;

					LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to instantiate '" + className
						+ "': no constructor found for parameters '"
						+ value.substring( value.indexOf( ',' + 1 ) ) + "'.", null );
					return null;
				} else
					return findClass( value, addonClassLoaders ).getDeclaredConstructor().newInstance();
			} catch( Exception ex ) {
				LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to instantiate '" + value + "'.", ex );
				return null;
			}
		};
	}
Similar to Class.getSimpleName(), but includes enclosing class for nested classes.
flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java