TestNG Паралельные тесты, не закрывает браузер командой driver.close

Добрый день. Пытаюсь освоить TestNG и вылезла следующая проблема :

  1. В testng.xml добавил parallel=“classes” = запускается 3 окна браузера ( у меня 3 класса с тестами) и выполняется в них параллельно все тесты.
    Вопрос : Почему браузеры сами не закрываются-открываются после каждого прогонки метода в классе как это было в junit( до этого использовал)
  2. Пытаюсь юзать в BaseTest @AfterSuite\Class\Test driver.close = браузер не закрывает. Если же использовать @AfterMethod(после каждого метода) - выполняется ПО ОДНОМУ ТЕСТУ с КАЖДОГО КЛАССА - и закрываются все 3 окна браузера. Почему так?

Я подозреваю, что возможно где-то у меня висит модификатор статика на драйвер( тогда почему в junit спокойно все закрывается\открывается)

В общем CommonActions ( тут происходит инициализация браузера)
В остальные Page - там конструктором опрокидывается ( надеюсь я правильно называю , потому что я новичок в этом)

CommonActions
package Common;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

import java.time.Duration;

import static Common.Config.PLATFORM_BROWSER;
/**
 *
 * Тут происходит инифиализация браузера для вызова его в BaseTest и опрокидывания в другие классы
 *
 **/
public class CommonActions {

    public static WebDriver CreationDriver(){
        WebDriver driver = null;
            switch (PLATFORM_BROWSER) {
                case "Chrome":
                    System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");
                    driver = new ChromeDriver();
                    break;

                case "Firefox":
                    System.setProperty("webdriver.gecko.driver", "src/main/resources/geckodriver.exe");
                    driver = new FirefoxDriver();
                    break;

                default:
                    System.out.println("Please set up 'PLATFORM_BROWSER'- Chrome or Firefox ");
                        break;
            }

        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5));
        return driver;

    }
}

И вот BaseTest

BaseTest
package Tests.Base;

import Common.CommonActions;
import Page.BasePage;
import Page.StatesAndTransition.StatesAndTransition;
import Page.Registration.ValidationRegistrationField;

import org.openqa.selenium.WebDriver;
import org.testng.annotations.AfterMethod;

public class BaseTest {


    protected WebDriver driver = CommonActions.CreationDriver();
    protected BasePage basePage = new BasePage(driver);
    protected ValidationRegistrationField validationRegistrationField = new ValidationRegistrationField(driver);
    protected StatesAndTransition statesAndTransition = new StatesAndTransition(driver);


    @AfterMethod
    public void clo(){
     driver.close();
        }

}


Возможно я инициализирую\опрокидываю driver каким-то старым методом или неудачным\неподходящим образом для этой ситуации.

Буду очень благодарен если кто-то мне покажет как нужно это делать или подскажет куда " грести "
Заранее спасибо за уделенное время.

Ещё добавлю testng.xml, возможно в нем проблема.

testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite" parallel="classes" >
    <test verbose="2" preserve-order="true" name="C:/Users/snegv/IdeaProjects/com.demoWebShop">
        <classes>
            <class name="TestPage.RegistrationTest.Negative.ValidationRegistrationFieldTest">
                <methods>
                    <include name="RegistrationWithReusingEmail"/>
                    <include name="RegistrationWithEmptyField"/>
                    <include name="RegistrationWithSpaceOnNames"/>
                    <include name="RegistrationWithOutEmail"/>
                    <include name="RegistrationWithOutPassword"/>
                    <include name="RegistrationWithScriptInjection"/>
                </methods>
            </class>
            <class name="TestPage.RegistrationTest.Positive.StatesAndTransitionTest">
                <methods>
                    <include name="CheckConfirmDataAfterRegistration"/>
                    <include name="LoginWithCorrectData"/>
                </methods>
            </class>
            <class name="TestPage.RegistrationTest.Positive.ValidationRegistrationFieldTest">
                <methods>
                    <include name="RegistrationWithOutGender"/>
                    <include name="RegistrationWithGenderFemale"/>
                </methods>
            </class>
        </classes>
    </test>
</suite>

гит если это кому-то поможет разобраться с проблемой