SWT Jface Eclipse Java

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
/**
 * This class turns 'e' characters red using a LineStyleListener
 */
public class RedEListener {
  // Color for the StyleRanges
  private Color red;
  /**
   * Runs the application
   */
  public void run() {
    Display display = new Display();
    Shell shell = new Shell(display);
    // Get color for style ranges
    red = display.getSystemColor(SWT.COLOR_RED);
    createContents(shell);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }
  /**
   * Creates the main window contents
   * 
   * @param shell the main window
   */
  private void createContents(Shell shell) {
    shell.setLayout(new FillLayout());
    // Create the StyledText
    final StyledText styledText = new StyledText(shell, SWT.BORDER | SWT.H_SCROLL
        | SWT.V_SCROLL);
    // Add the syntax coloring handler
    styledText.addLineStyleListener(new LineStyleListener() {
      public void lineGetStyle(LineStyleEvent event) {
        // Create a collection to hold the StyleRanges
        java.util.List styles = new java.util.ArrayList();
        // Iterate through the text
        for (int i = 0, n = event.lineText.length(); i < n; i++) {
          // Check for 'e'
          if (event.lineText.charAt(i) == 'e') {
            // Found an 'e'; combine all subsequent e's into the same StyleRange
            int start = i;
            for (; i < n && event.lineText.charAt(i) == 'e'; i++);
            // Create the StyleRange and add it to the collection
            styles.add(new StyleRange(event.lineOffset + start, i - start, red,
                null));
          }
        }
        // Set the styles for the line
        event.styles = (StyleRange[]) styles.toArray(new StyleRange[0]);
      }
    });
  }
  /**
   * The application entry point
   * 
   * @param args the command line arguments
   */
  public static void main(String[] args) {
    new RedEListener().run();
  }
}