protected void updateCachedAWTSizes(final Dimension min,final Dimension pref,final Dimension max){
  assert EventQueue.isDispatchThread();
  if (verboseSizeLayout) {
    System.err.println("AWT thread: updated component sizes: " + min + " <= "+ pref+ " <= "+ max);
  }
  lastValidatedAWTTime=++currentAWTTime;
  boolean mustNotify;
synchronized (this) {
    mustNotify=cachedSizesInitialized == 0;
    if (!mustNotify) {
      mustNotify=!(min.equals(cachedMinSize) && pref.equals(cachedPrefSize) && max.equals(cachedMaxSize));
    }
    if (cachedSizesInitialized == 0) {
      cachedSizesInitialized=1;
    }
    cachedMinSize=min;
    cachedPrefSize=pref;
    cachedMaxSize=max;
    if (INITIAL_CLIENT_AREA_WORKAROUND && initialClientArea != null) {
      initialClientArea.width=cachedPrefSize.width;
      initialClientArea.height=cachedPrefSize.height;
    }
  }
  if (mustNotify) {
    final int onBehalfAWTTime=lastValidatedAWTTime;
    ThreadingHandler.getInstance().asyncExec(display,null);
  }
}

protected void updateCachedAWTSizes ( final Dimension min , final Dimension pref , final Dimension max ) { assert EventQueue . isDispatchThread ( ) ; if ( verboseSizeLayout ) { System . err . println ( "AWT thread: updated component sizes: " + min + " <= " + pref + " <= " + max ) ; } lastValidatedAWTTime = ++ currentAWTTime ; boolean mustNotify ; synchronized ( this ) { mustNotify = cachedSizesInitialized == 0 ; if ( ! mustNotify ) { mustNotify = ! ( min . equals ( cachedMinSize ) && pref . equals ( cachedPrefSize ) && max . equals ( cachedMaxSize ) ) ; } if ( cachedSizesInitialized == 0 ) { cachedSizesInitialized = 1 ; } cachedMinSize = min ; cachedPrefSize = pref ; cachedMaxSize = max ; if ( INITIAL_CLIENT_AREA_WORKAROUND && initialClientArea != null ) { initialClientArea . width = cachedPrefSize . width ; initialClientArea . height = cachedPrefSize . height ; } } if ( mustNotify ) { final int onBehalfAWTTime = lastValidatedAWTTime ; ThreadingHandler . getInstance ( ) . asyncExec ( display , null ) ; } }
given the minimum , preferred , and maximum sizes of the swing component , this method stores them in the cache and updates this control accordingly .
