class StyleElementDef extends Def<Style>
{
	//
	// Construction
	//

	public StyleElementDef( String tokenTypeName, List<String> styleElementNames )
	{
		this.tokenTypeName = tokenTypeName;
		this.styleElementNames = styleElementNames;
	}

	//
	// Def
	//

	@Override
	public boolean resolve( Style style ) throws ResolutionException
	{<FILL_FUNCTION_BODY>}

	// //////////////////////////////////////////////////////////////////////////
	// Private

	private final String tokenTypeName;

	private final List<String> styleElementNames;
}

		TokenType tokenType = TokenType.getTokenTypeByName( tokenTypeName );
		if( tokenType == null )
			throw new ResolutionException( "Unknown token type: " + tokenTypeName );

		//TokenType parent = tokenType.getParent();
		//boolean addToParent = false;
		//if( ( parent != null ) && ( !style.getStyleElements().containsKey( parent ) ) )
			//addToParent = true;
		for( String styleElementName : styleElementNames )
		{
			StyleElement styleElement = StyleElement.getStyleElementByName( styleElementName );
			if( styleElement == null )
				throw new ResolutionException( "Unknown style element: " + styleElementName );

			style.addStyleElement( tokenType, styleElement );
			//if( addToParent )
				//style.addStyleElement( parent, styleElement );
		}

		resolved = true;
		return true;
	
<methods>public non-sealed void <init>() ,public Def<org.sikuli.support.ide.syntaxhighlight.style.Style> getCause(org.sikuli.support.ide.syntaxhighlight.style.Style) ,public boolean isResolved() ,public boolean resolve(org.sikuli.support.ide.syntaxhighlight.style.Style) throws org.sikuli.support.ide.syntaxhighlight.ResolutionException,public java.lang.String toString() <variables>protected boolean resolved