// Path: src/main/java/com/readytalk/swt/util/Executor.java
// public interface Executor {
//   public void timerExec(final int time, final Runnable runnable);
//   public void asyncExec(Runnable runnable);
// }


import com.readytalk.swt.util.Executor;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Control;
import java.util.logging.Logger;
     */
    public ResizeEffectBuilder setPixelIncrement(int pixelIncrement) {
      this.pixelIncrement = pixelIncrement;
      return this;
    }

    /**
     * (Optional) Defines how long you want the effect to last (in milliseconds).<br/>
     * Defaults to 10 milliseconds.
     * @param timeInterval The number of milliseconds you want the effect to last.
     */
    public ResizeEffectBuilder setTimeInterval(int timeInterval) {
      this.timeInterval = timeInterval;
      return this;
    }

    /**
     * (Optional) Set a callback to be invoked when the Resize is complete.<br/>
     * Defaults to no-op.
     * @param resizeCallback a ResizeCallback
     */
    public ResizeEffectBuilder setResizeCallback(ResizeCallback resizeCallback) {
      this.resizeCallback = resizeCallback;
      return this;
    }

    /**
     * (Optional) Sets a custom executor for the effect. See the FadeEffect class Javadoc for an example.
     * @param executor an Executor
     */
// Path: src/main/java/com/readytalk/swt/util/Executor.java
// public interface Executor {
//   public void timerExec(final int time, final Runnable runnable);
//   public void asyncExec(Runnable runnable);
// }


// Path: src/main/java/com/readytalk/swt/effects/ResizeEffect.java
import com.readytalk.swt.util.Executor;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Control;
import java.util.logging.Logger;

     */
    public ResizeEffectBuilder setPixelIncrement(int pixelIncrement) {
      this.pixelIncrement = pixelIncrement;
      return this;
    }

    /**
     * (Optional) Defines how long you want the effect to last (in milliseconds).<br/>
     * Defaults to 10 milliseconds.
     * @param timeInterval The number of milliseconds you want the effect to last.
     */
    public ResizeEffectBuilder setTimeInterval(int timeInterval) {
      this.timeInterval = timeInterval;
      return this;
    }

    /**
     * (Optional) Set a callback to be invoked when the Resize is complete.<br/>
     * Defaults to no-op.
     * @param resizeCallback a ResizeCallback
     */
    public ResizeEffectBuilder setResizeCallback(ResizeCallback resizeCallback) {
      this.resizeCallback = resizeCallback;
      return this;
    }

    /**
     * (Optional) Sets a custom executor for the effect. See the FadeEffect class Javadoc for an example.
     * @param executor an Executor
     */
    public ResizeEffectBuilder setExecutor(Executor executor) {