private void addTokenImpl( char[] array, int start, int end, int tokenType, int startOffset, int parenthesisLevel ) {
		if( tokenType == TOKEN_PROPERTY && array[start] == '$' ) {
			// separate '$' from property token for mark occurrences to work
			super.addToken( array, start, start, TokenTypes.OPERATOR, startOffset, false );
			start++;
			startOffset++;
		} else if( tokenType == TOKEN_STRING ) {
			// check for reserved words, functions, etc
			int type = tokenMap.get( array, start, end );
			if( type != -1 )
				tokenType = type;
			else if( parenthesisLevel > 0 ) {
				// assume property reference if in function parameters
				tokenType = TOKEN_PROPERTY;
			}
		}

//		debugOutputToken( array, start, end, tokenType );
		super.addToken( array, start, end, tokenType, startOffset, false );
	}
This method is only invoked from the super class.
flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java