небольшой рефакторинг, согласно GRASP

вынес класс ````SwingTreeVisitor```` в новый пакет ````visitors````, так как он не имеет никакой необходимости быть внутренним классом для ````DecisionTree```` и лишь увеличивает связанность
вынес метод ````getSwingTree()```` в ````SwingTreeVisitor````, так как ему эта ответственность подходит больше (он уже знает про реализацию основанную на ````swing````, а ````DecisionTree```` эта информация ни к чему)
небольшие косметические правки по коду (более явное преобразование ````p```` в ````-p```` и заменил ````for(;;)```` на более явный ````while( true )````