public void start() {
        if (t == null) {
            t = new Thread(this);
            threadSuspended = false;
            t.start();
        } else {
            if (threadSuspended) {
                threadSuspended = false;
                synchronized(this) {
                    t.notify();
                }
            }
        }
    }