static void treeTreadsToStackHTMLDemo() {
        /*
        collectionsAddGetRemoveTests();
        equalsTests();
        */


        try {
            synchroHTMLFile = new SynchroHTML(outHTMLFilePath);
            addHeaderToHTMLFile(synchroHTMLFile);


            synchroHTMLFile.writingHTML("Current thread: " + Thread.currentThread().getName(), 0);
//            ArrayStack arrayStack = new ArrayStack();
//            Thread t1 = startThread(1, arrayStack);
//            Thread t2 = startThread(2, arrayStack);
//            Thread t3 = startThread(3, arrayStack);

            for (int i = 0; i < 10; i++) {
                HTMLArrayStack arrayStack = new HTMLArrayStack();
                Thread t1 = new HTMLThread(1, arrayStack, synchroHTMLFile);
                Thread t2 = new HTMLThread(2, arrayStack, synchroHTMLFile);
                Thread t3 = new HTMLThread(3, arrayStack, synchroHTMLFile);
                t1.setPriority(10);
                t2.setPriority(5);
                t2.setPriority(1);
                synchroHTMLFile.writingHTML("\n<br/>",-1);
                synchroHTMLFile.writingHTML("Priority = " + t1.getPriority(),1);
                synchroHTMLFile.writingHTML("\n<br/>",-1);
                synchroHTMLFile.writingHTML("Priority = " + t2.getPriority(),2);
                synchroHTMLFile.writingHTML("\n<br/>",-1);
                synchroHTMLFile.writingHTML("Priority = " + t3.getPriority(),3);
                t1.start();
                t2.start();
                t3.start();

    /*            Thread t2 = startHTMLThread(2, arrayStack, synchroHTMLFile);
                Thread t3 = startHTMLThread(3, arrayStack, synchroHTMLFile);

                interruptThread(t1);
                interruptThread(t2);
                interruptThread(t3);
    */
                try {
                    t3.join();
                    t2.join();
                    t1.join();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }
            /*
            http://habrahabr.ru/post/164487/
             bool isInterrupted() объекта потока,
              второй — вызвать статический метод bool Thread.interrupted().
               Первый метод возвращает состояние флага прерывания и оставляет этот флаг нетронутым.
                Второй метод возвращает состояние флага и сбрасывает его.
                 Заметьте что Thread.interrupted() — статический метод класса Thread,
                  и его вызов возвращает значение флага прерывания того потока, из которого он был вызван.
                   Поэтому этот метод вызывается только изнутри потока и позволяет потоку проверить своё состояние прерывания.
             */

            addFooterToHTMLFile(synchroHTMLFile);
            synchroHTMLFile.close();
        } catch (IOException e) {
            System.err.print("ошибка файла");
            e.printStackTrace();
        }
        /*catch (InterruptedException e) {
            System.err.print("ошибка потока");
            e.printStackTrace();
        } */
    }