private Color getColorInLine( FlatSyntaxTextArea textArea, int line ) {
		Object value = textArea.propertiesSupport.getParsedValueAtLine( line );

		// resolve lazy value
		if( value instanceof LazyValue ) {
			Object[] pValue = { value };
			FlatLaf.runWithUIDefaultsGetter( key -> {
				return (key instanceof String)
					? textArea.propertiesSupport.getParsedProperty( (String) key )
					: null;
			}, () -> {
				pValue[0] = ((LazyValue)pValue[0]).createValue( null );
			} );
			value = pValue[0];
		}

		if( value instanceof Color )
			return (Color) value;

		Token token = textArea.getTokenListForLine( line );
		for( Token t = token; t != null && t.isPaintable(); t = t.getNextToken() ) {
			if( t.getType() == FlatThemeTokenMaker.TOKEN_COLOR ) {
				try {
					return new Color( UIDefaultsLoaderAccessor.parseColorRGBA( t.getLexeme() ), true );
				} catch( IllegalArgumentException ex ) {
					break;
				}
			}
		}

		return null;
	}
An overlay layer that paints additional information about line content on the right side.

@author Karl Tauber
flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeEditorOverlay.java