/* (intentionally non-JavaDoc'ed)
  * This method is declared public only to be accessible from DisplayLCA
  */
 public static void writeActiveControl(final Shell shell) throws IOException {
   final Control activeControl = getActiveControl(shell);
   String prop = PROP_ACTIVE_CONTROL;
   if (WidgetLCAUtil.hasChanged(shell, prop, activeControl, null)) {
     //      JSWriter writer = JSWriter.getWriterFor( shell );
     //      writer.set( "activeControl", new Object[] { activeControl } );
     IWidgetSynchronizer synchronizer = WidgetSynchronizerFactory.getSynchronizerForWidget(shell);
     synchronizer.setWidgetProperty("activeControl", WidgetUtil.getId(activeControl));
   }
 }
  public void renderInitialization(final Widget widget) throws IOException {
    IWidgetSynchronizer synchronizer = WidgetSynchronizerFactory.getSynchronizerForWidget(widget);
    List styleList = new ArrayList();
    int style = widget.getStyle();
    if ((style & SWT.BORDER) != 0) {
      styleList.add("BORDER");
    }
    if ((style & MODAL) != 0) {
      styleList.add("MODAL");
    }
    if ((style & SWT.ON_TOP) != 0) {
      styleList.add("ON_TOP");
    }
    if ((style & SWT.TITLE) != 0) {
      styleList.add("TITLE");
    }
    if ((style & SWT.TOOL) != 0) {
      styleList.add("TOOL");
    }
    if ((style & SWT.SHEET) != 0) {
      styleList.add("SHEET");
    }
    if ((style & SWT.MIN) != 0) {
      styleList.add("MIN");
    }
    if ((style & SWT.MAX) != 0) {
      styleList.add("MAX");
    }
    if ((style & SWT.CLOSE) != 0) {
      styleList.add("CLOSE");
    }
    if ((style & SWT.RESIZE) != 0) {
      styleList.add("RESIZE");
    }
    String[] styles = new String[styleList.size()];
    styleList.toArray(styles);
    Composite parent = ((Shell) widget).getParent();
    if (parent instanceof Shell) {
      String parentId = WidgetUtil.getId(parent);
      synchronizer.newWidget(styles, new Object[] {parentId});
    }
    synchronizer.newWidget(styles);

    // old
    //    JSWriter writer = JSWriter.getWriterFor( widget );
    //    Shell shell = ( Shell )widget;
    //    writer.newWidget( QX_TYPE );
    //    ControlLCAUtil.writeStyleFlags( shell );
    //    if( ( style & MODAL ) != 0 ) {
    //      writer.call( "addState", new Object[] { "rwt_APPLICATION_MODAL" } );
    //    }
    //    if( ( style & SWT.ON_TOP ) != 0 ) {
    //      writer.call( "addState", new Object[] { "rwt_ON_TOP" } );
    //    }
    //    if( ( style & SWT.TITLE ) != 0 ) {
    //      writer.call( "addState", new Object[]{ "rwt_TITLE" } );
    //    }
    //    if( ( style & SWT.TOOL ) != 0 ) {
    //      writer.call( "addState", new Object[]{ "rwt_TOOL" } );
    //    }
    //    if( ( style & SWT.SHEET ) != 0 ) {
    //      writer.call( "addState", new Object[]{ "rwt_SHEET" } );
    //    }
    //    writer.set( "showMinimize", ( style & SWT.MIN ) != 0 );
    //    writer.set( "allowMinimize", ( style & SWT.MIN ) != 0 );
    //    writer.set( "showMaximize", ( style & SWT.MAX ) != 0 );
    //    writer.set( "allowMaximize", ( style & SWT.MAX ) != 0 );
    //    writer.set( "showClose", ( style & SWT.CLOSE ) != 0 );
    //    writer.set( "allowClose", ( style & SWT.CLOSE ) != 0 );
    //    Boolean resizable = Boolean.valueOf( ( style & SWT.RESIZE ) != 0 );
    //    writer.set( "resizable",
    //                new Object[] { resizable, resizable, resizable, resizable } );
    //    if( parent instanceof Shell ) {
    //      writer.set( "parentShell", parent );
    //    }
    //    writer.call( "initialize", null );
  }