diff --git a/build.xml b/build.xml
--- a/build.xml
+++ b/build.xml
@@ -38,10 +38,10 @@
         <runtarget targetname="compile-test"/>
         <runtarget targetname="jar"/>
         <ant antfile="functional/ControlsTests/build.xml" target="dist-plugin" inheritAll="false"/>
-        <ant antfile="functional/ControlsLeakTests/build.xml" target="compile" inheritAll="false"/>
-        <ant antfile="functional/ControlsLeakTests/build.xml" target="compile-test" inheritAll="false"/>
-        <ant antfile="functional/ControlsLeakTests/build.xml" target="jar" inheritAll="false"/>
-        <ant antfile="functional/ControlsLeakTests/build.xml" target="dist-plugin" inheritAll="false"/>
+        <!--ant antfile="functional/ControlsLeakTests/build.xml" target="compile" inheritAll="false"/-->
+        <!--ant antfile="functional/ControlsLeakTests/build.xml" target="compile-test" inheritAll="false"/-->
+        <!--ant antfile="functional/ControlsLeakTests/build.xml" target="jar" inheritAll="false"/-->
+        <!--ant antfile="functional/ControlsLeakTests/build.xml" target="dist-plugin" inheritAll="false"/-->
     </target>
 
     <target name="compile" depends="find-javafx">
@@ -63,9 +63,9 @@
             <ant antfile="functional/FxmlTests/build.xml" target="@{targetname}" inheritAll="false"/>
             <ant antfile="functional/WebNodeAutomated/build.xml" target="@{targetname}" inheritAll="false"/>
             <ant antfile="functional/WebNodeManualTests/build.xml" target="@{targetname}" inheritAll="false"/>
-            <ant antfile="functional/ControlsTests/build.xml" target="@{targetname}" inheritAll="false"/>
             <ant antfile="functional/3DTests/build.xml" target="@{targetname}" inheritAll="false"/>
             <ant antfile="functional/FXCssTests/build.xml" target="@{targetname}" inheritAll="false"/>
+            <ant antfile="functional/ControlsTests/build.xml" target="@{targetname}" inheritAll="false"/>
         </sequential>
     </macrodef>
 
diff --git a/detect_javafx.xml b/detect_javafx.xml
--- a/detect_javafx.xml
+++ b/detect_javafx.xml
@@ -9,24 +9,21 @@
         <property file="build.properties"/>
     </target>
     <target name="check-javafx-in-jdk" unless="javafx.rt">
-		<fail unless="fx-jar-exists" message="${java.home}/lib/ext/ javafx do not exist"/>
+        <!--fail unless="fx-jar-exists" message="${java.home}/lib/ javafx do not exist"/-->
         <property name="javafx.rt" value="${java.home}"/>
         <antcall target="write-javafx-rt" inheritall="true"/>
     </target>
-    <target name="check-javafx-rt" if="javafx.rt">
-        <fail unless="fx-jar-exists" message="${javafx.rt}/lib/ext/ javafx jars do not exist"/>
-    </target>
     <target name="validate-fx-jars">
         <condition property="fx-jar-exists">
 			<or>
-				<available file="${javafx.rt}/lib/ext/jfxrt.jar"/>
-				<available file="${java.home}/lib/ext/jfxrt.jar"/>
-				<available file="${javafx.rt}/lib/ext/jfxrt-graphics.jar"/>
+                <available file="${javafx.rt}/lib/jfxrt.jar"/>
+                <available file="${java.home}/lib/jfxrt.jar"/>
+                <available file="${javafx.rt}/lib/jfxrt-graphics.jar"/>
 			</or>
         </condition>
     </target>
-    <target name="find-javafx" depends="write-javafx-rt, read-javafx-rt, validate-fx-jars, check-javafx-in-jdk, check-javafx-rt">
+    <target name="find-javafx" depends="write-javafx-rt, read-javafx-rt, validate-fx-jars, check-javafx-in-jdk">
         <property file="build.properties"/>
         <echo message="Building with JavaFX from ${javafx.rt}"/>
     </target>
-</project>
\ No newline at end of file
+</project>
diff --git a/functional/ControlsTests/build.xml b/functional/ControlsTests/build.xml
--- a/functional/ControlsTests/build.xml
+++ b/functional/ControlsTests/build.xml
@@ -68,7 +68,7 @@
     <target name="manual-jars" depends="init">
         <echo message="FX-ANT=${file.reference.ant-javafx.jar}" />
 
-        <condition property="file.reference.ant-javafx.jar" value="${javafx.home}/../lib/ant-javafx.jar" else="${javafx.rt}/../lib/ant-javafx.jar">
+        <condition property="file.reference.ant-javafx.jar" value="${javafx.home}/lib/ant-javafx.jar" else="${javafx.rt}/lib/ant-javafx.jar">
     	    <isset property="javafx.home"/>
         </condition>
         <echo message="debug: file.reference.ant-javafx.jar = ${file.reference.ant-javafx.jar}"/>
diff --git a/functional/ControlsTests/coverage.fcov b/functional/ControlsTests/coverage.fcov
--- a/functional/ControlsTests/coverage.fcov
+++ b/functional/ControlsTests/coverage.fcov
@@ -1,31 +1,31 @@
-javafx.scene.control.ScrollPane.prefViewportWidth.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkPrefViewPortWidthOptionTest();FULL
+javafx.scene.control.ScrollPane.prefViewportWidth.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkPrefViewPortWidthOptionTest(),javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkMinViewPortWidthSetTest();FULL
 javafx.scene.control.ColorPicker.value.GET;javafx.scene.control.test.colorpicker.ColorPickerTest.colorPropertyTest();FULL
 com.sun.javafx.scene.control.Pagination.currentpageindex.DEFAULT;javafx.scene.control.test.pagination.PaginationTest.currentPageIndexPropertyTest();FULL
 com.sun.javafx.scene.control.Pagination.pageindicatorcount.GET;javafx.scene.control.test.pagination.PaginationTest.pageIndicatorCountTest();FULL
-javafx.scene.control.Button.cancelButton.SET;javafx.scene.control.test.ButtonsTest.cancelButtonTest();FULL
-javafx.scene.control.Button.text.GET;javafx.scene.control.test.ButtonsTest.binding();FULL
-javafx.scene.control.MenuItem.onHidden.GET;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest();FULL
+javafx.scene.control.Button.cancelButton.SET;javafx.scene.control.test.ButtonsTest.cancelButtonTest(),javafx.scene.control.test.mix.ButtonsTest.cancelButtonTest();FULL
+javafx.scene.control.Button.text.GET;javafx.scene.control.test.ButtonsTest.binding(),javafx.scene.control.test.mix.ButtonsTest.binding();FULL
+javafx.scene.control.MenuItem.onHidden.GET;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest(),javafx.scene.control.test.mix.MenuTest.apiTest(),javafx.scene.control.test.mix.MenuTest.dropTest();FULL
 com.sun.javafx.scene.control.Pagination.pageindicatorcount.BIND;javafx.scene.control.test.pagination.PaginationTest.pageIndicatorCountTest();FULL
-javafx.scene.control.Button.defaultButton.BIND;javafx.scene.control.test.ButtonsTest.defaultButtonTest();FULL
+javafx.scene.control.Button.defaultButton.BIND;javafx.scene.control.test.ButtonsTest.defaultButtonTest(),javafx.scene.control.test.mix.ButtonsTest.defaultButtonTest();FULL
 javafx.scene.control.ScrollPane.hmin.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkHMinOptionTest();FULL
-javafx.scene.control.Button.cancelButton.GET;javafx.scene.control.test.ButtonsTest.cancelButtonTest();FULL
-javafx.scene.control.MenuItem.onHidden.SET;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest();FULL
-javafx.scene.control.CheckBox.indeterminate.SET;javafx.scene.control.test.ChecksTest.checks();FULL
-javafx.scene.control.CheckBox.selected.GET;javafx.scene.control.test.tableview.TableViewApp.getControlsContainer(),javafx.scene.control.test.ChecksTest.checks();FULL
-javafx.scene.control.Button.text.SET;javafx.scene.control.test.ButtonsTest.binding();FULL
-javafx.scene.control.Tooltip.activated.GET;javafx.scene.control.test.TooltipTest.enabled();FULL
+javafx.scene.control.Button.cancelButton.GET;javafx.scene.control.test.ButtonsTest.cancelButtonTest(),javafx.scene.control.test.mix.ButtonsTest.cancelButtonTest();FULL
+javafx.scene.control.MenuItem.onHidden.SET;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest(),javafx.scene.control.test.mix.MenuTest.apiTest(),javafx.scene.control.test.mix.MenuTest.dropTest();FULL
+javafx.scene.control.CheckBox.indeterminate.SET;javafx.scene.control.test.ChecksTest.checks(),javafx.scene.control.test.mix.ChecksTest.checks();FULL
+javafx.scene.control.CheckBox.selected.GET;javafx.scene.control.test.tableview.TableViewApp.getControlsContainer(),javafx.scene.control.test.ChecksTest.checks(),javafx.scene.control.test.mix.ChecksTest.checks();FULL
+javafx.scene.control.Button.text.SET;javafx.scene.control.test.ButtonsTest.binding(),javafx.scene.control.test.mix.ButtonsTest.binding();FULL
+javafx.scene.control.Tooltip.activated.GET;javafx.scene.control.test.TooltipTest.enabled(),javafx.scene.control.test.mix.TooltipTest.enabled();FULL
 javafx.scene.control.ChoiceBox.showing.BIND;javafx.scene.control.test.choicebox.ChoiceBoxApp.getScene();FULL
 javafx.scene.control.SingleSelectionModel.selectedItem.BIND;javafx.scene.control.test.choicebox.ChoiceBoxApp.getScene();FULL
 javafx.scene.control.ChoiceBox.showing.GET;javafx.scene.control.test.choicebox.ChoiceBoxApp.getScene();FULL
 com.sun.javafx.scene.control.Pagination.currentpageindex.BEHAVIOR;javafx.scene.control.test.pagination.PaginationTest.currentPageIndexPropertyTest();FULL
 javafx.scene.control.ColorPicker.value.SET;javafx.scene.control.test.colorpicker.ColorPickerTest.colorPropertyTest();FULL
 javafx.scene.control.ColorPicker.value.DEFAULT;javafx.scene.control.test.colorpicker.ColorPickerTest.colorPropertyTest();FULL
-javafx.scene.control.CheckBox.indeterminate.GET;javafx.scene.control.test.ChecksTest.checks();FULL
-javafx.scene.control.CheckBox.selected.SET;javafx.scene.control.test.tableview.TableViewApp.getControlsContainer(),javafx.scene.control.test.ChecksTest.checks();FULL
-javafx.scene.control.MenuItem.onHiding.SET;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest();FULL
+javafx.scene.control.CheckBox.indeterminate.GET;javafx.scene.control.test.ChecksTest.checks(),javafx.scene.control.test.mix.ChecksTest.checks();FULL
+javafx.scene.control.CheckBox.selected.SET;javafx.scene.control.test.tableview.TableViewApp.getControlsContainer(),javafx.scene.control.test.ChecksTest.checks(),javafx.scene.control.test.mix.ChecksTest.checks();FULL
+javafx.scene.control.MenuItem.onHiding.SET;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest(),javafx.scene.control.test.mix.MenuTest.apiTest(),javafx.scene.control.test.mix.MenuTest.dropTest();FULL
 javafx.scene.control.ScrollPane.vbarPolicy.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkHVBarPolicyOptionTest();FULL
 javafx.scene.control.ScrollPane.fitToWidth.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkFitToWidthAndHeightOptionTest();FULL
-javafx.scene.control.Tooltip.activated.SET;javafx.scene.control.test.TooltipTest.enabled();FULL
+javafx.scene.control.Tooltip.activated.SET;javafx.scene.control.test.TooltipTest.enabled(),javafx.scene.control.test.mix.TooltipTest.enabled();FULL
 javafx.scene.control.ScrollPane.pannable.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkPannableOptionTest();FULL
 com.sun.javafx.scene.control.Pagination.pagecount.DEFAULT;javafx.scene.control.test.pagination.PaginationTest.pageCountPropertyTest();FULL
 javafx.scene.control.CheckMenuItem.selected.SET;javafx.scene.control.test.tableview.TableViewApp.createColumn();FULL
@@ -33,28 +33,28 @@
 javafx.scene.control.SingleSelectionModel.selectedItem.GET;javafx.scene.control.test.choicebox.ChoiceBoxApp.getScene();FULL
 com.sun.javafx.scene.control.Pagination.currentpageindex.BIND;javafx.scene.control.test.pagination.PaginationTest.currentPageIndexPropertyTest();FULL
 javafx.scene.control.SingleSelectionModel.selectedItem.SET;javafx.scene.control.test.choicebox.ChoiceBoxApp.getScene();FULL
-javafx.scene.control.MenuItem.onHiding.GET;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest();FULL
+javafx.scene.control.MenuItem.onHiding.GET;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest(),javafx.scene.control.test.mix.MenuTest.apiTest(),javafx.scene.control.test.mix.MenuTest.dropTest();FULL
 TreeView.onEditStartProperty.SET;javafx.scene.control.test.treeview.TreeViewTest.testOnEditStartCancel();FULL
 TreeView.onEditCommitProperty.GET;javafx.scene.control.test.treeview.TreeViewTest.testOnEditOnCancelEventSequence();FULL
 com.sun.javafx.scene.control.Pagination.pagefactory.BEHAVIOR;javafx.scene.control.test.pagination.PaginationTest.factoryChangingTest();FULL
 com.sun.javafx.scene.control.Pagination.pagecount.BIND;javafx.scene.control.test.pagination.PaginationTest.pageCountPropertyTest();FULL
-javafx.scene.control.ScrollPane.prefViewportWidth.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkPrefViewPortWidthOptionTest();FULL
+javafx.scene.control.ScrollPane.prefViewportWidth.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkPrefViewPortWidthOptionTest(),javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkMinViewPortWidthSetTest();FULL
 com.sun.javafx.scene.control.Pagination.pagecount.BEHAVIOR;javafx.scene.control.test.pagination.PaginationTest.pageCountPropertyTest();FULL
 javafx.scene.control.ScrollPane.prefViewportHeight.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkPrefViewPortHeightOptionTest();FULL
-javafx.scene.control.MenuItem.disable.SET;javafx.scene.control.test.MenuItemTest.disableTest();FULL
+javafx.scene.control.MenuItem.disable.SET;javafx.scene.control.test.MenuItemTest.disableTest(),javafx.scene.control.test.mix.MenuItemTest.disableTest();FULL
 TreeView.onEditStartProperty.GET;javafx.scene.control.test.treeview.TreeViewTest.testOnEditOnCancelEventSequence();FULL
 TreeView.onEditCommitProperty.SET;javafx.scene.control.test.treeview.TreeViewTest.testOnEditCommit();FULL
 javafx.scene.control.CheckMenuItem.selected.GET;javafx.scene.control.test.tableview.TableViewApp.createColumn();FULL
 javafx.scene.control.ScrollPane.fitToHeight.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkFitToWidthAndHeightOptionTest();FULL
 javafx.scene.control.ScrollPane.hbarPolicy.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkHVBarPolicyOptionTest();FULL
-javafx.scene.control.MenuItem.visible.BIND;javafx.scene.control.test.MenuItemTest.visibleTest();FULL
+javafx.scene.control.MenuItem.visible.BIND;javafx.scene.control.test.MenuItemTest.visibleTest(),javafx.scene.control.test.mix.MenuItemTest.visibleTest();FULL
 javafx.scene.control.ScrollPane.hmax.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkHMaxOptionTest();FULL
 javafx.scene.control.ScrollPane.vmax.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkVMaxOptionTest();FULL
 javafx.scene.control.ScrollPane.prefViewportHeight.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkPrefViewPortHeightOptionTest();FULL
 javafx.scene.control.ScrollPane.hmin.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkHMinOptionTest();FULL
-javafx.scene.control.MenuItem.disable.GET;javafx.scene.control.test.MenuItemTest.disableTest();FULL
-javafx.scene.control.MenuItem.onHidden.BIND;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest();FULL
-javafx.scene.control.MenuItem.disable.BIND;javafx.scene.control.test.MenuItemTest.disableTest();FULL
+javafx.scene.control.MenuItem.disable.GET;javafx.scene.control.test.MenuItemTest.disableTest(),javafx.scene.control.test.mix.MenuItemTest.disableTest();FULL
+javafx.scene.control.MenuItem.onHidden.BIND;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest(),javafx.scene.control.test.mix.MenuTest.apiTest(),javafx.scene.control.test.mix.MenuTest.dropTest();FULL
+javafx.scene.control.MenuItem.disable.BIND;javafx.scene.control.test.MenuItemTest.disableTest(),javafx.scene.control.test.mix.MenuItemTest.disableTest();FULL
 javafx.scene.control.ScrollPane.viewportBounds.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.boundsTest();FULL
 TreeView.onEditCancelProperty.GET;javafx.scene.control.test.treeview.TreeViewTest.testOnEditOnCancelEventSequence();FULL
 javafx.scene.control.ScrollPane.pannable.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkPannableOptionTest();FULL
@@ -65,30 +65,30 @@
 com.sun.javafx.scene.control.Pagination.currentpageindex.SET;javafx.scene.control.test.pagination.PaginationTest.currentPageIndexPropertyTest();FULL
 javafx.scene.control.ScrollPane.vbarPolicy.GET;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkHVBarPolicyOptionTest();FULL
 javafx.scene.control.ListView.selectionModel.GET;javafx.scene.control.test.ListView.ListViewApp.getTestContainer();FULL
-javafx.scene.control.MenuItem.visible.SET;javafx.scene.control.test.MenuItemTest.visibleTest();FULL
+javafx.scene.control.MenuItem.visible.SET;javafx.scene.control.test.MenuItemTest.visibleTest(),javafx.scene.control.test.mix.MenuItemTest.visibleTest();FULL
 javafx.scene.control.ScrollPane.fitToWidth.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkFitToWidthAndHeightOptionTest();FULL
-javafx.scene.control.Button.cancelButton.BIND;javafx.scene.control.test.ButtonsTest.cancelButtonTest();FULL
-javafx.scene.control.CheckBox.selected.DEFAULT;javafx.scene.control.test.ChecksTest.checks();FULL
+javafx.scene.control.Button.cancelButton.BIND;javafx.scene.control.test.ButtonsTest.cancelButtonTest(),javafx.scene.control.test.mix.ButtonsTest.cancelButtonTest();FULL
+javafx.scene.control.CheckBox.selected.DEFAULT;javafx.scene.control.test.ChecksTest.checks(),javafx.scene.control.test.mix.ChecksTest.checks();FULL
 javafx.scene.control.ChoiceBox.showing.DEFAULT;javafx.scene.control.test.choicebox.ChoiceBoxApp.getScene();FULL
-javafx.scene.control.MenuItem.visible.GET;javafx.scene.control.test.MenuItemTest.visibleTest();FULL
+javafx.scene.control.MenuItem.visible.GET;javafx.scene.control.test.MenuItemTest.visibleTest(),javafx.scene.control.test.mix.MenuItemTest.visibleTest();FULL
 com.sun.javafx.scene.control.Pagination.currentpageindex.GET;javafx.scene.control.test.pagination.PaginationTest.currentPageIndexPropertyTest();FULL
 TreeView.onEditCancelProperty.SET;javafx.scene.control.test.treeview.TreeViewTest.testOnEditStartCancel();FULL
 javafx.scene.control.ChoiceBox.showing.SET;javafx.scene.control.test.choicebox.ChoiceBoxApp.getScene();FULL
 com.sun.javafx.scene.control.Pagination.pagecount.GET;javafx.scene.control.test.pagination.PaginationTest.pageCountPropertyTest();FULL
-javafx.scene.control.Button.defaultButton.GET;javafx.scene.control.test.ButtonsTest.defaultButtonTest();FULL
-javafx.scene.control.MenuItem.onHiding.BIND;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest();FULL
+javafx.scene.control.Button.defaultButton.GET;javafx.scene.control.test.ButtonsTest.defaultButtonTest(),javafx.scene.control.test.mix.ButtonsTest.defaultButtonTest();FULL
+javafx.scene.control.MenuItem.onHiding.BIND;javafx.scene.control.test.MenuTest.apiTest(),javafx.scene.control.test.MenuTest.dropTest(),javafx.scene.control.test.mix.MenuTest.apiTest(),javafx.scene.control.test.mix.MenuTest.dropTest();FULL
 com.sun.javafx.scene.control.Pagination.pageindicatorcounts.SET;javafx.scene.control.test.pagination.PaginationTest.pageIndicatorCountTest();FULL
 javafx.scene.control.ScrollPane.vmax.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkVMaxOptionTest();FULL
 com.sun.javafx.scene.control.Pagination.pageindicatorcount.BEHAVIOR;javafx.scene.control.test.pagination.PaginationTest.pageIndicatorCountTest();FULL
-javafx.scene.control.CheckBox.indeterminate.DEFAULT;javafx.scene.control.test.ChecksTest.checks();FULL
+javafx.scene.control.CheckBox.indeterminate.DEFAULT;javafx.scene.control.test.ChecksTest.checks(),javafx.scene.control.test.mix.ChecksTest.checks();FULL
 com.sun.javafx.scene.control.Pagination.pagecount.SET;javafx.scene.control.test.pagination.PaginationTest.pageCountPropertyTest();FULL
 com.sun.javafx.scene.control.Pagination.pagefactory.GET;javafx.scene.control.test.pagination.PaginationTest.factoryChangingTest();FULL
-javafx.scene.control.Button.defaultButton.SET;javafx.scene.control.test.ButtonsTest.defaultButtonTest();FULL
-javafx.scene.control.Button.cancelButton.DEFAULT;javafx.scene.control.test.ButtonsTest.cancelButtonTest();FULL
-javafx.scene.control.Button.defaultButton.DEFAULT;javafx.scene.control.test.ButtonsTest.defaultButtonTest();FULL
-javafx.scene.control.Button.text.BIND;javafx.scene.control.test.ButtonsTest.binding();FULL
+javafx.scene.control.Button.defaultButton.SET;javafx.scene.control.test.ButtonsTest.defaultButtonTest(),javafx.scene.control.test.mix.ButtonsTest.defaultButtonTest();FULL
+javafx.scene.control.Button.cancelButton.DEFAULT;javafx.scene.control.test.ButtonsTest.cancelButtonTest(),javafx.scene.control.test.mix.ButtonsTest.cancelButtonTest();FULL
+javafx.scene.control.Button.defaultButton.DEFAULT;javafx.scene.control.test.ButtonsTest.defaultButtonTest(),javafx.scene.control.test.mix.ButtonsTest.defaultButtonTest();FULL
+javafx.scene.control.Button.text.BIND;javafx.scene.control.test.ButtonsTest.binding(),javafx.scene.control.test.mix.ButtonsTest.binding();FULL
 com.sun.javafx.scene.control.Pagination.pageindicatorcount.DEFAULT;javafx.scene.control.test.pagination.PaginationTest.pageIndicatorCountTest();FULL
-javafx.scene.control.Button.text.DEFAULT;javafx.scene.control.test.ButtonsTest.binding();FULL
+javafx.scene.control.Button.text.DEFAULT;javafx.scene.control.test.ButtonsTest.binding(),javafx.scene.control.test.mix.ButtonsTest.binding();FULL
 javafx.scene.control.ScrollPane.hmax.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkHMaxOptionTest();FULL
 javafx.scene.control.ScrollPane.fitToHeight.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkFitToWidthAndHeightOptionTest();FULL
 javafx.scene.control.ScrollPane.vmin.DEFAULT;javafx.scene.control.test.ScrollPane.ScrollPaneTest.checkVMinOptionTest();FULL
diff --git a/functional/ControlsTests/nbproject/project.properties b/functional/ControlsTests/nbproject/project.properties
--- a/functional/ControlsTests/nbproject/project.properties
+++ b/functional/ControlsTests/nbproject/project.properties
@@ -25,7 +25,7 @@
 file.reference.JemmyFX.jar=../../tools/Jemmy/JemmyFX/dist/JemmyFX.jar
 file.reference.JemmyFXBrowser.jar=../../tools/Jemmy/JemmyFXBrowser/dist/JemmyFXBrowser.jar
 file.reference.JemmySWT.jar=../../tools/lib/JemmySWT.jar
-file.reference.jfxswt.jar=${java.home}/lib/jfxswt.jar
+file.reference.jfxswt.jar=${java.home}/lib/javafx-swt.jar
 build.test.results.dir=${external.output}/${application.title}/build/test/results
 file.reference.junit.jar=../../tools/Jemmy/jemmy_core/junit.jar
 file.reference.SharedTestUtilsOpen.jar=../../tools/SharedTestUtilsOpen/dist/SharedTestUtilsOpen.jar
diff --git a/functional/ControlsTests/src/javafx/commons/ControlChooserApp.java b/functional/ControlsTests/src/javafx/commons/ControlChooserApp.java
--- a/functional/ControlsTests/src/javafx/commons/ControlChooserApp.java
+++ b/functional/ControlsTests/src/javafx/commons/ControlChooserApp.java
@@ -39,9 +39,7 @@
 import javafx.scene.control.test.utils.ptables.PropertiesTable;
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.Pane;
-import javafx.scene.layout.PaneBuilder;
 import javafx.scene.layout.VBox;
-import javafx.scene.layout.VBoxBuilder;
 import test.javaclient.shared.InteroperabilityApp;
 import test.javaclient.shared.Utils;
 
@@ -55,9 +53,7 @@
 
     private VBox spaceForNode;
     private PropertiesTable propertiesTable;
-    private Pane propertiesPane = PaneBuilder.create()
-            .style("-fx-border-color:BLUE")
-            .build();
+    private Pane propertiesPane;
 
     public static void main(String[] args) {
         Utils.launch(javafx.commons.ControlChooserApp.class, args);
@@ -106,6 +102,9 @@
     }
 
     private Parent getContent() {
+        propertiesPane = new Pane();
+        propertiesPane.setStyle("-fx-border-color:BLUE");
+
         spaceForNode = new VBox(10);
         spaceForNode.setAlignment(Pos.CENTER);
         spaceForNode.setMinWidth(300);
@@ -121,11 +120,8 @@
         controls.getChildren().add(createNodeChooser());
         controls.setStyle("-fx-border-color:GREEN");
 
-        VBox vBox = VBoxBuilder.create()
-                .children(spaceForNode, controls)
-                .spacing(10d)
-                .build();
-
+        VBox vBox = new VBox(spaceForNode, controls);
+        vBox.setSpacing(10d);
         HBox hBox = new HBox(10);
         hBox.setAlignment(Pos.TOP_LEFT);
         hBox.getChildren().addAll(
diff --git a/functional/ControlsTests/src/javafx/draganddrop/DragDropWithControls.java b/functional/ControlsTests/src/javafx/draganddrop/DragDropWithControls.java
--- a/functional/ControlsTests/src/javafx/draganddrop/DragDropWithControls.java
+++ b/functional/ControlsTests/src/javafx/draganddrop/DragDropWithControls.java
@@ -50,14 +50,13 @@
 import javafx.scene.Parent;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.CheckBox;
 import javafx.scene.control.ChoiceBox;
 import javafx.scene.control.Label;
 import javafx.scene.control.Separator;
 import javafx.scene.control.TextField;
 import javafx.scene.image.Image;
-import javafx.scene.image.ImageViewBuilder;
+import javafx.scene.image.ImageView;
 import javafx.scene.input.Clipboard;
 import javafx.scene.input.ClipboardContent;
 import javafx.scene.input.DataFormat;
@@ -293,15 +292,16 @@
                 createTMSelect(sourceModes));
 
         VBox rbox = new VBox(10);
-        rbox.getChildren().addAll(new Text("Data formats:"),
-                createFormatSelect(sourceFormats),
-                ButtonBuilder.create().text("Put to clipboard")
-                .id(ID_TO_CLIPBOARD_BUTTON)
-                .onAction(new EventHandler<ActionEvent>() {
+        Button b = new Button("Put to clipboard");
+        b.setId(ID_TO_CLIPBOARD_BUTTON);
+        b.setOnAction(new EventHandler<ActionEvent>() {
             public void handle(ActionEvent t) {
                 Clipboard.getSystemClipboard().setContent(prepareClipboardContent());
             }
-        }).build());
+        });
+        rbox.getChildren().addAll(new Text("Data formats:"),
+                createFormatSelect(sourceFormats),
+                b);
 
         HBox hbox = new HBox(10);
         hbox.getChildren().addAll(lbox, new Separator(Orientation.VERTICAL), rbox);
@@ -342,10 +342,13 @@
         useCustomViewCB = new CheckBox("Use custom drag view.");
 
         VBox box = new VBox(10);
+        ImageView i = new ImageView();
+        i.setImage(CONTENT_IMAGE);
+        i.setId(ID_SRC_IMAGE);
         box.getChildren().addAll(hbox, new Separator(), fileHdr,
                 fileNames, tb, btns,
                 useCustomViewCB, new Text("Image: "),
-                ImageViewBuilder.create().image(CONTENT_IMAGE).id(ID_SRC_IMAGE).build(),
+                i,
                 log);
         if (parameters.size() > 0) {
             box.setStyle("-fx-background-color: " + parameters.get(0) + ";");
@@ -370,12 +373,14 @@
                 createControlCombo(targetControlPane, false), new Text("Target transfer modes:"), createTMSelect(targetModes));
 
         VBox rbox = new VBox(10);
-        rbox.getChildren().addAll(new Text("Data formats:"), createFormatSelect(targetFormats),
-                ButtonBuilder.create().text("paste from clipboard").id(ID_FROM_CLIPBOARD_BUTTON).onAction(new EventHandler<ActionEvent>() {
+        Button b = new Button("paste from clipboard");
+        b.setId(ID_FROM_CLIPBOARD_BUTTON);
+        b.setOnAction(new EventHandler<ActionEvent>() {
             public void handle(ActionEvent t) {
                 getDataFromClipboard(Clipboard.getSystemClipboard());
             }
-        }).build());
+        });
+        rbox.getChildren().addAll(new Text("Data formats:"), createFormatSelect(targetFormats), b);
 
         VBox content = new VBox(10);
         content.getChildren().addAll(new Text("Transfered content:"), transferedContentPane);
@@ -400,6 +405,9 @@
             public void changed(ObservableValue<? extends NodeFactory> ov, NodeFactory t, NodeFactory t1) {
                 Node ctrl = null;
                 ctrl = t1.createNode();
+                if (ctrl instanceof ImageView) {
+                    ctrl.setPickOnBounds(true);
+                }
                 if (source) {
                     ctrl.setId(ID_DRAG_SOURCE);
                 } else {
@@ -569,7 +577,9 @@
         }
         if (targetFormats.contains(DataFormat.IMAGE) && cb.hasImage()) {
             receivedContent.put(DataFormat.IMAGE, cb.getImage());
-            transferedContentPane.getChildren().addAll(new Text("Image: "), ImageViewBuilder.create().image(cb.getImage()).id(ID_RECEIVED_IMAGE).build());
+            ImageView i = new ImageView(cb.getImage());
+            i.setId(ID_RECEIVED_IMAGE);
+            transferedContentPane.getChildren().addAll(new Text("Image: "), i);
             log("Dropped image: " + cb.getImage());
             gotData = true;
         }
diff --git a/functional/ControlsTests/src/javafx/factory/ControlsFactory.java b/functional/ControlsTests/src/javafx/factory/ControlsFactory.java
--- a/functional/ControlsTests/src/javafx/factory/ControlsFactory.java
+++ b/functional/ControlsTests/src/javafx/factory/ControlsFactory.java
@@ -46,54 +46,38 @@
 import javafx.scene.Node;
 import javafx.scene.control.Accordion;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.CheckBox;
-import javafx.scene.control.CheckBoxBuilder;
 import javafx.scene.control.ChoiceBox;
 import javafx.scene.control.ColorPicker;
 import javafx.scene.control.ComboBox;
 import javafx.scene.control.Control;
 import javafx.scene.control.DatePicker;
 import javafx.scene.control.Hyperlink;
-import javafx.scene.control.HyperlinkBuilder;
 import javafx.scene.control.Label;
-import javafx.scene.control.LabelBuilder;
 import javafx.scene.control.ListView;
 import javafx.scene.control.Menu;
 import javafx.scene.control.MenuBar;
 import javafx.scene.control.MenuItem;
 import javafx.scene.control.Pagination;
 import javafx.scene.control.PasswordField;
-import javafx.scene.control.PasswordFieldBuilder;
 import javafx.scene.control.ProgressBar;
-import javafx.scene.control.ProgressBarBuilder;
 import javafx.scene.control.ProgressIndicator;
-import javafx.scene.control.ProgressIndicatorBuilder;
 import javafx.scene.control.RadioButton;
-import javafx.scene.control.RadioButtonBuilder;
 import javafx.scene.control.ScrollBar;
-import javafx.scene.control.ScrollBarBuilder;
 import javafx.scene.control.ScrollPane;
 import javafx.scene.control.Separator;
-import javafx.scene.control.SeparatorBuilder;
 import javafx.scene.control.Slider;
-import javafx.scene.control.SliderBuilder;
 import javafx.scene.control.SplitMenuButton;
-import javafx.scene.control.SplitMenuButtonBuilder;
 import javafx.scene.control.SplitPane;
-import javafx.scene.control.SplitPaneBuilder;
 import javafx.scene.control.Tab;
 import javafx.scene.control.TabPane;
 import javafx.scene.control.TableColumn;
 import javafx.scene.control.TableColumn.CellDataFeatures;
 import javafx.scene.control.TableView;
 import javafx.scene.control.TextArea;
-import javafx.scene.control.TextAreaBuilder;
 import javafx.scene.control.TextField;
-import javafx.scene.control.TextFieldBuilder;
 import javafx.scene.control.TitledPane;
 import javafx.scene.control.ToggleButton;
-import javafx.scene.control.ToggleButtonBuilder;
 import javafx.scene.control.ToolBar;
 import javafx.scene.control.TreeItem;
 import javafx.scene.control.TreeTableColumn;
@@ -102,7 +86,7 @@
 import javafx.scene.image.Image;
 import javafx.scene.image.ImageView;
 import javafx.scene.layout.HBox;
-import javafx.scene.layout.StackPaneBuilder;
+import javafx.scene.layout.StackPane;
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Circle;
@@ -114,7 +98,10 @@
 
     Buttons(new ControlFactory() {
         public Control createControl() {
-            return ButtonBuilder.create().text("Button the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).graphic(new Rectangle(10, 10, Color.RED)).build();
+            Button b = new Button("Button the first line" + "\nthe sec long line" + "\nthe third line");
+            b.setFocusTraversable(false);
+            b.setGraphic(new Rectangle(10, 10, Color.RED));
+            return b;
         }
 
         public Class getControlClass() {
@@ -183,7 +170,10 @@
     }),
     CheckBoxes(new ControlFactory() {
         public Control createControl() {
-            return CheckBoxBuilder.create().text("Check box the first line" + "\nthe sec long line" + "\nthe third line").graphic(new Rectangle(20, 20, Color.web("lightblue"))).focusTraversable(false).build();
+            CheckBox cb = new CheckBox("Check box the first line" + "\nthe sec long line" + "\nthe third line");
+            cb.setFocusTraversable(false);
+            cb.setGraphic(new Rectangle(20, 20, Color.web("lightblue")));
+            return cb;
         }
 
         public Class getControlClass() {
@@ -192,7 +182,11 @@
     }),
     RadioButtons(new ControlFactory() {
         public Control createControl() {
-            return RadioButtonBuilder.create().text("Radio the first line" + "\nthe sec long line" + "\nthe third line").graphic(new Rectangle(20, 20, Color.web("lightblue"))).focusTraversable(false).textAlignment(TextAlignment.RIGHT).build();
+            RadioButton rb = new RadioButton("Radio the first line" + "\nthe sec long line" + "\nthe third line");
+            rb.setFocusTraversable(false);
+            rb.setGraphic(new Rectangle(20, 20, Color.web("lightblue")));
+            rb.setTextAlignment(TextAlignment.RIGHT);
+            return rb;
         }
 
         public Class getControlClass() {
@@ -201,7 +195,9 @@
     }),
     TextFields(new ControlFactory() {
         public Control createControl() {
-            return TextFieldBuilder.create().text("Text box the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).build();
+            TextField tf = new TextField("Text box the first line" + "\nthe sec long line" + "\nthe third line");
+            tf.setFocusTraversable(false);
+            return tf;
         }
 
         public Class getControlClass() {
@@ -210,7 +206,10 @@
     }),
     TextAreas(new ControlFactory() {
         public Control createControl() {
-            return TextAreaBuilder.create().maxWidth(100).maxHeight(50).text("Text area the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).build();
+            TextArea ta = new TextArea("Text area the first line" + "\nthe sec long line" + "\nthe third line");
+            ta.setFocusTraversable(false);
+            ta.setMaxSize(100, 50);
+            return ta;
         }
 
         public Class getControlClass() {
@@ -219,7 +218,10 @@
     }),
     PasswordFields(new ControlFactory() {
         public Control createControl() {
-            return PasswordFieldBuilder.create().promptText("Password box the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).build();
+            PasswordField pf = new PasswordField();
+            pf.setPromptText("Password box the first line" + "\nthe sec long line" + "\nthe third line");
+            pf.setFocusTraversable(false);
+            return pf;
         }
 
         public Class getControlClass() {
@@ -228,7 +230,12 @@
     }),
     Sliders(new ControlFactory() {
         public Control createControl() {
-            return SliderBuilder.create().min(0).max(100).value(20).focusTraversable(false).build();
+            Slider s = new Slider();
+            s.setMin(0);
+            s.setMax(100);
+            s.setValue(20);
+            s.setFocusTraversable(false);
+            return s;
         }
 
         public Class getControlClass() {
@@ -237,7 +244,10 @@
     }),
     Labels(new ControlFactory() {
         public Control createControl() {
-            return LabelBuilder.create().text("Label the first line" + "\nthe sec longlong line" + "\nthe third line").focusTraversable(false).graphic(new Rectangle(20, 20, Color.web("lightblue"))).build();
+            Label l = new Label("Label the first line" + "\nthe sec longlong line" + "\nthe third line");
+            l.setFocusTraversable(false);
+            l.setGraphic(new Rectangle(20, 20, Color.web("lightblue")));
+            return l;
         }
 
         public Class getControlClass() {
@@ -246,7 +256,10 @@
     }),
     Hyperlinks(new ControlFactory() {
         public Control createControl() {
-            return HyperlinkBuilder.create().text("Hyperlink the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).graphic(new Circle(10, Color.BLUE)).build();
+            Hyperlink hl = new Hyperlink("Hyperlink the first line" + "\nthe sec long line" + "\nthe third line");
+            hl.setFocusTraversable(false);
+            hl.setGraphic(new Circle(10, Color.BLUE));
+            return hl;
         }
 
         public Class getControlClass() {
@@ -299,7 +312,8 @@
     }),
     Separators(new ControlFactory() {
         public Control createControl() {
-            Separator sep = SeparatorBuilder.create().halignment(HPos.CENTER).build();
+            Separator sep = new Separator();
+            sep.setHalignment(HPos.CENTER);
             sep.setPrefWidth(80);
             return sep;
         }
@@ -310,7 +324,12 @@
     }),
     ScrollBars(new ControlFactory() {
         public Control createControl() {
-            return ScrollBarBuilder.create().value(45).min(0).max(100).focusTraversable(false).build();
+            ScrollBar sb = new ScrollBar();
+            sb.setValue(45);
+            sb.setMin(0);
+            sb.setMax(100);
+            sb.setFocusTraversable(false);
+            return sb;
         }
 
         public Class getControlClass() {
@@ -337,7 +356,9 @@
     }),
     ProgressIndicators(new ControlFactory() {
         public Node createControl() {
-            return ProgressIndicatorBuilder.create().progress(0.85).focusTraversable(false).build();
+            ProgressIndicator pi = new ProgressIndicator(0.85);
+            pi.setFocusTraversable(false);
+            return pi;
         }
 
         public Class getControlClass() {
@@ -346,7 +367,9 @@
     }),
     ProgressBars(new ControlFactory() {
         public Node createControl() {
-            return ProgressBarBuilder.create().progress(0.25).focusTraversable(false).build();
+            ProgressBar pb = new ProgressBar(0.25);
+            pb.setFocusTraversable(false);
+            return pb;
         }
 
         public Class getControlClass() {
@@ -356,6 +379,8 @@
     ListViews(new ControlFactory() {
         public Node createControl() {
             ListView list = new ListView();
+
+            // The following requires --add-exports javafx.base/com.sun.javafx.collections=ALL-UNNAMED
             ObservableListWrapper<String> items = new ObservableListWrapper<String>(Arrays.asList("One", "Two", "Three", "Four", "Five", "Six", "long line long line long line long line"));
             list.setItems(items);
             list.setPrefWidth(100);
@@ -370,7 +395,11 @@
     }),
     PressedToggleButtons(new ControlFactory() {
         public Control createControl() {
-            return ToggleButtonBuilder.create().selected(true).text("Button the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).graphic(new Rectangle(10, 10, Color.RED)).build();
+            ToggleButton tb = new ToggleButton("Button the first line" + "\nthe sec long line" + "\nthe third line");
+            tb.setFocusTraversable(false);
+            tb.setGraphic(new Rectangle(10, 10, Color.RED));
+            tb.setSelected(true);
+            return tb;
         }
 
         public Class getControlClass() {
@@ -379,7 +408,11 @@
     }),
     UnPressedToggleButtons(new ControlFactory() {
         public Control createControl() {
-            return ToggleButtonBuilder.create().selected(false).text("Button the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).graphic(new Rectangle(10, 10, Color.RED)).build();
+            ToggleButton tb = new ToggleButton("Button the first line" + "\nthe sec long line" + "\nthe third line");
+            tb.setFocusTraversable(false);
+            tb.setGraphic(new Rectangle(10, 10, Color.RED));
+            tb.setSelected(false);
+            return tb;
         }
 
         public Class getControlClass() {
@@ -389,7 +422,9 @@
     Toolbars(new ControlFactory() {
         public Node createControl() {
             ToolBar toolbar = new ToolBar();
-            toolbar.getItems().addAll(new Button("One"), new Button("Two"), new Separator(), SplitMenuButtonBuilder.create().text("three").build());
+            SplitMenuButton smb = new SplitMenuButton();
+            smb.setText("three");
+            toolbar.getItems().addAll(new Button("One"), new Button("Two"), new Separator(), smb);
             toolbar.setFocusTraversable(false);
             return toolbar;
         }
@@ -412,12 +447,10 @@
     }),
     SplitMenuButtons(new ControlFactory() {
         public Node createControl() {
-            SplitMenuButton smb = SplitMenuButtonBuilder.create()
-                    .text("Split box the first line" + "\nthe sec long line" + "\nthe third line")
-                    .items(new MenuItem("Split box the first line" + "\nthe sec long line" + "\nthe third line",
-                    new Rectangle(10, 10, Color.BLUE)))
-                    .graphic(new Rectangle(10, 10, Color.RED))
-                    .build();
+            SplitMenuButton smb = new SplitMenuButton(new MenuItem("Split box the first line" + "\nthe sec long line" + "\nthe third line",
+                    new Rectangle(10, 10, Color.BLUE)));
+            smb.setText("Split box the first line" + "\nthe sec long line" + "\nthe third line");
+            smb.setGraphic(new Rectangle(10, 10, Color.RED));
             smb.setMinWidth(100);
             smb.setFocusTraversable(false);
             return smb;
@@ -491,7 +524,6 @@
             table.getColumns().setAll(column1, column2);
             table.setPrefHeight(100);
             table.setPrefWidth(100);
-            table.setMinHeight(Control.USE_PREF_SIZE);
             table.setFocusTraversable(false);
             return table;
         }
@@ -531,7 +563,6 @@
             treeTable.getColumns().setAll(column1, column2);
             treeTable.setPrefHeight(100);
             treeTable.setPrefWidth(100);
-            treeTable.setMinHeight(Control.USE_PREF_SIZE);
             treeTable.setFocusTraversable(false);
             return treeTable;
         }
@@ -584,10 +615,11 @@
     }),
     SplitPanes(new ControlFactory() {
         public Node createControl() {
-            SplitPane pane = SplitPaneBuilder.create().items(
-                    StackPaneBuilder.create().children(new Rectangle(40, 40, Color.WHITESMOKE)).build(),
-                    StackPaneBuilder.create().children(new Rectangle(40, 40, Color.BLUE)).build(),
-                    StackPaneBuilder.create().children(new Rectangle(40, 40, Color.RED)).build()).prefWidth(150).prefHeight(150).build();
+            StackPane sp1 = new StackPane(new Rectangle(40, 40, Color.WHITESMOKE));
+            StackPane sp2 = new StackPane(new Rectangle(40, 40, Color.BLUE));
+            StackPane sp3 = new StackPane(new Rectangle(40, 40, Color.RED));
+            SplitPane pane = new SplitPane(sp1, sp2, sp3);
+            pane.setPrefSize(150, 150);
             pane.setMinWidth(100);
             pane.setDividerPositions(0.33, 0.67);
             pane.setFocusTraversable(false);
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/ListView/NewListViewApp.java b/functional/ControlsTests/src/javafx/scene/control/test/ListView/NewListViewApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/ListView/NewListViewApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/ListView/NewListViewApp.java
@@ -118,7 +118,9 @@
             PropertyTablesFactory.explorePropertiesList(testedListView, tb);
             SpecialTablePropertiesProvider.provideForControl(testedControl, tb);
 
-            final TextField tf = TextFieldBuilder.create().id(LIST_VIEW_CONTROL_ADD_INDEX_TEXT_FIELD_ID).text("0").prefWidth(40).build();
+            final TextField tf = new TextField("0");
+            tf.setId(LIST_VIEW_CONTROL_ADD_INDEX_TEXT_FIELD_ID);
+            tf.setPrefWidth(40);
 
             HBox nodeshb = new NodesChoserFactory("Add!", new NodesChoserFactory.NodeAction<Node>() {
                 @Override
@@ -128,7 +130,8 @@
             }, tf);
 
             HBox resetButtons = new HBox();
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -138,7 +141,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     softReset();
@@ -154,7 +158,8 @@
                 }
             });
 
-            Button changeSelectionModel = ButtonBuilder.create().text("Change selection model to custom").id(CHANGE_SELECTION_MODEL_BUTTON_ID).build();
+            Button changeSelectionModel = new Button("Change selection model to custom");
+            changeSelectionModel.setId(CHANGE_SELECTION_MODEL_BUTTON_ID);
             changeSelectionModel.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedListView.setSelectionModel(cmsm);
@@ -180,7 +185,6 @@
             ListView lv = new ListView();
             lv.setId(TESTED_LIST_VIEW_ID);
             return lv;
-            //return ListViewBuilder.create().id(TESTED_LIST_VIEW_ID).build();
         }
 
         private void softReset() {
@@ -225,12 +229,17 @@
         private HBox getAddItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add item");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADD_ITEM_TEXT_FIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADD_ITEM_TEXT_FIELD_ID);
 
             Label atLb = new Label("at pos");
-            final TextField tfPos = TextFieldBuilder.create().prefWidth(50).id(ADD_ITEM_POSITION_TEXT_FIELD_ID).build();
+            final TextField tfPos = new TextField();
+            tfPos.setPrefWidth(50);
+            tfPos.setId(ADD_ITEM_POSITION_TEXT_FIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_ITEM_BUTTON_ID).build();
+            Button bt = new Button("Add!");
+            bt.setId(ADD_ITEM_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     ((ListView) testedControl).getItems().add(Integer.parseInt(tfPos.getText()), tf.getText());
@@ -243,8 +252,11 @@
         private HBox getRemoveItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("From position");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Remove!").id(REMOVE_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);
+            Button bt = new Button("Remove!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -257,8 +269,10 @@
 
         private HBox getScrollToHBox() {
             HBox hb = new HBox();
-            Button button = ButtonBuilder.create().text("ScrollTo").id(SCROLL_TO_BUTTON_ID).build();
-            final TextField tf = TextFieldBuilder.create().text("0").id(SCROLL_TO_TEXT_FIELD_ID).build();
+            Button button = new Button("ScrollTo");
+            button.setId(SCROLL_TO_BUTTON_ID);
+            final TextField tf = new TextField("0");
+            tf.setId(SCROLL_TO_TEXT_FIELD_ID);
 
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
@@ -273,8 +287,11 @@
         private HBox getAddRectangleHbox() {
             HBox hb = new HBox();
             Label lb = new Label("Add rectangle at pos");
-            final TextField tfPos = TextFieldBuilder.create().prefWidth(50).id(ADD_RECTANGLE_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_RECTANGLE_BUTTON_ID).build();
+            final TextField tfPos = new TextField();
+            tfPos.setPrefWidth(50);
+            tfPos.setId(ADD_RECTANGLE_TEXT_FIELD_ID);
+            Button bt = new Button("Add!");
+            bt.setId(ADD_RECTANGLE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tfPos.getText());
@@ -288,8 +305,11 @@
         private HBox getAddFormHbox() {
             HBox hb = new HBox();
             Label lb = new Label("Add form at pos");
-            final TextField tfPos = TextFieldBuilder.create().prefWidth(50).id(ADD_FORM_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_FORM_BUTTON_ID).build();
+            final TextField tfPos = new TextField();
+            tfPos.setPrefWidth(50);
+            tfPos.setId(ADD_FORM_TEXT_FIELD_ID);
+            Button bt = new Button("Add!");
+            bt.setId(ADD_FORM_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tfPos.getText());
@@ -303,8 +323,11 @@
         private HBox getAddTextFieldHbox() {
             HBox hb = new HBox();
             Label lb = new Label("Add textField at pos");
-            final TextField tfPos = TextFieldBuilder.create().prefWidth(50).id(ADD_TEXT_FIELD_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_TEXT_FIELD_BUTTON_ID).build();
+            final TextField tfPos = new TextField();
+            tfPos.setPrefWidth(50);
+            tfPos.setId(ADD_TEXT_FIELD_TEXT_FIELD_ID);
+            Button bt = new Button("Add!");
+            bt.setId(ADD_TEXT_FIELD_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tfPos.getText());
@@ -317,9 +340,11 @@
 
         private HBox getStartMotionHBox() {
             HBox hb = new HBox();
-            Button startMotion = ButtonBuilder.create().text("start motion").id(START_MOTION_BUTTON_ID).build();
+            Button startMotion = new Button("start motion");
+            startMotion.setId(START_MOTION_BUTTON_ID);
             Label label = new Label(" of element at position ");
-            final TextField tf = TextFieldBuilder.create().text("0").id(START_MOTION_TEXT_FIELD_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setId(START_MOTION_TEXT_FIELD_ID);
             startMotion.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     cm.applyTransition((Node) ((ListView) testedControl).getItems().get(Integer.parseInt(tf.getText())));
@@ -332,9 +357,11 @@
 
         private HBox getIncreaseScaleHBox() {
             HBox hb = new HBox();
-            final TextField tf = TextFieldBuilder.create().text("0").id(INCREASE_SCALE_TEXT_FIELD_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setId(INCREASE_SCALE_TEXT_FIELD_ID);
             Label label = new Label(" of node on position ");
-            Button increaseScaleButton = ButtonBuilder.create().id(INCREASE_SCALE_BUTTON_ID).text("Increase scale").build();
+            Button increaseScaleButton = new Button("Increase scale");
+            increaseScaleButton.setId(INCREASE_SCALE_BUTTON_ID);
             increaseScaleButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     Node content = (Node) ((ListView) testedControl).getItems().get(Integer.parseInt(tf.getText()));
@@ -348,9 +375,11 @@
 
         private HBox getDecreaseScaleHBox() {
             HBox hb = new HBox();
-            final TextField tf = TextFieldBuilder.create().text("0").id(DECREASE_SCALE_TEXT_FIELD_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setId(DECREASE_SCALE_TEXT_FIELD_ID);
             Label label = new Label(" of node on position ");
-            Button increaseScaleButton = ButtonBuilder.create().id(DECREASE_SCALE_BUTTON_ID).text("Decrease scale").build();
+            Button increaseScaleButton = new Button("Decrease scale");
+            increaseScaleButton.setId(DECREASE_SCALE_BUTTON_ID);
             increaseScaleButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     Node content = (Node) ((ListView) testedControl).getItems().get(Integer.parseInt(tf.getText()));
@@ -371,7 +400,9 @@
         }
 
         private TextField getNewTextField() {
-            return TextFieldBuilder.create().id("CONTENT_TEXT_FIELD_" + (textFieldsCounter++) + "_ID").build();
+            TextField tf = new TextField();
+            tf.setId("CONTENT_TEXT_FIELD_" + (textFieldsCounter++) + "_ID");
+            return tf;
         }
     }
 }
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/ScrollPane/NewScrollPaneApp.java b/functional/ControlsTests/src/javafx/scene/control/test/ScrollPane/NewScrollPaneApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/ScrollPane/NewScrollPaneApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/ScrollPane/NewScrollPaneApp.java
@@ -113,14 +113,13 @@
 
         public ScrollPaneScene() {
             super("ScrollPane", 800, 600);
-
-            prepareScene();
         }
 
         @Override
         protected final void prepareScene() {
             Utils.addBrowser(this);
-            testedScrollPane = ScrollPaneBuilder.create().id(TESTED_SCROLLPANE_ID).build();
+            testedScrollPane = new ScrollPane();
+            testedScrollPane.setId(TESTED_SCROLLPANE_ID);
             final Node content = setCustomContent(customContentHeight, customContentWidth);
 
             final ContentMotion cm = new ContentMotion();
@@ -136,7 +135,8 @@
                 testedScrollPane.setPrefViewportHeight(scrollPaneHeight);
             }
 
-            Button changeContentButton = ButtonBuilder.create().id(CHANGE_CONTENT_BUTTON_ID).text("ChangeContent").build();
+            Button changeContentButton = new Button("ChangeContent");
+            changeContentButton.setId(CHANGE_CONTENT_BUTTON_ID);
             changeContentButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     changeContent();
@@ -144,7 +144,8 @@
                 }
             });
 
-            Button addPrefWidthAndHeightButton = ButtonBuilder.create().id(ADD_SIZE_BUTTON_ID).text("Add pref sizes").build();
+            Button addPrefWidthAndHeightButton = new Button("Add pref sizes");
+            addPrefWidthAndHeightButton.setId(ADD_SIZE_BUTTON_ID);
             addPrefWidthAndHeightButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     tb.addDoublePropertyLine(testedScrollPane.prefWidthProperty(), -100, 200, 100);
@@ -152,7 +153,8 @@
                 }
             });
 
-            Button setTextAreaAsContentButton = ButtonBuilder.create().id(CHANGE_CONTENT_TO_RESIZABLE_BUTTON_ID).text("Set blue pane as content").build();
+            Button setTextAreaAsContentButton = new Button("Set blue pane as content");
+            setTextAreaAsContentButton.setId(CHANGE_CONTENT_TO_RESIZABLE_BUTTON_ID);
             setTextAreaAsContentButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     setResizableContent();
@@ -162,35 +164,40 @@
                 }
             });
 
-            Button setCustomContentButton = ButtonBuilder.create().id(CHANGE_CONTENT_TO_CUSTOM_BUTTON_ID).text("Set custom content").build();
+            Button setCustomContentButton = new Button("Set custom content");
+            setCustomContentButton.setId(CHANGE_CONTENT_TO_CUSTOM_BUTTON_ID);
             setCustomContentButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     setCustomContent();
                 }
             });
 
-            Button buttonStart = ButtonBuilder.create().id(START_MOTION_BUTTON_ID).text("Start motion").build();
+            Button buttonStart = new Button("Start motion");
+            buttonStart.setId(START_MOTION_BUTTON_ID);
             buttonStart.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     cm.getTimeline().play();
                 }
             });
 
-            Button rotateButton = ButtonBuilder.create().id(ROTATE_BUTTON_ID).text("Rotate on 30deg").build();
+            Button rotateButton = new Button("Rotate on 30deg");
+            rotateButton.setId(ROTATE_BUTTON_ID);
             rotateButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     content.setRotate(content.getRotate() + 30);
                 }
             });
 
-            Button rotateScrollPaneButton = ButtonBuilder.create().id(ROTATE_SCROLLPANE_BUTTON_ID).text("Rotate scrollpane on 30deg").build();
+            Button rotateScrollPaneButton = new Button("Rotate scrollpane on 30deg");
+            rotateScrollPaneButton.setId(ROTATE_SCROLLPANE_BUTTON_ID);
             rotateScrollPaneButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedScrollPane.setRotate(testedScrollPane.getRotate() + 30);
                 }
             });
 
-            Button increaseScaleButton = ButtonBuilder.create().id(INCREASE_SCALE_BUTTON_ID).text("Increase scale").build();
+            Button increaseScaleButton = new Button("Increase scale");
+            increaseScaleButton.setId(INCREASE_SCALE_BUTTON_ID);
             increaseScaleButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     content.setScaleX(content.getScaleX() + 0.15);
@@ -198,7 +205,8 @@
                 }
             });
 
-            Button decreaseScaleButton = ButtonBuilder.create().id(DECREASE_SCALE_BUTTON_ID).text("Decrease scale").build();
+            Button decreaseScaleButton = new Button("Decrease scale");
+            decreaseScaleButton.setId(DECREASE_SCALE_BUTTON_ID);
             decreaseScaleButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     content.setScaleX(content.getScaleX() - 0.15);
@@ -206,7 +214,8 @@
                 }
             });
 
-            Button increaseScrollPaneScaleButton = ButtonBuilder.create().id(INCREASE_SCROLLPANE_SCALE_BUTTON_ID).text("Increase ScrollPane scale").build();
+            Button increaseScrollPaneScaleButton = new Button("Increase ScrollPane scale");
+            increaseScrollPaneScaleButton.setId(INCREASE_SCROLLPANE_SCALE_BUTTON_ID);
             increaseScrollPaneScaleButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedScrollPane.setScaleX(testedScrollPane.getScaleX() + 0.15);
@@ -214,7 +223,8 @@
                 }
             });
 
-            Button decreaseScrollPaneScaleButton = ButtonBuilder.create().id(DECREASE_SCROLLPANE_SCALE_BUTTON_ID).text("Decrease ScrollPane scale").build();
+            Button decreaseScrollPaneScaleButton = new Button("Decrease ScrollPane scale");
+            decreaseScrollPaneScaleButton.setId(DECREASE_SCROLLPANE_SCALE_BUTTON_ID);
             decreaseScrollPaneScaleButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedScrollPane.setScaleX(testedScrollPane.getScaleX() - 0.15);
@@ -222,7 +232,8 @@
                 }
             });
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -246,8 +257,12 @@
         }
 
         private Node getAddGridPaneForm() {
-            final TextField dimension = TextFieldBuilder.create().id(GRID_DIMENSION_TEXTFIELD_ID).promptText("int-dimension").maxWidth(50).build();
-            Button addButton = ButtonBuilder.create().id(ADD_GRID_BUTTON_ID).text("Add grid").build();
+            final TextField dimension = new TextField();
+            dimension.setId(GRID_DIMENSION_TEXTFIELD_ID);
+            dimension.setPromptText("int-dimension");
+            dimension.setMaxWidth(50);
+            Button addButton = new Button("Add grid");
+            addButton.setId(ADD_GRID_BUTTON_ID);
             addButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     int c = Integer.parseInt(dimension.getText());
@@ -256,7 +271,11 @@
                     for (int i = 0; i < c; i++) {
                         for (int j = 0; j < c; j++) {
                             final String name = "B-" + String.valueOf(i) + "-" + String.valueOf(j);
-                            gridPane.add(ButtonBuilder.create().text(name).id(name).minHeight(10 * i).minWidth(10 * j).build(), i, j);
+                            Button temp = new Button(name);
+                            temp.setId(name);
+                            temp.setMinHeight(10 * i);
+                            temp.setMinWidth(10 * j);
+                            gridPane.add(temp, i, j);
                         }
                     }
                     testedScrollPane.setContent(gridPane);
@@ -291,18 +310,23 @@
 
         private void changeContent() {
             VBox vb = new VBox();
-            Button button = ButtonBuilder.create().id(CONTENT_BUTTON).text("Press me").build();
-            final TextField tf1 = TextFieldBuilder.create().id(CONTENT_TEXT_FIELD_ID).text("0").build();
+            Button button = new Button("Press me");
+            button.setId(CONTENT_BUTTON);
+            final TextField tf1 = new TextField("0");
+            tf1.setId(CONTENT_TEXT_FIELD_ID);
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     tf1.setText(String.valueOf(Integer.parseInt(tf1.getText()) + 1));
                 }
             });
-            TextArea tf2 = TextAreaBuilder.create().prefHeight(100).id(CONTENT_TEXT_AREA_ID).build();
+            TextArea tf2 = new TextArea();
+            tf2.setPrefHeight(100);
+            tf2.setId(CONTENT_TEXT_AREA_ID);
             for (int i = 0; i < 15; i++) {
                 tf2.appendText("text" + i + "\n");
             }
-            Button empty = ButtonBuilder.create().text("This is empty-action button").id(WITHOUT_ACTION_BUTTON).build();
+            Button empty = new Button("This is empty-action button");
+            empty.setId(WITHOUT_ACTION_BUTTON);
 
             vb.getChildren().addAll(button, tf1, tf2, empty);
             vb.setStyle("-fx-border-color: blue;");
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/ToggleButtonNewApp.java b/functional/ControlsTests/src/javafx/scene/control/test/ToggleButtonNewApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/ToggleButtonNewApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/ToggleButtonNewApp.java
@@ -31,14 +31,10 @@
 import javafx.event.EventHandler;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.CheckBox;
-import javafx.scene.control.CheckBoxBuilder;
 import javafx.scene.control.Label;
-import javafx.scene.control.LabelBuilder;
-import javafx.scene.control.RadioButtonBuilder;
+import javafx.scene.control.RadioButton;
 import javafx.scene.control.ToggleButton;
-import javafx.scene.control.ToggleButtonBuilder;
 import javafx.scene.control.ToggleGroup;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.HBox;
@@ -80,21 +76,45 @@
 
         ToggleButton toggleButton1;
         ToggleButton toggleButton2;
-        CheckBox checkBox1 = CheckBoxBuilder.create().wrapText(true).text("Unidirectionally binded to\ntoggle button 1 selection property").id(CHECK_BOX_LISTENING_1_ID).build();
-        CheckBox checkBox2 = CheckBoxBuilder.create().wrapText(true).text("Unidirectionally binded to\ntoggle button 2 selection property").id(CHECK_BOX_LISTENING_2_ID).build();
-        CheckBox checkBox3 = CheckBoxBuilder.create().wrapText(true).text("This check box is bidirectionally binded\nto Toggle Button 1 selection property").id(CHECK_BOX_SETTING_1_BIDIR_ID).build();
-        CheckBox checkBox4 = CheckBoxBuilder.create().wrapText(true).text("This check box unidirectionally sets\ntoggle button 2 selection property").id(CHECK_BOX_SETTING_2_UNIDIR_ID).build();
+        CheckBox checkBox1;
+        CheckBox checkBox2;
+        CheckBox checkBox3;
+        CheckBox checkBox4;
         ToggleGroup toggleGroup = new ToggleGroup();
-        ToggleButton bindingsSettingButton = ToggleButtonBuilder.create().text("State: Unbinded").id(BINDING_SET_TOGGLE_BUTTON_ID).build();
-        ToggleButton groupingButton = ToggleButtonBuilder.create().text("State: Ungrouped").id(GROUPING_TOGGLE_BUTTON_ID).build();
-        ToggleButton testedControlChangeButton = ToggleButtonBuilder.create().text("Control: radio button").id(SETTING_CONTROL_TOGGLE_BUTTON_ID).build();
-        Button resetButton = ButtonBuilder.create().text("Reset state").id(RESET_BUTTON_ID).build();
-        Label mouseEventsLogger = LabelBuilder.create().text("0").id(MOUSE_EVENTS_LOGGER_LABEL_ID).build();
+        ToggleButton bindingsSettingButton;
+        ToggleButton groupingButton;
+        ToggleButton testedControlChangeButton;
+        Button resetButton;
+        Label mouseEventsLogger;
         VBox vb1 = new VBox();
 
         public ToggleButtonNewAppScene() {
             super(new HBox(), 800, 320);
 
+            checkBox1 = new CheckBox("Unidirectionally binded to\ntoggle button 1 selection property");
+            checkBox1.setWrapText(true);
+            checkBox1.setId(CHECK_BOX_LISTENING_1_ID);
+            checkBox2 = new CheckBox("Unidirectionally binded to\ntoggle button 2 selection property");
+            checkBox2.setWrapText(true);
+            checkBox2.setId(CHECK_BOX_LISTENING_2_ID);
+            checkBox3 = new CheckBox("This check box is bidirectionally binded\nto Toggle Button 1 selection property");
+            checkBox3.setWrapText(true);
+            checkBox3.setId(CHECK_BOX_SETTING_1_BIDIR_ID);
+            checkBox4 = new CheckBox("This check box unidirectionally sets\ntoggle button 2 selection property");
+            checkBox4.setWrapText(true);
+            checkBox4.setId(CHECK_BOX_SETTING_2_UNIDIR_ID);
+
+            bindingsSettingButton = new ToggleButton("State: Unbinded");
+            bindingsSettingButton.setId(BINDING_SET_TOGGLE_BUTTON_ID);
+            groupingButton = new ToggleButton("State: Ungrouped");
+            groupingButton.setId(GROUPING_TOGGLE_BUTTON_ID);
+            testedControlChangeButton = new ToggleButton("Control: radio button");
+            testedControlChangeButton.setId(SETTING_CONTROL_TOGGLE_BUTTON_ID);
+            resetButton = new Button("Reset state");
+            resetButton.setId(RESET_BUTTON_ID);
+            mouseEventsLogger = new Label("0");
+            mouseEventsLogger.setId(MOUSE_EVENTS_LOGGER_LABEL_ID);
+
             setControl(ControlType.RADIO_BUTTON);
 
             addButtonsListeners();
@@ -131,11 +151,15 @@
 
         private void setControl(ControlType type) {
             if (type == ControlType.RADIO_BUTTON) {
-                toggleButton1 = RadioButtonBuilder.create().text("Radio button 1").id(TOGGLE_BUTTON_1_ID).build();
-                toggleButton2 = RadioButtonBuilder.create().text("Radio button 2").id(TOGGLE_BUTTON_2_ID).build();
+                toggleButton1 = new RadioButton("Radio button 1");
+                toggleButton1.setId(TOGGLE_BUTTON_1_ID);
+                toggleButton2 = new RadioButton("Radio button 2");
+                toggleButton2.setId(TOGGLE_BUTTON_2_ID);
             } else {
-                toggleButton1 = ToggleButtonBuilder.create().text("Toggle button 1").id(TOGGLE_BUTTON_1_ID).build();
-                toggleButton2 = ToggleButtonBuilder.create().text("Toggle button 2").id(TOGGLE_BUTTON_2_ID).build();
+                toggleButton1 = new ToggleButton("Toggle button 1");
+                toggleButton1.setId(TOGGLE_BUTTON_1_ID);
+                toggleButton2 = new ToggleButton("Toggle button 2");
+                toggleButton2.setId(TOGGLE_BUTTON_2_ID);
             }
 
             vb1.getChildren().clear();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/accordion/NewAccordionApp.java b/functional/ControlsTests/src/javafx/scene/control/test/accordion/NewAccordionApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/accordion/NewAccordionApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/accordion/NewAccordionApp.java
@@ -78,14 +78,17 @@
 
         private void prepareScene() {
             pane = new Pane();
-            testedAccordion = AccordionBuilder.create().id(TESTED_ACCORDION_ID).build();
+            testedAccordion = new Accordion();
+            testedAccordion.setId(TESTED_ACCORDION_ID);
 
             PropertiesTable tb = new PropertiesTable(testedAccordion);
             PropertyTablesFactory.explorePropertiesList(testedAccordion, tb);
 
             final TabPaneWithControl tabPane = new TabPaneWithControl("Accordion", tb);
 
-            final TextField tf = TextFieldBuilder.create().id(ACCORDION_ADD_INDEX_TEXT_FIELD_ID).text("0").prefWidth(40).build();
+            final TextField tf = new TextField("0");
+            tf.setId(ACCORDION_ADD_INDEX_TEXT_FIELD_ID);
+            tf.setPrefWidth(40);
 
             HBox nodeshb = new NodesChoserFactory("Add!", new NodesChoserFactory.NodeAction<Node>() {
 
@@ -110,7 +113,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
 
                 public void handle(ActionEvent t) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewAreaChartApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewAreaChartApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewAreaChartApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewAreaChartApp.java
@@ -43,6 +43,7 @@
 import javafx.scene.chart.XYChart;
 import javafx.scene.chart.XYChart.Series;
 import javafx.scene.control.*;
+import static javafx.scene.control.test.chart.apps.ChartIDsInterface.HARD_RESET_BUTTON_ID;
 import static javafx.scene.control.test.chart.apps.CommonFunctions.*;
 import javafx.scene.control.test.utils.CommonPropertiesScene;
 import javafx.scene.control.test.utils.ptables.PropertiesTable;
@@ -99,7 +100,8 @@
             testedAreaChart = getNewChart();
             testedAreaChart.setId(TESTED_CHART_ID);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -109,7 +111,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //throw new UnsupportedOperationException("Not supported yet.");
@@ -134,15 +137,22 @@
             HBox hb = new HBox();
 
             Label lb1 = new Label("To area");
-            final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).id(ADD_AREA_POS_TEXT_FIELD_ID).build();
+            final TextField tf1 = new TextField("0");
+            tf1.setPrefWidth(50);
+            tf1.setId(ADD_AREA_POS_TEXT_FIELD_ID);
 
             Label lb2 = new Label("to index");
-            final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).id(ADD_INDEX_TEXT_FIELD_ID).build();
+            final TextField tf2 = new TextField("0");
+            tf2.setPrefWidth(50);
+            tf2.setId(ADD_INDEX_TEXT_FIELD_ID);
 
             Label lb3 = new Label("value");
-            final TextField tf3 = TextFieldBuilder.create().text("0").prefWidth(50).id(ADD_VALUE_TEXT_FIELD_ID).build();
+            final TextField tf3 = new TextField("0");
+            tf3.setPrefWidth(50);
+            tf3.setId(ADD_VALUE_TEXT_FIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("add point!").id(REMOVE_BUTTON_ID).build();
+            Button bt = new Button("add point!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int area = Integer.parseInt(tf1.getText());
@@ -164,12 +174,17 @@
             HBox hb = new HBox();
 
             Label lb1 = new Label("From area");
-            final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_AREA_POS_TEXT_FIELD_ID).build();
+            final TextField tf1 = new TextField("0");
+            tf1.setPrefWidth(50);
+            tf1.setId(REMOVE_AREA_POS_TEXT_FIELD_ID);
 
             Label lb2 = new Label("From index");
-            final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_INDEX_TEXT_FIELD_ID).build();
+            final TextField tf2 = new TextField("0");
+            tf2.setPrefWidth(50);
+            tf2.setId(REMOVE_INDEX_TEXT_FIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("remove point!").id(REMOVE_BUTTON_ID).build();
+            Button bt = new Button("remove point!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int area = Integer.parseInt(tf1.getText());
@@ -184,8 +199,11 @@
         public HBox getRemoveDataDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From index");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_AREA_INDEX_TEXTFIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("remove area!").id(REMOVE_AREA_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_AREA_INDEX_TEXTFIELD_ID);
+            Button bt = new Button("remove area!");
+            bt.setId(REMOVE_AREA_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -199,18 +217,27 @@
         public HBox getAddAreaHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add series named ");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID);
 
             Label minLabel = new Label(" minX ");
-            final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build();
+            final TextField minText = new TextField();
+            minText.setPrefWidth(50);
+            minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID);
 
             Label maxLabel = new Label(" maxX ");
-            final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build();
+            final TextField maxText = new TextField();
+            maxText.setPrefWidth(50);
+            maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID);
 
             Label amountLabel = new Label(" with ");
-            final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build();
+            final TextField amountText = new TextField();
+            amountText.setPrefWidth(50);
+            amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("add area!").id(ADD_SERIES_COMMAND_BUTTON_ID).build();
+            Button bt = new Button("add area!");
+            bt.setId(ADD_SERIES_COMMAND_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     String serieName = tf.getText();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBarChartApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBarChartApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBarChartApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBarChartApp.java
@@ -95,7 +95,8 @@
             testedBarChart = getNewChart();
             testedBarChart.setId(TESTED_CHART_ID);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -105,7 +106,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //throw new UnsupportedOperationException("Not supported yet.");
@@ -129,8 +131,11 @@
         public HBox getRemoveDataDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From position");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Remove!").id(REMOVE_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);
+            Button bt = new Button("Remove!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -144,8 +149,9 @@
         public HBox getRemoveCategoryDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From index");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).build();
-            Button bt = ButtonBuilder.create().text("Remove category!").build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            Button bt = new Button("Remove category!");
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -160,12 +166,14 @@
         public HBox getAddCategoryDialog() {
             HBox hb = new HBox();
             Label lb = new Label("Category");
-            final TextField tf = TextFieldBuilder.create().text("").prefWidth(50).build();
+            final TextField tf = new TextField("");
+            tf.setPrefWidth(50);
 
             Label lind = new Label("to index");
-            final TextField tfind = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tfind = new TextField("0");
+            tfind.setPrefWidth(50);
 
-            Button bt = ButtonBuilder.create().text("Add!").build();
+            Button bt = new Button("Add!");
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tfind.getText());
@@ -180,18 +188,27 @@
         public HBox getAddItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add series named ");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID);
 
             Label minLabel = new Label(" min ");
-            final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build();
+            final TextField minText = new TextField();
+            minText.setPrefWidth(50);
+            minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID);
 
             Label maxLabel = new Label(" max ");
-            final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build();
+            final TextField maxText = new TextField();
+            maxText.setPrefWidth(50);
+            maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID);
 
             Label amountLabel = new Label(" amount ");
-            final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build();
+            final TextField amountText = new TextField();
+            amountText.setPrefWidth(50);
+            amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_SERIES_COMMAND_BUTTON_ID).build();
+            Button bt = new Button("Add!");
+            bt.setId(ADD_SERIES_COMMAND_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     String serieName = tf.getText();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBubbleChartApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBubbleChartApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBubbleChartApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewBubbleChartApp.java
@@ -92,7 +92,8 @@
             testedBubbleChart = getNewChart();
             testedBubbleChart.setId(TESTED_CHART_ID);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -102,7 +103,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //throw new UnsupportedOperationException("Not supported yet.");
@@ -126,8 +128,11 @@
         public HBox getRemoveDataDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From position");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Remove serie!").id(REMOVE_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);
+            Button bt = new Button("Remove serie!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -141,12 +146,15 @@
         public HBox getRemoveDataFromSerieDialog() {
             HBox hb = new HBox();
             Label lb1 = new Label("From serie");
-            final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf1 = new TextField("0");
+            tf1.setPrefWidth(50);
 
             Label lb2 = new Label("from index");
-            final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf2 = new TextField("0");
+            tf2.setPrefWidth(50);
 
-            Button bt = ButtonBuilder.create().text("remove bubble!").id(REMOVE_BUTTON_ID).build();
+            Button bt = new Button("remove bubble!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int serie = Integer.parseInt(tf1.getText());
@@ -161,21 +169,27 @@
         public HBox getAddBubbleToSerieDialog() {
             HBox hb = new HBox();
             Label lb1 = new Label("To serie");
-            final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf1 = new TextField("0");
+            tf1.setPrefWidth(50);
 
             Label lb2 = new Label("to index");
-            final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf2 = new TextField("0");
+            tf2.setPrefWidth(50);
 
             Label lb3 = new Label("X");
-            final TextField tf3 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf3 = new TextField("0");
+            tf3.setPrefWidth(50);
 
             Label lb4 = new Label("Y");
-            final TextField tf4 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf4 = new TextField("0");
+            tf4.setPrefWidth(50);
 
             Label lb5 = new Label("R");
-            final TextField tf5 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf5 = new TextField("0");
+            tf5.setPrefWidth(50);
 
-            Button bt = ButtonBuilder.create().text("add bubble!").id(REMOVE_BUTTON_ID).build();
+            Button bt = new Button("add bubble!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int serie = Integer.parseInt(tf1.getText());
@@ -199,18 +213,27 @@
         public HBox getAddItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add series named ");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID);
 
             Label minLabel = new Label(" min X,Y ");
-            final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build();
+            final TextField minText = new TextField();
+            minText.setPrefWidth(50);
+            minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID);
 
             Label maxLabel = new Label(" max X,Y ");
-            final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build();
+            final TextField maxText = new TextField();
+            maxText.setPrefWidth(50);
+            maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID);
 
             Label amountLabel = new Label(" add ");
-            final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build();
+            final TextField amountText = new TextField();
+            amountText.setPrefWidth(50);
+            amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID);
 
-            Button bt = ButtonBuilder.create().text(" bubbles!").id(ADD_SERIES_COMMAND_BUTTON_ID).build();
+            Button bt = new Button(" bubbles!");
+            bt.setId(ADD_SERIES_COMMAND_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     String serieName = tf.getText();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewLineChartApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewLineChartApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewLineChartApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewLineChartApp.java
@@ -98,7 +98,8 @@
             testedLineChart = getNewChart();
             testedLineChart.setId(TESTED_CHART_ID);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -108,7 +109,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //throw new UnsupportedOperationException("Not supported yet.");
@@ -133,15 +135,22 @@
             HBox hb = new HBox();
 
             Label lb1 = new Label("To area");
-            final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).id(ADD_LINE_POS_TEXT_FIELD_ID).build();
+            final TextField tf1 = new TextField("0");
+            tf1.setPrefWidth(50);
+            tf1.setId(ADD_LINE_POS_TEXT_FIELD_ID);
 
             Label lb2 = new Label("to index");
-            final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).id(ADD_INDEX_TEXT_FIELD_ID).build();
+            final TextField tf2 = new TextField("0");
+            tf2.setPrefWidth(50);
+            tf2.setId(ADD_INDEX_TEXT_FIELD_ID);
 
             Label lb3 = new Label("value");
-            final TextField tf3 = TextFieldBuilder.create().text("0").prefWidth(50).id(ADD_VALUE_TEXT_FIELD_ID).build();
+            final TextField tf3 = new TextField("0");
+            tf3.setPrefWidth(50);
+            tf3.setId(ADD_VALUE_TEXT_FIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("add point!").id(REMOVE_BUTTON_ID).build();
+            Button bt = new Button("add point!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int area = Integer.parseInt(tf1.getText());
@@ -163,12 +172,17 @@
             HBox hb = new HBox();
 
             Label lb1 = new Label("From area");
-            final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_LINE_FROM_POS_TEXT_FIELD_ID).build();
+            final TextField tf1 = new TextField("0");
+            tf1.setPrefWidth(50);
+            tf1.setId(REMOVE_LINE_FROM_POS_TEXT_FIELD_ID);
 
             Label lb2 = new Label("From index");
-            final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_INDEX_TEXT_FIELD_ID).build();
+            final TextField tf2 = new TextField("0");
+            tf2.setPrefWidth(50);
+            tf2.setId(REMOVE_INDEX_TEXT_FIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("remove point!").id(REMOVE_BUTTON_ID).build();
+            Button bt = new Button("remove point!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int area = Integer.parseInt(tf1.getText());
@@ -183,8 +197,11 @@
         public HBox getRemoveDataDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From index");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("remove line!").id(REMOVE_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);
+            Button bt = new Button("remove line!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -198,18 +215,27 @@
         public HBox getAddLineHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add series named ");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID);
 
             Label minLabel = new Label(" minX ");
-            final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build();
+            final TextField minText = new TextField();
+            minText.setPrefWidth(50);
+            minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID);
 
             Label maxLabel = new Label(" maxX ");
-            final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build();
+            final TextField maxText = new TextField();
+            maxText.setPrefWidth(50);
+            maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID);
 
             Label amountLabel = new Label(" with ");
-            final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build();
+            final TextField amountText = new TextField();
+            amountText.setPrefWidth(50);
+            amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID);
 
-            Button bt = ButtonBuilder.create().text(" points add!").id(ADD_SERIES_COMMAND_BUTTON_ID).build();
+            Button bt = new Button(" points add!");
+            bt.setId(ADD_SERIES_COMMAND_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     String serieName = tf.getText();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewNumberScatterChartApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewNumberScatterChartApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewNumberScatterChartApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewNumberScatterChartApp.java
@@ -93,7 +93,8 @@
             testedScatterChart = getNewChart();
             testedScatterChart.setId(TESTED_CHART_ID);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -103,7 +104,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //throw new UnsupportedOperationException("Not supported yet.");
@@ -127,8 +129,11 @@
         public HBox getRemoveDataDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From position");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Remove!").id(REMOVE_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);
+            Button bt = new Button("Remove!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -142,12 +147,15 @@
         public HBox getRemoveDataFromSerieDialog() {
             HBox hb = new HBox();
             Label lb1 = new Label("From serie");
-            final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf1 = new TextField("0");
+            tf1.setPrefWidth(50);
 
             Label lb2 = new Label("from index");
-            final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf2 = new TextField("0");
+            tf2.setPrefWidth(50);
 
-            Button bt = ButtonBuilder.create().text("remove point!").id(REMOVE_BUTTON_ID).build();
+            Button bt = new Button("remove point!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int serie = Integer.parseInt(tf1.getText());
@@ -162,18 +170,23 @@
         public HBox getAddPointToSerieDialog() {
             HBox hb = new HBox();
             Label lb1 = new Label("To serie");
-            final TextField tf1 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf1 = new TextField("0");
+            tf1.setPrefWidth(50);
 
             Label lb2 = new Label("to index");
-            final TextField tf2 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf2 = new TextField("0");
+            tf2.setPrefWidth(50);
 
             Label lb3 = new Label("X");
-            final TextField tf3 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf3 = new TextField("0");
+            tf3.setPrefWidth(50);
 
             Label lb4 = new Label("Y");
-            final TextField tf4 = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tf4 = new TextField("0");
+            tf4.setPrefWidth(50);
 
-            Button bt = ButtonBuilder.create().text("add point!").id(REMOVE_BUTTON_ID).build();
+            Button bt = new Button("add point!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int serie = Integer.parseInt(tf1.getText());
@@ -195,18 +208,27 @@
         public HBox getAddItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add series named ");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID);
 
             Label minLabel = new Label(" min ");
-            final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build();
+            final TextField minText = new TextField();
+            minText.setPrefWidth(50);
+            minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID);
 
             Label maxLabel = new Label(" max ");
-            final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build();
+            final TextField maxText = new TextField();
+            maxText.setPrefWidth(50);
+            maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID);
 
             Label amountLabel = new Label(" amount ");
-            final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build();
+            final TextField amountText = new TextField();
+            amountText.setPrefWidth(50);
+            amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_SERIES_COMMAND_BUTTON_ID).build();
+            Button bt = new Button("Add!");
+            bt.setId(ADD_SERIES_COMMAND_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     String serieName = tf.getText();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewPieChartApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewPieChartApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewPieChartApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewPieChartApp.java
@@ -104,7 +104,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -114,7 +115,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     throw new UnsupportedOperationException("Not supported yet.");
@@ -150,8 +152,11 @@
         public HBox getRemoveDataDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From position");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Remove!").id(REMOVE_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);
+            Button bt = new Button("Remove!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -165,12 +170,19 @@
         public HBox getAddItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add item");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADD_ITEM_VALUE_TEXT_FIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADD_ITEM_VALUE_TEXT_FIELD_ID);
             Label namedLabel = new Label(" named ");
-            final TextField name = TextFieldBuilder.create().prefWidth(50).id(ADD_ITEM_TEXT_FIELD_ID).build();
+            final TextField name = new TextField();
+            name.setPrefWidth(50);
+            name.setId(ADD_ITEM_TEXT_FIELD_ID);
             Label atLb = new Label("at pos");
-            final TextField tfPos = TextFieldBuilder.create().prefWidth(50).id(ADD_ITEM_POSITION_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_ITEM_BUTTON_ID).build();
+            final TextField tfPos = new TextField();
+            tfPos.setPrefWidth(50);
+            tfPos.setId(ADD_ITEM_POSITION_TEXT_FIELD_ID);
+            Button bt = new Button("Add!");
+            bt.setId(ADD_ITEM_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tfPos.getText());
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewStackedAreaChartApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewStackedAreaChartApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewStackedAreaChartApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewStackedAreaChartApp.java
@@ -87,7 +87,8 @@
             testedStackedAreaChart = getNewChart();
             testedStackedAreaChart.setId(TESTED_CHART_ID);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -97,7 +98,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //throw new UnsupportedOperationException("Not supported yet.");
@@ -121,8 +123,11 @@
         public HBox getRemoveDataDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From position");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_AREA_INDEX_TEXTFIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Remove!").id(REMOVE_AREA_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_AREA_INDEX_TEXTFIELD_ID);
+            Button bt = new Button("Remove!");
+            bt.setId(REMOVE_AREA_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -136,18 +141,27 @@
         public HBox getAddItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add series named ");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID);
 
             Label minLabel = new Label(" min ");
-            final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build();
+            final TextField minText = new TextField();
+            minText.setPrefWidth(50);
+            minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID);
 
             Label maxLabel = new Label(" max ");
-            final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build();
+            final TextField maxText = new TextField();
+            maxText.setPrefWidth(50);
+            maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID);
 
             Label amountLabel = new Label(" amount ");
-            final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build();
+            final TextField amountText = new TextField();
+            amountText.setPrefWidth(50);
+            amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_SERIES_COMMAND_BUTTON_ID).build();
+            Button bt = new Button("Add!");
+            bt.setId(ADD_SERIES_COMMAND_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     String serieName = tf.getText();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewStackedBarChartApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewStackedBarChartApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewStackedBarChartApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/apps/NewStackedBarChartApp.java
@@ -95,7 +95,8 @@
             testedStackedBarChart = getNewChart();
             testedStackedBarChart.setId(TESTED_CHART_ID);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -105,7 +106,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //throw new UnsupportedOperationException("Not supported yet.");
@@ -129,8 +131,11 @@
         public HBox getRemoveDataDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From position");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Remove!").id(REMOVE_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);
+            Button bt = new Button("Remove!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -144,8 +149,9 @@
         public HBox getRemoveCategoryDialog() {
             HBox hb = new HBox();
             Label lb = new Label("From index");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).build();
-            Button bt = ButtonBuilder.create().text("Remove category!").build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            Button bt = new Button("Remove category!");
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -160,12 +166,14 @@
         public HBox getAddCategoryDialog() {
             HBox hb = new HBox();
             Label lb = new Label("Category");
-            final TextField tf = TextFieldBuilder.create().text("").prefWidth(50).build();
+            final TextField tf = new TextField("");
+            tf.setPrefWidth(50);
 
             Label lind = new Label("to index");
-            final TextField tfind = TextFieldBuilder.create().text("0").prefWidth(50).build();
+            final TextField tfind = new TextField("0");
+            tfind.setPrefWidth(50);
 
-            Button bt = ButtonBuilder.create().text("Add!").build();
+            Button bt = new Button("Add!");
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tfind.getText());
@@ -180,18 +188,27 @@
         public HBox getAddItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add series named ");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_NAME_TEXTFIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADDED_SERIES_NAME_TEXTFIELD_ID);
 
             Label minLabel = new Label(" min ");
-            final TextField minText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID).build();
+            final TextField minText = new TextField();
+            minText.setPrefWidth(50);
+            minText.setId(ADDED_SERIES_MIN_VALUE_TEXTFIELD_ID);
 
             Label maxLabel = new Label(" max ");
-            final TextField maxText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID).build();
+            final TextField maxText = new TextField();
+            maxText.setPrefWidth(50);
+            maxText.setId(ADDED_SERIES_MAX_VALUE_TEXTFIELD_ID);
 
             Label amountLabel = new Label(" amount ");
-            final TextField amountText = TextFieldBuilder.create().prefWidth(50).id(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID).build();
+            final TextField amountText = new TextField();
+            amountText.setPrefWidth(50);
+            amountText.setId(ADDED_SERIES_DOTS_COUNT_TEXTFIELD_ID);
 
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_SERIES_COMMAND_BUTTON_ID).build();
+            Button bt = new Button("Add!");
+            bt.setId(ADD_SERIES_COMMAND_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     String serieName = tf.getText();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chart/manual/PieChartManualApp.java b/functional/ControlsTests/src/javafx/scene/control/test/chart/manual/PieChartManualApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chart/manual/PieChartManualApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chart/manual/PieChartManualApp.java
@@ -33,7 +33,6 @@
 import javafx.scene.chart.PieChart;
 import javafx.scene.Scene;
 import javafx.scene.control.*;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.test.utils.CommonPropertiesScene;
 import javafx.geometry.Side;
 import javafx.scene.layout.HBox;
@@ -104,7 +103,7 @@
                 }
             });
 
-            Button hardResetButton = ButtonBuilder.create().text("Reset").build();
+            Button hardResetButton = new Button("Reset");
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/choicebox/NewChoiceBoxApp.java b/functional/ControlsTests/src/javafx/scene/control/test/choicebox/NewChoiceBoxApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/choicebox/NewChoiceBoxApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/choicebox/NewChoiceBoxApp.java
@@ -85,7 +85,8 @@
             pane.setStyle("-fx-border-color : red;");
             pane.getChildren().add(testedChoiceBox);
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/chooser/FXChooser.java b/functional/ControlsTests/src/javafx/scene/control/test/chooser/FXChooser.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/chooser/FXChooser.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/chooser/FXChooser.java
@@ -33,7 +33,6 @@
 import javafx.scene.control.Button;
 import javafx.scene.control.Label;
 import javafx.scene.control.TextField;
-import javafx.scene.control.TextFieldBuilder;
 import javafx.scene.control.Tooltip;
 import javafx.scene.layout.GridPane;
 import javafx.scene.text.Text;
@@ -59,8 +58,10 @@
     public void start(final Stage stage) throws Exception {
         try {
             extensionFilter = new FileChooser.ExtensionFilter("File with extension (*.extension)", "*.extension");
-            initialFileNameTextField = TextFieldBuilder.create().text("").promptText("Initial file name").build();
-            titleTextField = TextFieldBuilder.create().text("").promptText("Title").build();
+            initialFileNameTextField = new TextField("");
+            initialFileNameTextField.setPromptText("Initial file name");
+            titleTextField = new TextField("");
+            titleTextField.setPromptText("Title");
             errorText = new Label("No errors");
 
             //                  OPEN FOLDER
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/colorpicker/ColorPickerApp.java b/functional/ControlsTests/src/javafx/scene/control/test/colorpicker/ColorPickerApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/colorpicker/ColorPickerApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/colorpicker/ColorPickerApp.java
@@ -134,7 +134,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -144,7 +145,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     tb.refresh();
@@ -168,8 +170,11 @@
         private HBox setColorHbox() {
             HBox hb = new HBox();
             Label lb = new Label("Set color");
-            final TextField colorTf = TextFieldBuilder.create().prefWidth(100).id(SET_COLOR_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Set!").id(SET_COLOR_BUTTON_ID).build();
+            final TextField colorTf = new TextField();
+            colorTf.setPrefWidth(100);
+            colorTf.setId(SET_COLOR_TEXT_FIELD_ID);
+            Button bt = new Button("Set!");
+            bt.setId(SET_COLOR_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     testedColorPicker.setValue(Color.web(colorTf.getText()));
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/combobox/ComboBoxApp.java b/functional/ControlsTests/src/javafx/scene/control/test/combobox/ComboBoxApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/combobox/ComboBoxApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/combobox/ComboBoxApp.java
@@ -167,21 +167,24 @@
 //                }
 //            });
 
-            Button applyCustomSelectionModel = ButtonBuilder.create().text("Apply custom selection model").id(APPLY_CUSTOM_SELECTION_MODEL_BUTTON_ID).build();
+            Button applyCustomSelectionModel = new Button("Apply custom selection model");
+            applyCustomSelectionModel.setId(APPLY_CUSTOM_SELECTION_MODEL_BUTTON_ID);
             applyCustomSelectionModel.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedComboBox.selectionModelProperty().setValue(selectionModel);
                 }
             });
 
-            Button applyCustomStringConverter = ButtonBuilder.create().text("Apply custom string converter").id(APPLY_CUSTOM_STRING_CONVERTER_BUTTON_ID).build();
+            Button applyCustomStringConverter = new Button("Apply custom string converter");
+            applyCustomStringConverter.setId(APPLY_CUSTOM_STRING_CONVERTER_BUTTON_ID);
             applyCustomStringConverter.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedComboBox.setConverter(new CustomStringConverter());
                 }
             });
 
-            Button applyCustomCellFactory = ButtonBuilder.create().text("Apply custom cell factory").id(APPLY_CUSTOM_CELL_FACTORY_BUTTON_ID).build();
+            Button applyCustomCellFactory = new Button("Apply custom cell factory");
+            applyCustomCellFactory.setId(APPLY_CUSTOM_CELL_FACTORY_BUTTON_ID);
             applyCustomCellFactory.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
@@ -193,7 +196,8 @@
                 }
             });
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -203,7 +207,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     tb.refresh();
@@ -228,11 +233,8 @@
             HBox resetButtonsHBox = new HBox();
             resetButtonsHBox.getChildren().addAll(hardResetButton, softResetButton);
 
-            Button setAddingElementsOnShowing = ButtonBuilder.create()
-                    .id(SET_ADDING_ELEMENTS_ON_SHOWING)
-                    .text("Set adding elements on showing")
-                    .build();
-
+            Button setAddingElementsOnShowing = new Button("Set adding elements on showing");
+            setAddingElementsOnShowing.setId(SET_ADDING_ELEMENTS_ON_SHOWING);
             setAddingElementsOnShowing.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedComboBox.setOnShowing(new EventHandler<Event>() {
@@ -246,11 +248,8 @@
                 }
             });
 
-            Button restoreDefaultOnShowingHandler = ButtonBuilder.create()
-                    .id(RESTORE_ON_SHOWING_EVENT_HANDLER)
-                    .text("Restore default onShowing handler")
-                    .build();
-
+            Button restoreDefaultOnShowingHandler = new Button("Restore default onShowing handler");
+            restoreDefaultOnShowingHandler.setId(RESTORE_ON_SHOWING_EVENT_HANDLER);
             restoreDefaultOnShowingHandler.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedComboBox.setOnShowing(new EventHandler<Event>() {
@@ -261,11 +260,8 @@
                 }
             });
 
-            Button populateComboBoxWithFontSizes = ButtonBuilder.create()
-                    .id(POPULATE_COMBOBOX_WITH_FONT_SIZES)
-                    .text("Populate ComboBox with font sizes")
-                    .build();
-
+            Button populateComboBoxWithFontSizes = new Button("Populate ComboBox with font sizes");
+            populateComboBoxWithFontSizes.setId(POPULATE_COMBOBOX_WITH_FONT_SIZES);
             populateComboBoxWithFontSizes.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
 
@@ -317,10 +313,15 @@
         private HBox getAddItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("Add item");
-            final TextField tf = TextFieldBuilder.create().prefWidth(50).id(ADD_ITEM_TEXT_FIELD_ID).build();
+            final TextField tf = new TextField();
+            tf.setPrefWidth(50);
+            tf.setId(ADD_ITEM_TEXT_FIELD_ID);
             Label atLb = new Label("at pos");
-            final TextField tfPos = TextFieldBuilder.create().prefWidth(50).id(ADD_ITEM_POSITION_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_ITEM_BUTTON_ID).build();
+            final TextField tfPos = new TextField();
+            tfPos.setPrefWidth(50);
+            tfPos.setId(ADD_ITEM_POSITION_TEXT_FIELD_ID);
+            Button bt = new Button("Add!");
+            bt.setId(ADD_ITEM_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tfPos.getText());
@@ -334,8 +335,11 @@
         private HBox getRemoveItemHBox() {
             HBox hb = new HBox();
             Label lb = new Label("From position");
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(REMOVE_ITEM_POS_TEXT_FIELD_ID).build();
-            Button bt = ButtonBuilder.create().text("Remove!").id(REMOVE_BUTTON_ID).build();
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(REMOVE_ITEM_POS_TEXT_FIELD_ID);
+            Button bt = new Button("Remove!");
+            bt.setId(REMOVE_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     int index = Integer.parseInt(tf.getText());
@@ -349,7 +353,8 @@
         private HBox getSetItemsNullHBox() {
             HBox hb = new HBox();
 
-            Button bt = ButtonBuilder.create().text("Set items null").id(SET_ITEMS_NULL_BUTTON_ID).build();
+            Button bt = new Button("Set items null");
+            bt.setId(SET_ITEMS_NULL_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
                 public void handle(Event t) {
                     ((ComboBox) testedComboBox).setItems(null);
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/datepicker/DatePickerApp.java b/functional/ControlsTests/src/javafx/scene/control/test/datepicker/DatePickerApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/datepicker/DatePickerApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/datepicker/DatePickerApp.java
@@ -37,7 +37,6 @@
 import javafx.geometry.Pos;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.DateCell;
 import javafx.scene.control.DatePicker;
 import javafx.scene.control.test.utils.CommonPropertiesScene;
@@ -126,7 +125,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -136,7 +136,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     propertiesTable.refresh();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/fxcanvas/FXCanvasBrowserApp.java b/functional/ControlsTests/src/javafx/scene/control/test/fxcanvas/FXCanvasBrowserApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/fxcanvas/FXCanvasBrowserApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/fxcanvas/FXCanvasBrowserApp.java
@@ -132,8 +132,6 @@
     }
 
     public static void main(String[] args) {
-        System.setProperty("proxyHost", "www-proxy.ru.oracle.com");
-        System.setProperty("proxyPort", "80");
         try {
             startAndWaitShell();
         } catch (InterruptedException ex) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/labeleds/newapps/LabeledsApp.java b/functional/ControlsTests/src/javafx/scene/control/test/labeleds/newapps/LabeledsApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/labeleds/newapps/LabeledsApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/labeleds/newapps/LabeledsApp.java
@@ -29,7 +29,6 @@
 import javafx.geometry.Insets;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.Label;
 import javafx.scene.control.Labeled;
 import javafx.scene.control.test.utils.CommonPropertiesScene;
@@ -87,7 +86,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/labeleds/newapps/TextNodeApp.java b/functional/ControlsTests/src/javafx/scene/control/test/labeleds/newapps/TextNodeApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/labeleds/newapps/TextNodeApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/labeleds/newapps/TextNodeApp.java
@@ -36,7 +36,6 @@
 import javafx.geometry.Orientation;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.CheckBox;
 import javafx.scene.control.Label;
 import javafx.scene.control.Separator;
@@ -103,7 +102,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/menubar/NewMenuApp.java b/functional/ControlsTests/src/javafx/scene/control/test/menubar/NewMenuApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/menubar/NewMenuApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/menubar/NewMenuApp.java
@@ -79,7 +79,8 @@
 
         private void prepareScene() {
             pane = new Pane();
-            testedMenuBar = MenuBarBuilder.create().id(TESTED_MENUBAR_ID).build();
+            testedMenuBar = new MenuBar();
+            testedMenuBar.setId(TESTED_MENUBAR_ID);
 
             PropertiesTable tb = new PropertiesTable(testedMenuBar);
             PropertyTablesFactory.explorePropertiesList(testedMenuBar, tb);
@@ -97,7 +98,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
 
                 public void handle(ActionEvent t) {
@@ -136,10 +138,15 @@
         private HBox getAddTextFieldHbox() {
             HBox hb = new HBox();
             Label lb = new Label("Add Menu at pos");
-            final TextField tf = TextFieldBuilder.create().id(MENUBAR_ADD_INDEX_TEXT_FIELD_ID).text("0").prefWidth(40).build();
-            final TextField nameTF = TextFieldBuilder.create().id(MENUBAR_ADD_NAME_TEXT_FIELD_ID).text("Menu").prefWidth(40).build();
+            final TextField tf = new TextField("0");
+            tf.setId(MENUBAR_ADD_INDEX_TEXT_FIELD_ID);
+            tf.setPrefWidth(40);
+            final TextField nameTF = new TextField("Menu");
+            nameTF.setId(MENUBAR_ADD_NAME_TEXT_FIELD_ID);
+            nameTF.setPrefWidth(40);
 
-            Button bt = ButtonBuilder.create().text("Add!").id(ADD_MENU_BUTTON_ID).build();
+            Button bt = new Button("Add!");
+            bt.setId(ADD_MENU_BUTTON_ID);
             bt.setOnAction(new EventHandler() {
 
                 public void handle(Event t) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/pagination/PaginationApp.java b/functional/ControlsTests/src/javafx/scene/control/test/pagination/PaginationApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/pagination/PaginationApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/pagination/PaginationApp.java
@@ -29,7 +29,6 @@
 import javafx.scene.Node;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.Label;
 import javafx.scene.control.Pagination;
 import javafx.scene.control.test.utils.*;
@@ -110,7 +109,8 @@
             tb.addDoublePropertyLine(testedPagination.minHeightProperty(), -100, 300, 50, testedPagination);
             tb.addDoublePropertyLine(testedPagination.minWidthProperty(), -100, 300, 50, testedPagination);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -120,7 +120,8 @@
                 }
             });
 
-            Button setBulletPageIndicatorButton = ButtonBuilder.create().id(SET_BULLET_PAGE_INDICATOR_BUTTON_ID).text("Set bullet").build();
+            Button setBulletPageIndicatorButton = new Button("Set bullet");
+            setBulletPageIndicatorButton.setId(SET_BULLET_PAGE_INDICATOR_BUTTON_ID);
             setBulletPageIndicatorButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //testedPagination.setStyle(Pagination.STYLE_CLASS_BULLET);
@@ -128,14 +129,16 @@
                 }
             });
 
-            Button setPageCountToIndeterminateButton = ButtonBuilder.create().id(SET_PAGE_COUNT_TO_INDETERMINATE_BUTTON_ID).text("Set indeterminate\n page count").build();
+            Button setPageCountToIndeterminateButton = new Button("Set indeterminate\n page count");
+            setPageCountToIndeterminateButton.setId(SET_PAGE_COUNT_TO_INDETERMINATE_BUTTON_ID);
             setPageCountToIndeterminateButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedPagination.setPageCount(Pagination.INDETERMINATE);
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 @Override
                 public void handle(ActionEvent t) {
@@ -148,7 +151,8 @@
                 }
             });
 
-            Button setNewPageFactory = ButtonBuilder.create().id(SET_NEW_PAGE_FACTORY_BUTTON_ID).text("Set new page factory").build();
+            Button setNewPageFactory = new Button("Set new page factory");
+            setNewPageFactory.setId(SET_NEW_PAGE_FACTORY_BUTTON_ID);
             setNewPageFactory.setOnAction(new EventHandler<ActionEvent>() {
                 @Override
                 public void handle(ActionEvent t) {
@@ -170,7 +174,8 @@
                 }
             });
 
-            Button setOldPageFactory = ButtonBuilder.create().id(SET_OLD_PAGE_FACTORY_BUTTON_ID).text("Set old page factory").build();
+            Button setOldPageFactory = new Button("Set old page factory");
+            setOldPageFactory.setId(SET_OLD_PAGE_FACTORY_BUTTON_ID);
             setOldPageFactory.setOnAction(new EventHandler<ActionEvent>() {
                 @Override
                 public void handle(ActionEvent t) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/scrollbar/ScrollBarApp.java b/functional/ControlsTests/src/javafx/scene/control/test/scrollbar/ScrollBarApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/scrollbar/ScrollBarApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/scrollbar/ScrollBarApp.java
@@ -66,13 +66,16 @@
 
         @Override
         final protected void prepareScene() {
-            testedScrollBar = ScrollBarBuilder.create().id(TESTED_SCROLLBAR_ID).build();
+            testedScrollBar = new ScrollBar();
+            testedScrollBar.setFocusTraversable(true);
+            testedScrollBar.setId(TESTED_SCROLLBAR_ID);
 
             tb = new PropertiesTable(testedScrollBar);
             PropertyTablesFactory.explorePropertiesList(testedScrollBar, tb);
             SpecialTablePropertiesProvider.provideForControl(testedScrollBar, tb);
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/separator/SeparatorApp.java b/functional/ControlsTests/src/javafx/scene/control/test/separator/SeparatorApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/separator/SeparatorApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/separator/SeparatorApp.java
@@ -73,7 +73,8 @@
         @Override
         final protected void prepareScene() {
             pane = new Pane();
-            testedSeparator = SeparatorBuilder.create().id(TESTED_SEPARATOR_ID).build();
+            testedSeparator = new Separator();
+            testedSeparator.setId(TESTED_SEPARATOR_ID);
 
             tb = new PropertiesTable(testedSeparator);
             PropertyTablesFactory.explorePropertiesList(testedSeparator, tb);
@@ -90,7 +91,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/slider/SliderNewApp.java b/functional/ControlsTests/src/javafx/scene/control/test/slider/SliderNewApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/slider/SliderNewApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/slider/SliderNewApp.java
@@ -28,9 +28,7 @@
 import javafx.event.EventHandler;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.Slider;
-import javafx.scene.control.SliderBuilder;
 import javafx.scene.control.test.utils.CommonPropertiesScene;
 import javafx.scene.control.test.utils.ptables.PropertiesTable;
 import javafx.scene.control.test.utils.ptables.PropertyTablesFactory;
@@ -76,13 +74,15 @@
 
         @Override
         final protected void prepareScene() {
-            testedSlider = SliderBuilder.create().id(TESTED_SLIDER_ID).build();
+            testedSlider = new Slider();
+            testedSlider.setId(TESTED_SLIDER_ID);
 
             tb = new PropertiesTable(testedSlider);
             PropertyTablesFactory.explorePropertiesList(testedSlider, tb);
             SpecialTablePropertiesProvider.provideForControl(testedSlider, tb);
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -92,7 +92,8 @@
                 }
             });
 
-            Button setCustomConverter = ButtonBuilder.create().id(APPLY_CUSTOM_LABEL_FORMATTER).text("ApplyCsustomConverter").build();
+            Button setCustomConverter = new Button("ApplyCsustomConverter");
+            setCustomConverter.setId(APPLY_CUSTOM_LABEL_FORMATTER);
             setCustomConverter.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedSlider.setLabelFormatter(new CustomConverter());
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/splitpane/SplitPaneApp.java b/functional/ControlsTests/src/javafx/scene/control/test/splitpane/SplitPaneApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/splitpane/SplitPaneApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/splitpane/SplitPaneApp.java
@@ -76,14 +76,17 @@
 
         private void prepareScene() {
             pane = new Pane();
-            testedSplitPane = SplitPaneBuilder.create().id(TESTED_SPLIPANE_ID).build();
+            testedSplitPane = new SplitPane();
+            testedSplitPane.setId(TESTED_SPLIPANE_ID);
 
             PropertiesTable tb = new PropertiesTable(testedSplitPane);
             PropertyTablesFactory.explorePropertiesList(testedSplitPane, tb);
 
             final TabPaneWithControl tabPane = new TabPaneWithControl("Accordion", tb);
 
-            final TextField tf = TextFieldBuilder.create().id(SPLITPANE_ADD_INDEX_TEXT_FIELD_ID).text("0").prefWidth(40).build();
+            final TextField tf = new TextField("0");
+            tf.setId(SPLITPANE_ADD_INDEX_TEXT_FIELD_ID);
+            tf.setPrefWidth(40);
 
             HBox nodeshb = new NodesChoserFactory("Add!", new NodesChoserFactory.NodeAction<Node>() {
 
@@ -106,7 +109,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
 
                 public void handle(ActionEvent t) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/tableview/NewTableViewApp.java b/functional/ControlsTests/src/javafx/scene/control/test/tableview/NewTableViewApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/tableview/NewTableViewApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/tableview/NewTableViewApp.java
@@ -24,10 +24,10 @@
  */
 package javafx.scene.control.test.tableview;
 
-import com.sun.javafx.scene.control.skin.NestedTableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableHeaderRow;
-import com.sun.javafx.scene.control.skin.TableViewSkin;
+import javafx.scene.control.skin.NestedTableColumnHeader;
+import javafx.scene.control.skin.TableColumnHeader;
+import javafx.scene.control.skin.TableHeaderRow;
+import javafx.scene.control.skin.TableViewSkin;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
@@ -66,6 +66,8 @@
 import static javafx.commons.Consts.*;
 import static javafx.commons.Consts.Cell.*;
 import javafx.scene.Node;
+import static javafx.scene.control.test.treetable.ResetButtonNames.HARD_RESET_BUTTON_ID;
+import static javafx.scene.control.test.treetable.ResetButtonNames.SOFT_RESET_BUTTON_ID;
 import javafx.scene.control.test.utils.ComponentsFactory.MultipleIndexFormComponent.MultipleIndicesAction;
 import static org.junit.Assert.assertTrue;
 
@@ -129,7 +131,8 @@
             tabPane = new TabPaneWithControl("TableView", tb);
             tabPane.setMinSize(1000, 1000);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -139,7 +142,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     TableView newOne = new TableView();
@@ -327,7 +331,7 @@
                         public String toString() {
                             return "CUSTOM " + super.toString();
                         }
-
+/*
                         @Override
                         protected TableHeaderRow createTableHeaderRow() {
                             return new TableHeaderRow(this) {
@@ -350,6 +354,7 @@
                                 }
                             };
                         }
+                        */
                     });
                 }
             });
@@ -456,10 +461,8 @@
 
             hb.getChildren().addAll(cmbEditors, chbCustom, btnSetEditor);
 
-            Button btn = ButtonBuilder.create()
-                    .text("Set onEdit event hadlers")
-                    .id(BTN_SET_ON_EDIT_EVENT_HANDLERS)
-                    .build();
+            Button btn = new Button("Set onEdit event hadlers");
+            btn.setId(BTN_SET_ON_EDIT_EVENT_HANDLERS);
 
             btn.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
@@ -896,4 +899,5 @@
         }
         return testData;
     }
-}
\ No newline at end of file
+}
+
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/tabpane/NewTabPaneApp.java b/functional/ControlsTests/src/javafx/scene/control/test/tabpane/NewTabPaneApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/tabpane/NewTabPaneApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/tabpane/NewTabPaneApp.java
@@ -91,13 +91,15 @@
             pane.setPrefSize(220, 220);
             pane.setStyle("-fx-border-color : red;");
 
-            testedTabPane = TabPaneBuilder.create().id(TESTED_TABPANE_ID).build();
+            testedTabPane = new TabPane();
+            testedTabPane.setId(TESTED_TABPANE_ID);
             pane.getChildren().add(testedTabPane);
 
             tb = new PropertiesTable(testedTabPane);
             PropertyTablesFactory.explorePropertiesList(testedTabPane, tb);
 
-            Button btnResetHardly = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button btnResetHardly = new Button("Reset");
+            btnResetHardly.setId(RESET_BUTTON_ID);
             btnResetHardly.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -107,7 +109,8 @@
                 }
             });
 
-            Button btnResetSoftly = ButtonBuilder.create().id(RESET_SOFTLY_BUTTON_ID).text("Reset softly").build();
+            Button btnResetSoftly = new Button("Reset softly");
+            btnResetSoftly.setId(RESET_SOFTLY_BUTTON_ID);
             btnResetSoftly.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
 
@@ -176,20 +179,16 @@
             grid.getColumnConstraints().addAll(column1, column2);
             //row #1
             grid.add(new Label("Tab ID"), 0, 0);
-            final TextField newTabId = TextFieldBuilder.create()
-                    .id(NEW_TAB_ID_TEXT_FIELD_ID)
-                    .text("ID")
-                    .prefWidth(40d)
-                    .build();
+            final TextField newTabId = new TextField("ID");
+            newTabId.setPrefWidth(40d);
+            newTabId.setId(NEW_TAB_ID_TEXT_FIELD_ID);
             grid.add(newTabId, 1, 0);
 
             //row #2
             grid.add(new Label("Index"), 0, 1);
-            final TextField newTabIndex = TextFieldBuilder.create()
-                    .id(TABPANE_ADD_INDEX_TEXT_FIELD_ID)
-                    .text("0")
-                    .prefWidth(40)
-                    .build();
+            final TextField newTabIndex = new TextField("0");
+            newTabIndex.setId(TABPANE_ADD_INDEX_TEXT_FIELD_ID);
+            newTabIndex.setPrefWidth(40);
             grid.add(newTabIndex, 1, 1);
 
             //row #3
@@ -206,10 +205,7 @@
              * If true then there will be created a properties pane
              * for tab content each time a tab is added
              */
-            final CheckBox createPropsTab = CheckBoxBuilder
-                    .create()
-                    .text("Create additional panes\n with content properties")
-                    .build();
+            final CheckBox createPropsTab = new CheckBox("Create additional panes\n with content properties");
             grid.add(createPropsTab, 0, 3, 2, 1);
 
             //row #5
@@ -217,11 +213,8 @@
              * If true then there will be created a properties pane
              * for tab content each time a tab is added
              */
-            final CheckBox vetoOnClose = CheckBoxBuilder
-                    .create()
-                    .text("Veto tab request on close.")
-                    .id(VETO_CHECKBOX_ID)
-                    .build();
+            final CheckBox vetoOnClose = new CheckBox("Veto tab request on close.");
+            vetoOnClose.setId(VETO_CHECKBOX_ID);
             grid.add(vetoOnClose, 0, 4, 2, 1);
 
             //row #6
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/tabpane/TabPaneApp2.java b/functional/ControlsTests/src/javafx/scene/control/test/tabpane/TabPaneApp2.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/tabpane/TabPaneApp2.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/tabpane/TabPaneApp2.java
@@ -32,7 +32,7 @@
 import javafx.event.EventHandler;
 import javafx.geometry.Side;
 import javafx.scene.Scene;
-import javafx.scene.control.ButtonBuilder;
+import javafx.scene.control.Button;
 import javafx.scene.control.ChoiceBox;
 import javafx.scene.control.ContextMenu;
 import javafx.scene.control.Label;
@@ -113,34 +113,34 @@
             error = new Label();
             error.setId(ERROR_ID);
 
-            controls.getChildren().add(
-                    ButtonBuilder.create()
-                    .text(CLEAR_BTN_ID).id(CLEAR_BTN_ID)
-                    .onAction(new EventHandler<ActionEvent>() {
+            Button temp;
+
+            temp = new Button(CLEAR_BTN_ID);
+            temp.setId(CLEAR_BTN_ID);
+            temp.setOnAction(new EventHandler<ActionEvent>() {
                         public void handle(ActionEvent t) {
                             tabPane.getTabs().clear();
                         }
-                    }).build());
+            });
+            controls.getChildren().add(temp);
 
-            controls.getChildren().add(
-                    ButtonBuilder.create()
-                    .text(RESET_BTN_ID).id(RESET_BTN_ID)
-                    .onAction(new EventHandler<ActionEvent>() {
-
+            temp = new Button(RESET_BTN_ID);
+            temp.setId(RESET_BTN_ID);
+            temp.setOnAction(new EventHandler<ActionEvent>() {
                         public void handle(ActionEvent t) {
                             reset();
                         }
-                    }).build());
+            });
+            controls.getChildren().add(temp);
 
-            controls.getChildren().add(
-                    ButtonBuilder.create()
-                    .text(ADD_SINGLE_BTN_ID).id(ADD_SINGLE_BTN_ID)
-                    .onAction(new EventHandler<ActionEvent>() {
-
+            temp = new Button(ADD_SINGLE_BTN_ID);
+            temp.setId(ADD_SINGLE_BTN_ID);
+            temp.setOnAction(new EventHandler<ActionEvent>() {
                         public void handle(ActionEvent t) {
                             tabPane.getTabs().add(new NamedTab(TAB_ITEM + tabPane.getTabs().size()));
                         }
-                    }).build());
+            });
+            controls.getChildren().add(temp);
 
             HBox add_position_box = new HBox(5);
             controls.getChildren().add(add_position_box);
@@ -148,15 +148,14 @@
             final TextField add_position = new TextField("0");
             add_position.setId(ADD_POS_EDIT_ID);
 
-            add_position_box.getChildren().add(
-                    ButtonBuilder.create()
-                    .text(ADD_SINGLE_AT_POS_BTN_ID).id(ADD_SINGLE_AT_POS_BTN_ID)
-                    .onAction(new EventHandler<ActionEvent>() {
-
+            temp = new Button(ADD_SINGLE_AT_POS_BTN_ID);
+            temp.setId(ADD_SINGLE_AT_POS_BTN_ID);
+            temp.setOnAction(new EventHandler<ActionEvent>() {
                         public void handle(ActionEvent t) {
                             tabPane.getTabs().add(new NamedTab("Tab " + tabPane.getTabs().size()));
                         }
-                    }).build());
+            });
+            add_position_box.getChildren().add(temp);
 
             final Label add_label = new Label("at");
             add_position_box.getChildren().add(add_label);
@@ -170,17 +169,16 @@
             final TextField disable_position = new TextField("0");
             disable_position.setId(DISABLE_POS_EDIT_ID);
 
-            disable_position_box.getChildren().add(
-                    ButtonBuilder.create()
-                    .text(DISABLE_SINGLE_AT_POS_BTN_ID).id(DISABLE_SINGLE_AT_POS_BTN_ID)
-                    .onAction(new EventHandler<ActionEvent>() {
-
+            temp = new Button(DISABLE_SINGLE_AT_POS_BTN_ID);
+            temp.setId(DISABLE_SINGLE_AT_POS_BTN_ID);
+            temp.setOnAction(new EventHandler<ActionEvent>() {
                         public void handle(ActionEvent t) {
                             Integer pos = Integer.valueOf(disable_position.getText());
                             Tab tab = tabPane.getTabs().get(pos.intValue());
                             tab.setDisable(!tab.isDisable());
                         }
-                    }).build());
+            });
+            disable_position_box.getChildren().add(temp);
 
             final Label disable_label = new Label("at");
             disable_position_box.getChildren().add(disable_label);
@@ -194,15 +192,14 @@
             final TextField remove_position = new TextField("0");
             remove_position.setId(REMOVE_POS_EDIT_ID);
 
-            remove_position_box.getChildren().add(
-                    ButtonBuilder.create()
-                    .text(REMOVE_SINGLE_AT_POS_BTN_ID).id(REMOVE_SINGLE_AT_POS_BTN_ID)
-                    .onAction(new EventHandler<ActionEvent>() {
-
+            temp = new Button(REMOVE_SINGLE_AT_POS_BTN_ID);
+            temp.setId(REMOVE_SINGLE_AT_POS_BTN_ID);
+            temp.setOnAction(new EventHandler<ActionEvent>() {
                         public void handle(ActionEvent t) {
                             tabPane.getTabs().remove(Integer.valueOf(remove_position.getText()).intValue());
                         }
-                    }).build());
+            });
+            remove_position_box.getChildren().add(temp);
 
             final Label remove_label = new Label("at");
             remove_position_box.getChildren().add(remove_label);
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextAreaPropertiesApp.java b/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextAreaPropertiesApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextAreaPropertiesApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextAreaPropertiesApp.java
@@ -28,9 +28,7 @@
 import javafx.event.EventHandler;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.TextArea;
-import javafx.scene.control.TextField;
 import javafx.scene.layout.Pane;
 import test.javaclient.shared.Utils;
 
@@ -72,7 +70,8 @@
 
         @Override
         public void addControlSpecificButtons(Pane pane) {
-            Button button = ButtonBuilder.create().id(ADD_TEXT_BUTTON_ID).text("Add much text").build();
+            Button button = new Button("Add much text");
+            button.setId(ADD_TEXT_BUTTON_ID);
             button.setOnAction(new EventHandler() {
 
                 public void handle(Event t) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextControlApp.java b/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextControlApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextControlApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextControlApp.java
@@ -81,7 +81,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("RESET").build();
+            Button resetButton = new Button("RESET");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     tb.refresh();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextFieldPropertiesApp.java b/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextFieldPropertiesApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextFieldPropertiesApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextFieldPropertiesApp.java
@@ -29,8 +29,8 @@
 import javafx.event.EventHandler;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.TextField;
+import static javafx.scene.control.test.textinput.TextControlApp.ADD_TEXT_BUTTON_ID;
 import javafx.scene.layout.Pane;
 import test.javaclient.shared.Utils;
 
@@ -79,7 +79,8 @@
 
         @Override
         public void addControlSpecificButtons(Pane pane) {
-            Button setOnActionListenerButton = ButtonBuilder.create().id(SET_ON_ACTION_BUTTON_ID).text("Set on action listener").build();
+            Button setOnActionListenerButton = new Button("Set on action listener");
+            setOnActionListenerButton.setId(SET_ON_ACTION_BUTTON_ID);
             setOnActionListenerButton.setOnAction(new EventHandler() {
 
                 public void handle(Event t) {
@@ -92,7 +93,8 @@
                 }
             });
 
-            Button addTextButton = ButtonBuilder.create().id(ADD_TEXT_BUTTON_ID).text("Add \"sometext\"").build();
+            Button addTextButton = new Button("Add \"sometext\"");
+            addTextButton.setId(ADD_TEXT_BUTTON_ID);
             addTextButton.setOnAction(new EventHandler() {
 
                 public void handle(Event t) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextInputExternalWrap.java b/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextInputExternalWrap.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextInputExternalWrap.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/textinput/TextInputExternalWrap.java
@@ -25,7 +25,6 @@
 
 package javafx.scene.control.test.textinput;
 
-import com.sun.javafx.scene.text.HitInfo;
 import javafx.scene.Node;
 import javafx.scene.control.TextInputControl;
 import javafx.scene.control.test.textinput.TextInputChanger.TextInputControlWrapInterface;
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/toolbar/NewToolbarApp.java b/functional/ControlsTests/src/javafx/scene/control/test/toolbar/NewToolbarApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/toolbar/NewToolbarApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/toolbar/NewToolbarApp.java
@@ -79,14 +79,17 @@
 
         private void prepareScene() {
             pane = new Pane();
-            testedToolbar = ToolBarBuilder.create().id(TESTED_TOOLBAR_ID).build();
+            testedToolbar = new ToolBar();
+            testedToolbar.setId(TESTED_TOOLBAR_ID);
 
             PropertiesTable tb = new PropertiesTable(testedToolbar);
             PropertyTablesFactory.explorePropertiesList(testedToolbar, tb);
 
             final TabPaneWithControl tabPane = new TabPaneWithControl("ToolBar", tb);
 
-            final TextField tf = TextFieldBuilder.create().id(TOOLBAR_ADD_INDEX_TEXT_FIELD_ID).text("0").prefWidth(40).build();
+            final TextField tf = new TextField("0");
+            tf.setId(TOOLBAR_ADD_INDEX_TEXT_FIELD_ID);
+            tf.setPrefWidth(40);
 
             HBox nodeshb = new NodesChoserFactory("Add!", new NodesChoserFactory.NodeAction<Node>() {
 
@@ -109,7 +112,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
 
                 public void handle(ActionEvent t) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/tooltip/NewTooltipApp.java b/functional/ControlsTests/src/javafx/scene/control/test/tooltip/NewTooltipApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/tooltip/NewTooltipApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/tooltip/NewTooltipApp.java
@@ -73,7 +73,8 @@
         @Override
         final protected void prepareScene() {
             pane = new Pane();
-            testedTooltip = TooltipBuilder.create().id(TESTED_TOOLTIP_ID).build();
+            testedTooltip = new Tooltip();
+            testedTooltip.setId(TESTED_TOOLTIP_ID);
 
             tb = new PropertiesTable(testedTooltip);
             PropertyTablesFactory.explorePropertiesList(testedTooltip, tb);
@@ -93,7 +94,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/treetable/TreeTableNewApp.java b/functional/ControlsTests/src/javafx/scene/control/test/treetable/TreeTableNewApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/treetable/TreeTableNewApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/treetable/TreeTableNewApp.java
@@ -24,10 +24,10 @@
  */
 package javafx.scene.control.test.treetable;
 
-import com.sun.javafx.scene.control.skin.NestedTableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableHeaderRow;
-import com.sun.javafx.scene.control.skin.TreeTableViewSkin;
+import javafx.scene.control.skin.NestedTableColumnHeader;
+import javafx.scene.control.skin.TableColumnHeader;
+import javafx.scene.control.skin.TableHeaderRow;
+import javafx.scene.control.skin.TreeTableViewSkin;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.HashMap;
@@ -54,6 +54,7 @@
 import javafx.scene.control.cell.ComboBoxTreeTableCell;
 import javafx.scene.control.cell.TextFieldTreeTableCell;
 import javafx.scene.control.test.tableview.NewTableViewApp;
+import static javafx.scene.control.test.treetable.ResetButtonNames.HARD_RESET_BUTTON_ID;
 import javafx.scene.control.test.treeview.TreeViewConstants;
 import javafx.scene.control.test.utils.CommonPropertiesScene;
 import javafx.scene.control.test.utils.ComponentsFactory.MultipleIndexFormComponent;
@@ -193,7 +194,8 @@
             hb.setPadding(new Insets(5, 5, 5, 5));
             hb.setStyle("-fx-border-color : green;");
 
-            Button resetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Reset").build();
+            Button resetButton = new Button("Reset");
+            resetButton.setId(HARD_RESET_BUTTON_ID);
             resetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -628,7 +630,7 @@
                         public String toString() {
                             return "CUSTOM " + super.toString();
                         }
-
+/*
                         @Override
                         protected TableHeaderRow createTableHeaderRow() {
                             return new TableHeaderRow(this) {
@@ -651,6 +653,7 @@
                                 }
                             };
                         }
+*/
                     });
                 }
             });
@@ -707,8 +710,11 @@
 
         private HBox getScrollToHBox() {
             HBox hb = new HBox();
-            Button button = ButtonBuilder.create().text("ScrollTo").id(SCROLL_TO_BUTTON_ID).build();
-            final TextField tf = TextFieldBuilder.create().text("0").id(SCROLL_TO_TEXT_FIELD_ID).prefWidth(50).build();
+            Button button = new Button("ScrollTo");
+            button.setId(SCROLL_TO_BUTTON_ID);
+            final TextField tf = new TextField("0");
+            tf.setId(SCROLL_TO_TEXT_FIELD_ID);
+            tf.setPrefWidth(50);
 
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
@@ -722,8 +728,12 @@
 
         private HBox getEditHBox() {
             HBox hb = new HBox();
-            Button button = ButtonBuilder.create().text("Edit").id(EDIT_BUTTON_ID).build();
-            final TextField tf = TextFieldBuilder.create().promptText("name").id(EDIT_TEXT_FIELD_ID).prefWidth(50).build();
+            Button button = new Button("Edit");
+            button.setId(EDIT_BUTTON_ID);
+            final TextField tf = new TextField();
+            tf.setPromptText("name");
+            tf.setId(EDIT_TEXT_FIELD_ID);
+            tf.setPrefWidth(50);
 
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
@@ -739,11 +749,8 @@
         private VBox setEventHandlersHBox() {
             VBox vb = new VBox();
 
-            Button btn = ButtonBuilder.create()
-                    .text("Set onEdit event hadlers")
-                    .id(BTN_SET_ON_EDIT_EVENT_HANDLERS)
-                    .build();
-
+            Button btn = new Button("Set onEdit event hadlers");
+            btn.setId(BTN_SET_ON_EDIT_EVENT_HANDLERS);
             btn.setOnAction(new EventHandler<ActionEvent>() {
                 final EventHandler eventHandlerOnEditStart = new EventHandler() {
                     public void handle(Event t) {
@@ -780,11 +787,8 @@
                 }
             });
 
-            Button btnAddFactory = ButtonBuilder.create()
-                    .text("Set cell factory for editing")
-                    .id(SET_CELL_FACTORY_FOR_EDITING)
-                    .build();
-
+            Button btnAddFactory = new Button("Set cell factory for editing");
+            btnAddFactory.setId(SET_CELL_FACTORY_FOR_EDITING);
             btnAddFactory.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     for (Object obj : testedControl.getColumns()) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/treeview/TreeViewNewApp.java b/functional/ControlsTests/src/javafx/scene/control/test/treeview/TreeViewNewApp.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/treeview/TreeViewNewApp.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/treeview/TreeViewNewApp.java
@@ -33,6 +33,8 @@
 import javafx.scene.Scene;
 import javafx.scene.control.*;
 import javafx.scene.control.test.treetable.ResetButtonNames;
+import static javafx.scene.control.test.treetable.ResetButtonNames.HARD_RESET_BUTTON_ID;
+import static javafx.scene.control.test.treetable.ResetButtonNames.SOFT_RESET_BUTTON_ID;
 import static javafx.scene.control.test.treeview.TreeViewConstants.ROOT_NAME;
 import javafx.scene.control.test.utils.CommonPropertiesScene;
 import javafx.scene.control.test.utils.ptables.NodeControllerFactory;
@@ -131,7 +133,8 @@
             tabPane = new TabPaneWithControl("TreeView", tb);
             getControlOverItem(ROOT_NAME);
 
-            Button hardResetButton = ButtonBuilder.create().id(HARD_RESET_BUTTON_ID).text("Hard reset").build();
+            Button hardResetButton = new Button("Hard reset");
+            hardResetButton.setId(HARD_RESET_BUTTON_ID);
             hardResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     HBox hb = (HBox) getRoot();
@@ -141,7 +144,8 @@
                 }
             });
 
-            Button softResetButton = ButtonBuilder.create().id(SOFT_RESET_BUTTON_ID).text("Soft reset").build();
+            Button softResetButton = new Button("Soft reset");
+            softResetButton.setId(SOFT_RESET_BUTTON_ID);
             softResetButton.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     refreshProcedure(2);
@@ -403,8 +407,11 @@
 
         private HBox getScrollToHBox() {
             HBox hb = new HBox();
-            Button button = ButtonBuilder.create().text("ScrollTo").id(SCROLL_TO_BUTTON_ID).build();
-            final TextField tf = TextFieldBuilder.create().text("0").id(SCROLL_TO_TEXT_FIELD_ID).prefWidth(50).build();
+            Button button = new Button("ScrollTo");
+            button.setId(SCROLL_TO_BUTTON_ID);
+            final TextField tf = new TextField("0");
+            tf.setId(SCROLL_TO_TEXT_FIELD_ID);
+            tf.setPrefWidth(50);
 
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
@@ -418,8 +425,12 @@
 
         private HBox getEditHBox() {
             HBox hb = new HBox();
-            Button button = ButtonBuilder.create().text("Edit").id(EDIT_BUTTON_ID).build();
-            final TextField tf = TextFieldBuilder.create().promptText("name").id(EDIT_TEXT_FIELD_ID).prefWidth(50).build();
+            Button button = new Button("Edit");
+            button.setId(EDIT_BUTTON_ID);
+            final TextField tf = new TextField();
+            tf.setPromptText("name");
+            tf.setId(EDIT_TEXT_FIELD_ID);
+            tf.setPrefWidth(50);
 
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
@@ -434,11 +445,8 @@
         private VBox setEventHandlersHBox() {
             VBox vb = new VBox();
 
-            Button btn = ButtonBuilder.create()
-                    .text("Set onEdit event hadlers")
-                    .id(BTN_SET_ON_EDIT_EVENT_HANDLERS)
-                    .build();
-
+            Button btn = new Button("Set onEdit event hadlers");
+            btn.setId(BTN_SET_ON_EDIT_EVENT_HANDLERS);
             btn.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedControl.setOnEditStart(new EventHandler() {
@@ -461,11 +469,8 @@
                 }
             });
 
-            Button btnAddFactory = ButtonBuilder.create()
-                    .text("Set cell factory for editing")
-                    .id(SET_CELL_FACTORY_FOR_EDITING)
-                    .build();
-
+            Button btnAddFactory = new Button("Set cell factory for editing");
+            btnAddFactory.setId(SET_CELL_FACTORY_FOR_EDITING);
             btnAddFactory.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     testedControl.setCellFactory(new Callback<TreeView<String>, TreeCell<String>>() {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ColorHelper.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ColorHelper.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ColorHelper.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ColorHelper.java
@@ -30,9 +30,7 @@
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
 import javafx.scene.control.TextArea;
-import javafx.scene.control.TextAreaBuilder;
 import javafx.scene.control.TextField;
-import javafx.scene.control.TextFieldBuilder;
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
 import javafx.stage.Stage;
@@ -55,11 +53,15 @@
 
     @Override
     public void start(final Stage stage) throws Exception {
-        final TextField xField = TextFieldBuilder.create().promptText("x").build();
-        final TextField yField = TextFieldBuilder.create().promptText("y").build();
+        final TextField xField = new TextField();
+        xField.setPromptText("x");
+        final TextField yField = new TextField();
+        yField.setPromptText("y");
 
-        final TextArea awtField = TextAreaBuilder.create().promptText("awt").build();
-        final TextArea glassField = TextAreaBuilder.create().promptText("glass").build();
+        final TextArea awtField = new TextArea();
+        awtField.setPromptText("awt");
+        final TextArea glassField = new TextArea();
+        glassField.setPromptText("glass");
 
         Button act = new Button("Get colors");
         act.setOnAction(new EventHandler<ActionEvent>() {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ComponentsFactory.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ComponentsFactory.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ComponentsFactory.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ComponentsFactory.java
@@ -65,8 +65,11 @@
         VBox vb = new VBox();
 
         HBox hb1 = new HBox();
-        Button button = ButtonBuilder.create().id(FORM_BUTTON_ID).text("Press me").build();
-        final TextField tf1 = TextFieldBuilder.create().id(FORM_CLICK_TEXT_FIELD_ID).prefWidth(50).text("0").build();
+        Button button = new Button("Press me");
+        button.setId(FORM_BUTTON_ID);
+        final TextField tf1 = new TextField("0");
+        tf1.setId(FORM_CLICK_TEXT_FIELD_ID);
+        tf1.setPrefWidth(50);
         button.setOnAction((ActionEvent t) -> {
             tf1.setText(String.valueOf(Integer.parseInt(tf1.getText()) + 1));
         });
@@ -76,13 +79,19 @@
         ScrollBar sb = new ScrollBar();
         sb.setMax(10);
         sb.setId(FORM_SCROLLBAR_ID);
-        final TextField tf2 = TextFieldBuilder.create().id(FORM_SCROLL_TEXT_FIELD_ID).prefWidth(50).text("0").build();
+        final TextField tf2 = new TextField("0");
+        tf2.setId(FORM_SCROLL_TEXT_FIELD_ID);
+        tf2.setPrefWidth(50);
         sb.addEventHandler(ScrollEvent.ANY, (ScrollEvent t) -> {
             tf2.setText(String.valueOf(Integer.parseInt(tf2.getText()) + 1));
         });
         hb2.getChildren().addAll(sb, tf2);
 
-        TextArea ta = TextAreaBuilder.create().minHeight(50).prefHeight(100).prefWidth(50).id(FORM_TEXT_AREA_ID).build();
+        TextArea ta = new TextArea();
+        ta.setMinHeight(50);
+        ta.setPrefHeight(100);
+        ta.setPrefWidth(50);
+        ta.setId(FORM_TEXT_AREA_ID);
         for (int i = 0; i < 15; i++) {
             ta.appendText("text" + i + "\n");
         }
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/AbstractPropertyValueSetter.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/AbstractPropertyValueSetter.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/AbstractPropertyValueSetter.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/AbstractPropertyValueSetter.java
@@ -29,7 +29,6 @@
 import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.Control;
 import javafx.scene.control.Label;
 import static javafx.scene.control.test.utils.ptables.StaticLogger.*;
@@ -72,7 +71,9 @@
         getChildren().addAll(new Label(labelDescription.toUpperCase().substring(0, Math.min(15, labelDescription.length()) - 1)), leadingControl, binding.getVisualRepresentation());
 
         if (btype == BindingType.UNIDIRECTIONAL) {
-            Button setButton = ButtonBuilder.create().text("set").minWidth(38).id(SET_PREFIX + listeningProperty.getName().toUpperCase()).build();
+            Button setButton = new Button("set");
+            setButton.setMinWidth(38);
+            setButton.setId(SET_PREFIX + listeningProperty.getName().toUpperCase());
             setAction = new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
                     //bindingTB.setSelected(false);I think, that is not obligative.
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/BooleanPropertyValueSetter.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/BooleanPropertyValueSetter.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/BooleanPropertyValueSetter.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/BooleanPropertyValueSetter.java
@@ -27,7 +27,6 @@
 import javafx.beans.property.Property;
 import javafx.scene.Node;
 import javafx.scene.control.ToggleButton;
-import javafx.scene.control.ToggleButtonBuilder;
 import static javafx.scene.control.test.utils.ptables.StaticLogger.*;
 
 /**
@@ -37,7 +36,7 @@
  */
 public class BooleanPropertyValueSetter extends AbstractPropertyValueSetter<Boolean> {
 
-    private ToggleButton tb = ToggleButtonBuilder.create().text("false").build();
+    private ToggleButton tb = new ToggleButton("false");
 
     public BooleanPropertyValueSetter(Property listeningProperty, BindingType btype, Object testedControl) {
         try {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/NodeControllerFactory.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/NodeControllerFactory.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/NodeControllerFactory.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/NodeControllerFactory.java
@@ -89,7 +89,9 @@
 
         @Override
         public Node getForNode(final ToolBar toolBar, final TabPaneWithControl tabPane) {
-            final TextField tf = TextFieldBuilder.create().id(TOOLBAR_ADD_INDEX_TEXT_FIELD_ID).text("0").prefWidth(40).build();
+            final TextField tf = new TextField("0");
+            tf.setId(TOOLBAR_ADD_INDEX_TEXT_FIELD_ID);
+            tf.setPrefWidth(40);
 
             this.getChildren().addAll(new NodesChoserFactory("Add!", new NodesChoserFactory.NodeAction<Node>() {
                 @Override
@@ -114,8 +116,12 @@
 
         @Override
         public Node getForNode(final Menu menu, final TabPaneWithControl tabPane) {
-            final TextField tf = TextFieldBuilder.create().id(MENU_ADD_INDEX_TEXT_FIELD_ID).text("0").prefWidth(40).build();
-            final TextField nameTF = TextFieldBuilder.create().id(MENU_ADD_NAME_TEXT_FIELD_ID).text("Menu").prefWidth(40).build();
+            final TextField tf = new TextField("0");
+            tf.setId(MENU_ADD_INDEX_TEXT_FIELD_ID);
+            tf.setPrefWidth(40);
+            final TextField nameTF = new TextField("Menu");
+            nameTF.setId(MENU_ADD_NAME_TEXT_FIELD_ID);
+            nameTF.setPrefWidth(40);
             this.getChildren().addAll(new NodesChoserFactory("Add!", new NodesChoserFactory.NodeAction<MenuItem>() {
                 @Override
                 public void execute(MenuItem node) {
@@ -155,8 +161,12 @@
 
         private HBox getPreviousSiblingHBox(final TreeItem item) {
             HBox hb = new HBox();
-            Button button = ButtonBuilder.create().text("Get previous sibling").id(GET_PREVIOUS_SIBLING_TREEITEM_BUTTON_ID).build();
-            final TextField tf = TextFieldBuilder.create().text("").promptText("Next sibling").id(GET_PREVIOUS_SIBLING_TREEITEM_TEXTFIELD_ID).prefWidth(100).build();
+            Button button = new Button("Get previous sibling");
+            button.setId(GET_PREVIOUS_SIBLING_TREEITEM_BUTTON_ID);
+            final TextField tf = new TextField("");
+            tf.setPromptText("Next sibling");
+            tf.setId(GET_PREVIOUS_SIBLING_TREEITEM_TEXTFIELD_ID);
+            tf.setPrefWidth(100);
 
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
@@ -184,8 +194,12 @@
 
         private HBox getNextSiblingHBox(final TreeItem item) {
             HBox hb = new HBox();
-            Button button = ButtonBuilder.create().text("Get next sibling").id(GET_NEXT_SIBLING_TREEITEM_BUTTON_ID).build();
-            final TextField tf = TextFieldBuilder.create().text("").promptText("Next sibling").id(GET_NEXT_SIBLING_TREEITEM_TEXTFIELD_ID).prefWidth(100).build();
+            Button button = new Button("Get next sibling");
+            button.setId(GET_NEXT_SIBLING_TREEITEM_BUTTON_ID);
+            final TextField tf = new TextField("");
+            tf.setPromptText("Next sibling");
+            tf.setId(GET_NEXT_SIBLING_TREEITEM_TEXTFIELD_ID);
+            tf.setPrefWidth(100);
 
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
@@ -203,8 +217,12 @@
         }
 
         private HBox getChangeValueHBox(final TreeItem item) {
-            Button button = ButtonBuilder.create().text("change value to").id(CHANGE_VALUE_BUTTON_ID).build();
-            final TextField tfNew = TextFieldBuilder.create().promptText("new value").id(NEW_VALUE_TEXT_FIELD_ID).prefWidth(50).build();
+            Button button = new Button("change value to");
+            button.setId(CHANGE_VALUE_BUTTON_ID);
+            final TextField tfNew = new TextField();
+            tfNew.setPromptText("new value");
+            tfNew.setId(NEW_VALUE_TEXT_FIELD_ID);
+            tfNew.setPrefWidth(50);
 
             button.setOnAction(new EventHandler<ActionEvent>() {
                 public void handle(ActionEvent t) {
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/NumberPropertyValueSetter.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/NumberPropertyValueSetter.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/NumberPropertyValueSetter.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/NumberPropertyValueSetter.java
@@ -33,7 +33,6 @@
 import javafx.scene.Node;
 import javafx.scene.control.Label;
 import javafx.scene.control.Slider;
-import javafx.scene.control.SliderBuilder;
 import static javafx.scene.control.test.utils.ptables.StaticLogger.*;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.VBox;
@@ -87,8 +86,22 @@
 
     private void applyRangesChangers(final Slider slider) {
         final Popup popupWithControllers = new Popup();
-        Slider minValue = SliderBuilder.create().prefWidth(300).min(1).max(9).minorTickCount(4).majorTickUnit(2).showTickLabels(true).showTickMarks(true).build();
-        Slider maxValue = SliderBuilder.create().prefWidth(300).min(1).max(9).minorTickCount(4).majorTickUnit(2).showTickLabels(true).showTickMarks(true).build();
+        Slider minValue = new Slider();
+        minValue.setPrefWidth(300);
+        minValue.setMin(1);
+        minValue.setMax(9);
+        minValue.setMinorTickCount(4);
+        minValue.setMajorTickUnit(2);
+        minValue.setShowTickLabels(true);
+        minValue.setShowTickMarks(true);
+        Slider maxValue = new Slider();
+        maxValue.setPrefWidth(300);
+        maxValue.setMin(1);
+        maxValue.setMax(9);
+        maxValue.setMinorTickCount(4);
+        maxValue.setMajorTickUnit(2);
+        maxValue.setShowTickLabels(true);
+        maxValue.setShowTickMarks(true);
 
         maxValue.valueProperty().addListener(new ChangeListener() {
             public void changed(ObservableValue ov, Object t, Object t1) {
@@ -143,7 +156,17 @@
 
     private Slider createSlider(double minValue, double maxValue, double defaultValue, String sliderId) {
         try {
-            return SliderBuilder.create().prefWidth(100).id(sliderId).min(minValue).max(maxValue).value(defaultValue).minorTickCount(4).majorTickUnit((maxValue - minValue) / 4).showTickLabels(true).showTickMarks(true).build();
+            Slider temp = new Slider();
+            temp.setPrefWidth(100);
+            temp.setId(sliderId);
+            temp.setMin(minValue);
+            temp.setMax(maxValue);
+            temp.setValue(defaultValue);
+            temp.setMinorTickCount(4);
+            temp.setMajorTickUnit((maxValue - minValue) / 4);
+            temp.setShowTickLabels(true);
+            temp.setShowTickMarks(true);
+            return temp;
         } catch (Throwable ex) {
             log(ex);
         }
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertiesTable.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertiesTable.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertiesTable.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertiesTable.java
@@ -36,7 +36,6 @@
 import javafx.beans.property.ReadOnlyProperty;
 import javafx.scene.Node;
 import javafx.scene.layout.FlowPane;
-import javafx.scene.layout.FlowPaneBuilder;
 import javafx.scene.layout.VBox;
 import static javafx.scene.control.test.utils.ptables.AbstractApplicationPropertiesRegystry.DEFAULT_DOMAIN_NAME;
 
@@ -78,8 +77,8 @@
 
     public final static String PROPERTIES_TABLE_SUFFIX_ID = "_PROPERTY_TABLE_ID";
     private final VBox linesVBox = new VBox(5);
-    private final FlowPane countersFlowPane = FlowPaneBuilder.create().vgap(5).hgap(5).build();
-    private final FlowPane listenersFlowPane = FlowPaneBuilder.create().vgap(5).hgap(5).build();
+    private final FlowPane countersFlowPane;
+    private final FlowPane listenersFlowPane;
     private final Object testedControl;
     private String domainName;
     /**
@@ -97,6 +96,12 @@
 
     public PropertiesTable(Object testedControl) {
         super(5);
+        countersFlowPane = new FlowPane();
+        countersFlowPane.setVgap(5);
+        countersFlowPane.setHgap(5);
+        listenersFlowPane = new FlowPane();
+        listenersFlowPane.setVgap(5);
+        listenersFlowPane.setHgap(5);
         this.domainName = DEFAULT_DOMAIN_NAME;
         this.setId(DEFAULT_DOMAIN_NAME + PROPERTIES_TABLE_SUFFIX_ID);
         getChildren().add(0, countersFlowPane);
@@ -151,7 +156,10 @@
     @Override
     public void addDoublePropertyLine(final DoubleProperty bindableProperty, double min, double max, double initial, Object owningObject) {
         AbstractPropertyController controller = new PropertyValueController(bindableProperty, testedControl, min, initial, max);
-        propertyControllers.put(bindableProperty.getName().toUpperCase(), controller);
+        AbstractPropertyController old_controller = propertyControllers.put(bindableProperty.getName().toUpperCase(), controller);
+        if (old_controller != null) {
+            linesVBox.getChildren().remove(old_controller.getVisualRepresentation());
+        }
         linesVBox.getChildren().add(controller.getVisualRepresentation());
     }
 
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertyTablesFactory.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertyTablesFactory.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertyTablesFactory.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertyTablesFactory.java
@@ -44,11 +44,11 @@
 import javafx.scene.image.Image;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Circle;
-import javafx.scene.shape.PolygonBuilder;
 import javafx.scene.shape.Rectangle;
 import javafx.scene.text.Font;
 import javafx.scene.text.Text;
 import java.time.chrono.Chronology;
+import javafx.scene.shape.Polygon;
 
 /**
  * @author Alexander Kirov
@@ -192,12 +192,14 @@
         possibleNodes.add(new Rectangle(0, 0, 10, 10));
         possibleNodes.add(ComponentsFactory.createCustomContent(25, 25));
         possibleNodes.add(new Circle(6.75, Color.RED));
-        possibleNodes.add(PolygonBuilder.create().fill(Color.GREEN).points(new Double[]{
+        Polygon temp = new Polygon(new double[]{
                     0.0, 7.0,
                     5.0, 20.0,
                     15.0, 20.0,
                     20.0, 7.0,
-                    10.0, 0.0,}).build());
+            10.0, 0.0,});
+        temp.setFill(Color.GREEN);
+        possibleNodes.add(temp);
         tb.addObjectEnumPropertyLine(property, possibleNodes, owningObject);
     }
 
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertyValueListener.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertyValueListener.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertyValueListener.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/PropertyValueListener.java
@@ -28,13 +28,11 @@
 import javafx.beans.property.ReadOnlyProperty;
 import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
-import javafx.scene.control.LabelBuilder;
+import javafx.scene.control.Label;
 import javafx.scene.control.TextField;
-import javafx.scene.control.TextFieldBuilder;
 import javafx.scene.control.Tooltip;
-import javafx.scene.control.TreeTableColumn;
+import static javafx.scene.control.test.utils.ptables.StaticLogger.*;
 import javafx.scene.layout.HBox;
-import static javafx.scene.control.test.utils.ptables.StaticLogger.*;
 
 /**
  * @author Alexander Kirov
@@ -57,7 +55,7 @@
     public final static String LISTENER_SUFFIX = "_LISTENER_ID";
     private ReadOnlyProperty listenedProperty;
     private Object owningObject;
-    private TextField receivedValueTF = TextFieldBuilder.create().minWidth(50).maxWidth(110).build();
+    private TextField receivedValueTF = new TextField();
     private boolean someStateWasRemembered = false;
     private ValueType rememberedState = null;
     private int rememberedChangeCountValue = -1;
@@ -77,6 +75,8 @@
 
     public <ValueType> PropertyValueListener(String labelDescription, ReadOnlyProperty listenedProperty, String textFieldId, Object owningObject, Boolean showCounters) {
         this.owningObject = owningObject;
+        receivedValueTF.setMinWidth(50);
+        receivedValueTF.setMaxWidth(110);
         receivedValueTF.setId(textFieldId);
         receivedValueTF.setTooltip(new Tooltip());
         if (listenedProperty.getName().contains("BOUNDS")) {
@@ -85,7 +85,9 @@
         }
         this.listenedProperty = listenedProperty;
         counter = new PropertyValueCounter(listenedProperty);
-        getChildren().add(LabelBuilder.create().text(labelDescription).prefWidth(100).build());
+        Label temp = new Label(labelDescription);
+        temp.setPrefWidth(100);
+        getChildren().add(temp);
         if (showCounters) {
             getChildren().add(counter.getVisualRepresentation());
         }
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/StringPropertyValueSetter.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/StringPropertyValueSetter.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/StringPropertyValueSetter.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/StringPropertyValueSetter.java
@@ -27,7 +27,6 @@
 import javafx.beans.property.Property;
 import javafx.scene.Node;
 import javafx.scene.control.TextField;
-import javafx.scene.control.TextFieldBuilder;
 import static javafx.scene.control.test.utils.ptables.StaticLogger.*;
 
 /**
@@ -39,7 +38,8 @@
 
     public StringPropertyValueSetter(Property listeningProperty, BindingType btype, Object testedControl, String initialString) {
         try {
-            final TextField tf = TextFieldBuilder.create().text(initialString).id(createId(listeningProperty, btype)).build();
+            final TextField tf = new TextField(initialString);
+            tf.setId(createId(listeningProperty, btype));
             this.leadingControl = tf;
             this.leadingProperty = (Property) tf.textProperty();
             this.listeningProperty = listeningProperty;
diff --git a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/TextFieldEventsCounter.java b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/TextFieldEventsCounter.java
--- a/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/TextFieldEventsCounter.java
+++ b/functional/ControlsTests/src/javafx/scene/control/test/utils/ptables/TextFieldEventsCounter.java
@@ -30,9 +30,7 @@
 import javafx.beans.value.ObservableValue;
 import javafx.scene.Node;
 import javafx.scene.control.Label;
-import javafx.scene.control.LabelBuilder;
 import javafx.scene.control.TextField;
-import javafx.scene.control.TextFieldBuilder;
 import static javafx.scene.control.test.utils.ptables.StaticLogger.*;
 import javafx.scene.control.test.utils.ptables.TextFieldEventsCounter.Count;
 import javafx.scene.layout.HBox;
@@ -54,8 +52,11 @@
         }
         try {
             this.counterName = counterName;
-            Label label = LabelBuilder.create().text(counterName + " : ").prefWidth((new Text(counterName + " : ")).getBoundsInParent().getWidth() + 30).build();
-            final TextField tf = TextFieldBuilder.create().text("0").prefWidth(50).id(counterName.toUpperCase() + COUNTER_SUFFIX).build();
+            Label label = new Label(counterName + " : ");
+            label.setPrefWidth((new Text(counterName + " : ")).getBoundsInParent().getWidth() + 30);
+            final TextField tf = new TextField("0");
+            tf.setPrefWidth(50);
+            tf.setId(counterName.toUpperCase() + COUNTER_SUFFIX);
             counter.addListener(new ChangeListener<Number>() {
                 public void changed(ObservableValue<? extends Number> ov, Number t, Number t1) {
                     log("Counter " + counterName + ": new value : <" + t1 + ">.");
diff --git a/functional/ControlsTests/src/javafx/scrollEvent/ScrollEventApp.java b/functional/ControlsTests/src/javafx/scrollEvent/ScrollEventApp.java
--- a/functional/ControlsTests/src/javafx/scrollEvent/ScrollEventApp.java
+++ b/functional/ControlsTests/src/javafx/scrollEvent/ScrollEventApp.java
@@ -38,14 +38,15 @@
 import javafx.scene.Parent;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.CheckBox;
 import javafx.scene.control.ChoiceBox;
+import javafx.scene.control.ComboBox;
 import javafx.scene.control.ContextMenu;
+import javafx.scene.control.Control;
+import javafx.scene.control.DatePicker;
 import javafx.scene.control.Label;
 import javafx.scene.control.MenuItem;
 import javafx.scene.control.TextField;
-import javafx.scene.control.TextFieldBuilder;
 import javafx.scene.input.ContextMenuEvent;
 import javafx.scene.input.ScrollEvent;
 import javafx.scene.layout.FlowPane;
@@ -96,13 +97,14 @@
     private Node createNodeChooser() {
         VBox vb = new VBox(5);
         Label scrollEventCame = new Label("Scroll event came : ");
-        final TextField eventComeIndicator = TextFieldBuilder.create().text("None").id(EVENT_COME_INDICATOR_TEXT_FIELD_ID).build();
+        final TextField eventComeIndicator = new TextField("None");
+        eventComeIndicator.setId(EVENT_COME_INDICATOR_TEXT_FIELD_ID);
         HBox hb = new HBox();
         hb.getChildren().addAll(scrollEventCame, eventComeIndicator);
 
-        Button resetButton = ButtonBuilder.create().text("Reset").id(RESET_BUTTON_ID).build();
+        Button resetButton = new Button("Reset");
+        resetButton.setId(RESET_BUTTON_ID);
         resetButton.setOnAction(new EventHandler<ActionEvent>() {
-
             public void handle(ActionEvent t) {
                 eventComeIndicator.setText("None");
                 clearListenersState();
@@ -140,7 +142,7 @@
                         }
                     });
                 } else {
-                    node.setOnContextMenuRequested(new EventHandler<ContextMenuEvent>() {
+                    EventHandler<ContextMenuEvent> handler = new EventHandler<ContextMenuEvent>() {
                         public void handle(ContextMenuEvent t) {
                             renewListenerValue("eventType", t.getEventType());
                             renewListenerValue("consumed", t.isConsumed());
@@ -149,13 +151,30 @@
                             getContextMenu().show(node, t.getScreenX(), t.getScreenY());
                             t.consume();
                         }
-                    });
+                    };
+                    node.setOnContextMenuRequested(handler);
+                    TextField editor = null;
+                    if (node instanceof DatePicker) {
+                        editor = ((DatePicker)node).getEditor();
+                    }
+                    if (node instanceof ComboBox) {
+                        editor = ((ComboBox)node).getEditor();
+                    }
+                    if (editor != null) {
+                        editor.setOnContextMenuRequested(handler);
+                    }
                 }
 
                 node.setId(ID_TARGET_NODE);
                 spaceForNode.getChildren().clear();
                 spaceForNode.getChildren().add(node);
-
+                node.setPickOnBounds(true);
+                if (node instanceof Control) {
+                    ((Control)node).setPrefWidth(200);
+                    ((Control)node).setPrefHeight(200);
+                    ((Control)node).setMinWidth(200);
+                    ((Control)node).setMinHeight(200);
+                }
                 clearListenersState();
             }
         });
@@ -196,7 +215,8 @@
     private HBox getListener(String name) {
         HBox hb = new HBox();
         Label label = new Label(name + " : ");
-        TextField tf = TextFieldBuilder.create().id(getListenerTextFieldID(name)).build();
+        TextField tf = new TextField();
+        tf.setId(getListenerTextFieldID(name));
         hm.put(name, tf);
 
         hb.getChildren().addAll(label, tf);
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/ListView/NewListViewTest.java b/functional/ControlsTests/test/javafx/scene/control/test/ListView/NewListViewTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/ListView/NewListViewTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/ListView/NewListViewTest.java
@@ -239,8 +239,6 @@
 
         requestFocusOnControl(testedControl);
 
-        testedControl.keyboard().pushKey(KeyboardButtons.DOWN);
-
         testedControl.keyboard().pressKey(KeyboardButtons.SHIFT);
         try {
             for (int i = 1; i < 5; i++) {
@@ -314,10 +312,10 @@
     }
 
     private void checkScrollingState(final double scrollValue, boolean beginVisible, boolean endVisible, int size, final Orientation orientation) {
-        //assertEquals(findScrollBar(testedControl.as(Parent.class, Node.class), orientation, true).getControl().getValue(), scrollValue, 0.01);
+        //assertEquals(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), orientation, true).getControl().getValue(), scrollValue, 0.01);
         testedControl.waitState(new State() {
             public Object reached() {
-                Wrap<? extends ScrollBar> sb = findScrollBar(testedControl.as(Parent.class, Node.class), orientation, true);
+                Wrap<? extends ScrollBar> sb = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), orientation, true);
                 if (Math.abs(sb.getControl().getValue() - scrollValue) < 0.01) {
                     return true;
                 } else {
@@ -370,16 +368,16 @@
     @Test(timeout = 300000)
     public void verticalScrollBarBehaviorOnAddingDeletingTest() throws InterruptedException {
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 50);
-        assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
+        assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
         addElements(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
-        assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);
+        assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 500);
-        assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
+        assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 50);
         for (int i = 0; i < 10; i++) {
             removeFromPos(0);
         }
-        assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
+        assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
     }
 
     //Test//RT-17538//Test removed, as non actual (bug - is not a bug).
@@ -390,11 +388,11 @@
         addTextFieldAtPos(1);
         addRectangleAtPos(2);
 
-        Wrap<? extends ScrollBar> sb = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
+        Wrap<? extends ScrollBar> sb = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
         ScrollingChecker sc = new ScrollingChecker(sb.getControl().valueProperty());
         testedControl.mouse().move();
         for (int i = 0; i < 8; i++) {
-            findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1);
+            findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1);
             sc.checkChanging(+1);
         }
     }
@@ -460,8 +458,8 @@
 
         setPropertyByChoiceBox(SettingType.BIDIRECTIONAL, Orientation.HORIZONTAL, Properties.orientation);
 
-        checkScreenshot("ListView_scrollBarSize1Test_HorizontalScroll_1", findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true));
-        checkScreenshot("ListView_scrollBarSize1Test_VerticalScroll_1", findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true));
+        checkScreenshot("ListView_scrollBarSize1Test_HorizontalScroll_1", findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true));
+        checkScreenshot("ListView_scrollBarSize1Test_VerticalScroll_1", findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true));
         throwScreenshotError();
     }
 
@@ -473,7 +471,7 @@
 
         addRectangleAtPos(0);
         addRectangleAtPos(0);
-        checkScreenshot("ListView_HorizontalScroll_2", findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true));
+        checkScreenshot("ListView_HorizontalScroll_2", findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true));
         throwScreenshotError();
     }
 
@@ -487,10 +485,10 @@
         addRectangleAtPos(0);
 
         for (int i = 0; i < 100; i++) {
-            findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+1);
+            findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+1);
         }
 
-        assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);
+        assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);
     }
 
     @ScreenshotCheck
@@ -517,9 +515,10 @@
         setPropertyByChoiceBox(SettingType.BIDIRECTIONAL, Orientation.HORIZONTAL, Properties.orientation);
         setSize(150, 150);
         addRectangleAtPos(0);
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+20);
+        int scroll_value = Utils.isMacOS() ? -20 : +20;
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(scroll_value);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+20);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(scroll_value);
 
         checkScreenshot("ListView_ScrollingIssue_1", testedControl);
         throwScreenshotError();
@@ -534,15 +533,15 @@
         Thread.sleep(500);
 
         for (int i = 0; i < 20; i++) {
-            findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+1);
+            findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+1);
         }
 
         for (int i = 0; i < 20; i++) {
-            findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1);
+            findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1);
         }
 
         setPropertyByChoiceBox(SettingType.BIDIRECTIONAL, Orientation.HORIZONTAL, Properties.orientation);
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+20);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+20);
         checkScreenshot("ListView_ScrollingIssue_2", testedControl);
         throwScreenshotError();
     }
@@ -554,8 +553,8 @@
         setSize(150, 150);
         addRectangleAtPos(0);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+20);
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+20);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+20);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+20);
         checkScreenshot("ListView_ScrollingIssue_3", testedControl);
         throwScreenshotError();
     }
@@ -569,13 +568,13 @@
         testedControl.keyboard().pushKey(KeyboardButtons.DOWN);
         testedControl.keyboard().pushKey(KeyboardButtons.DOWN);
 
-        checkListener(Listeners.focusedIndex, 1);
+        checkListener(Listeners.focusedIndex, 2);
         addElement("0", 0);
-        checkListener(Listeners.focusedIndex, 2);
+        checkListener(Listeners.focusedIndex, 3);
         addElement("0", 2);
-        checkListener(Listeners.focusedIndex, 3);
+        checkListener(Listeners.focusedIndex, 4);
         addElement("0", 4);
-        checkListener(Listeners.focusedIndex, 3);
+        checkListener(Listeners.focusedIndex, 5);
     }
 
     //Test//RT-17539//Test removed because developers don't count size of content.
@@ -589,12 +588,12 @@
         checkScreenshot("ListView_ScrollBarKnobSizeIssue_1", testedControl);
 
         for (int i = 0; i < 20; i++) {
-            findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1);
+            findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1);
         }
 
         checkScreenshot("ListView_ScrollBarKnobSizeIssue_2", testedControl);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+10);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+10);
 
         checkScreenshot("ListView_ScrollBarKnobSizeIssue_3", testedControl);
         throwScreenshotError();
@@ -614,12 +613,6 @@
 
         requestFocusOnControl(testedControl);
 
-        Thread.sleep(SLEEP);
-
-        testedControl.keyboard().pushKey(KeyboardButtons.DOWN);
-
-        Thread.sleep(SLEEP);
-
         //Testing section
         try {
             for (int i = 0; i < 5; i++) {
@@ -652,18 +645,12 @@
         setPropertyByChoiceBox(SettingType.BIDIRECTIONAL, SelectionMode.MULTIPLE, Properties.selectionMode);
         setSize(130, 130);
 
-        selectionHelper = new MultipleSelectionHelper(1, DATA_ITEMS_NUM);
+        selectionHelper = new MultipleSelectionHelper(1, 10);
         selectionHelper.setSingleCell(false);
         selectionHelper.setMultiple(true);
 
         requestFocusOnControl(testedControl);
 
-        Thread.sleep(SLEEP);
-
-        testedControl.keyboard().pushKey(KeyboardButtons.DOWN);
-
-        Thread.sleep(SLEEP);
-
         //Testing section
         try {
             for (int i = 0; i < 2; i++) {
@@ -733,12 +720,6 @@
 
         requestFocusOnControl(testedControl);
 
-        Thread.sleep(SLEEP);
-
-        testedControl.keyboard().pushKey(KeyboardButtons.DOWN);
-
-        Thread.sleep(SLEEP);
-
         //Testing section
         try {
             for (int i = 0; i < 2; i++) {
@@ -786,12 +767,6 @@
 
         requestFocusOnControl(testedControl);
 
-        Thread.sleep(SLEEP);
-
-        testedControl.keyboard().pushKey(KeyboardButtons.DOWN);
-
-        Thread.sleep(SLEEP);
-
         //Testing section
         try {
             for (int i = 0; i < 2; i++) {
@@ -899,6 +874,7 @@
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 200);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 200);
         setPropertyByChoiceBox(SettingType.BIDIRECTIONAL, SelectionMode.MULTIPLE, Properties.selectionMode);
+        selectionHelper.setMultiple(true);
         setPropertyByChoiceBox(SettingType.BIDIRECTIONAL, Orientation.HORIZONTAL, Properties.orientation);
 
         final int elementsCount = 50;
@@ -910,6 +886,8 @@
             Wrap<Text> cellWrap = getCellWrap((Integer) (0)); //mouse will be over the second item.
             cellWrap.as(Showable.class).shower().show();
             cellWrap.mouse().click(1, cellWrap.getClickPoint(), Mouse.MouseButtons.BUTTON1, CTRL_DOWN_MASK_OS);
+            selectionHelper.click(0, 0, KeyboardButtons.CONTROL);
+            checkSelection();
 
             KeyboardButtons lessKey = (orientation == Orientation.HORIZONTAL ? KeyboardButtons.LEFT : KeyboardButtons.UP);
             KeyboardButtons moreKey = (orientation == Orientation.HORIZONTAL ? KeyboardButtons.RIGHT : KeyboardButtons.DOWN);
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/ListView/TestBase.java b/functional/ControlsTests/test/javafx/scene/control/test/ListView/TestBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/ListView/TestBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/ListView/TestBase.java
@@ -49,6 +49,7 @@
 import org.jemmy.fx.control.ListItemWrap.ListItemByObjectLookup;
 import org.jemmy.interfaces.Keyboard.KeyboardButtons;
 import org.jemmy.interfaces.Keyboard.KeyboardModifiers;
+import static org.jemmy.interfaces.Keyboard.KeyboardModifiers.META_DOWN_MASK;
 import org.jemmy.interfaces.Mouse;
 import org.jemmy.interfaces.Parent;
 import org.jemmy.interfaces.Selectable;
@@ -235,8 +236,8 @@
      * Checks visibility states of horizontal and vertical scrollBars.
      */
     protected void checkScrollbarsStates(boolean horizontalVisibility, boolean verticalVisibility) {
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, horizontalVisibility) == null);
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, verticalVisibility) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, horizontalVisibility) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, verticalVisibility) == null);
     }
 
     /**
@@ -261,9 +262,13 @@
             @Override
             public void run(Object... os) throws Exception {
                 ListView lv = (ListView) os[0];
+                selectionHelper.setRowsNum(elemCount);
                 for (int i = 0; i < elemCount; i++) {
                     if (Integer.valueOf((String) lv.getItems().get(i)) % 2 == 0) {
                         lv.getSelectionModel().select(i);
+                        selectionHelper.push(KeyboardButtons.SPACE, KeyboardModifiers.CTRL_DOWN_MASK);
+                        selectionHelper.push(KeyboardButtons.DOWN, KeyboardModifiers.CTRL_DOWN_MASK);
+                        selectionHelper.push(KeyboardButtons.DOWN, KeyboardModifiers.CTRL_DOWN_MASK);
                     }
                 }
             }
@@ -273,10 +278,10 @@
     protected void checkScreenshotsWithStep(String name, final int elementsCount, final int step) throws Throwable {
         Wrap<Text> cellWrap = getCellWrap((Integer) (0)); //mouse will be over the second item.
         cellWrap.as(Showable.class).shower().show();
-        cellWrap.mouse().click(1, cellWrap.getClickPoint(), Mouse.MouseButtons.BUTTON1, CTRL_DOWN_MASK_OS);
+        cellWrap.mouse().click(1, cellWrap.getClickPoint(), Mouse.MouseButtons.BUTTON1, Utils.isMacOS() ? META_DOWN_MASK : CTRL_DOWN_MASK_OS);
         for (int i = 0; i < elementsCount / step; i++) {
             for (int j = 0; j < step; j++) {
-                testedControl.keyboard().pushKey(KeyboardButtons.RIGHT, CTRL_DOWN_MASK_OS);
+                testedControl.keyboard().pushKey(KeyboardButtons.RIGHT, Utils.isMacOS() ? META_DOWN_MASK : CTRL_DOWN_MASK_OS);
             }
             checkScreenshot("ListView_" + name + "_" + i, testedControl);
         }
@@ -296,6 +301,7 @@
                 System.out.println(SelectionFormatter.format("Helper selection: ", helper_selected, "Selection: ", selected));
                 System.out.println("Helper focus : " + helper_selection);
                 System.out.println("Focus        : " + selection);
+                System.out.println("Helper anchor : " + selectionHelper.anchor + "\n\n");
                 System.out.println("Anchor : " + selectionHelper.anchor + "\n\n");
 
                 if (((helper_selected.size() == selected.size())
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/Mnemonics/LabelsMnemonicsTest.java b/functional/ControlsTests/test/javafx/scene/control/test/Mnemonics/LabelsMnemonicsTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/Mnemonics/LabelsMnemonicsTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/Mnemonics/LabelsMnemonicsTest.java
@@ -46,7 +46,7 @@
 
 /**
  * Class provides tests for mnemonics behavior.
- * According to the <a href=http://xdesign.us.oracle.com/projects/javaFX/fxcontrols-ue/specifications/mnemonics/mnemonics-UESpec.html>Mnemonics spec</a>
+ * According to the mnemonics spec,
  * mnemonics are platform specific. Therefore tests design is aimed to
  * consider the difference between platforms and to avoid boilerplate.
  *
@@ -227,4 +227,4 @@
             scene.keyboard().pushKey(KeyboardButtons.ALT);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/Mnemonics/MnemonicsTestBase.java b/functional/ControlsTests/test/javafx/scene/control/test/Mnemonics/MnemonicsTestBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/Mnemonics/MnemonicsTestBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/Mnemonics/MnemonicsTestBase.java
@@ -123,9 +123,8 @@
                 for (int x = 0; x < text_bounds.width; x++) {
                     final Text control = text_wrap.getControl();
                     final int charIndex = new GetAction<Integer>() {
-                        @Override
                         public void run(Object... os) throws Exception {
-                            setResult(control.impl_hitTestChar(new Point2D((Integer)os[0], (Integer)os[1] - control.getBaselineOffset())).getCharIndex());
+                            setResult(control.hitTest(new Point2D((Integer)os[0], (Integer)os[1] - control.getBaselineOffset())).getCharIndex());
                         }
                     }.dispatch(wrap.getEnvironment(), x, y);
                     if (bounds_array.get(charIndex) == null) {
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/ScrollPane/ScrollPaneTest.java b/functional/ControlsTests/test/javafx/scene/control/test/ScrollPane/ScrollPaneTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/ScrollPane/ScrollPaneTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/ScrollPane/ScrollPaneTest.java
@@ -77,6 +77,9 @@
     @Test(timeout = 300000)
     @Covers(value = {"javafx.scene.control.ScrollPane.vmax.DEFAULT", "javafx.scene.control.ScrollPane.vmax.GET"}, level = Level.FULL)
     public void checkVMaxOptionTest() throws InterruptedException {
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         Assert.assertEquals((new ScrollPane()).vmaxProperty().getValue(), 1, commonComparePrecision);
 
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.vmax, 200);
@@ -85,17 +88,17 @@
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.vvalue, 200);
         checkTextFieldValue(Properties.vvalue, 200);
 
-        Wrap<? extends ScrollBar> sb1 = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
+        Wrap<? extends ScrollBar> sb1 = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
         sb1.as(AbstractScroll.class).to(0);
         checkTextFieldValue(Properties.vvalue, 0);
 
-        Wrap<? extends ScrollBar> sb2 = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
+        Wrap<? extends ScrollBar> sb2 = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
         sb2.as(AbstractScroll.class).to(200);
         checkTextFieldValue(Properties.vvalue, 200);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(-1 * (Utils.isMacOS() ? -1 : 1));
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(-1 * (Utils.isMacOS() ? -1 : 1));
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1 * (Utils.isMacOS() ? -1 : 1));
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1 * (Utils.isMacOS() ? -1 : 1));
         checkTextFieldValue(Properties.vvalue, 200);
 
         setPropertyBySlider(SettingType.UNIDIRECTIONAL, Properties.vmax, 150);
@@ -109,6 +112,9 @@
     @Test(timeout = 300000)
     @Covers(value = {"javafx.scene.control.ScrollPane.vmin.DEFAULT", "javafx.scene.control.ScrollPane.vmin.GET"}, level = Level.FULL)
     public void checkVMinOptionTest() throws InterruptedException {
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         Assert.assertEquals((new ScrollPane()).vminProperty().getValue(), 0, commonComparePrecision);
 
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.vmin, -100);
@@ -117,17 +123,17 @@
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.vvalue, -100);
         checkTextFieldValue(Properties.vvalue, -100);
 
-        Wrap<? extends ScrollBar> sb1 = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
+        Wrap<? extends ScrollBar> sb1 = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
         sb1.as(AbstractScroll.class).to(1);
         checkTextFieldValue(Properties.vvalue, 1);
 
-        Wrap<? extends ScrollBar> sb2 = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
+        Wrap<? extends ScrollBar> sb2 = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
         sb2.as(AbstractScroll.class).to(-100);
         checkTextFieldValue(Properties.vvalue, -100);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1 * (Utils.isMacOS() ? -1 : 1));
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(+1 * (Utils.isMacOS() ? -1 : 1));
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(-1 * (Utils.isMacOS() ? -1 : 1));
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).mouse().turnWheel(-1 * (Utils.isMacOS() ? -1 : 1));
         checkTextFieldValue(Properties.vvalue, -100);
 
         setPropertyBySlider(SettingType.UNIDIRECTIONAL, Properties.vmin, -50);
@@ -141,6 +147,9 @@
     @Test(timeout = 300000)
     @Covers(value = {"javafx.scene.control.ScrollPane.hmax.DEFAULT", "javafx.scene.control.ScrollPane.hmax.GET"}, level = Level.FULL)
     public void checkHMaxOptionTest() throws InterruptedException {
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         Assert.assertEquals((new ScrollPane()).hmaxProperty().getValue(), 1, commonComparePrecision);
 
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.hmax, 200);
@@ -149,17 +158,17 @@
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.hvalue, 200);
         checkTextFieldValue(Properties.hvalue, 200);
 
-        Wrap<? extends ScrollBar> sb1 = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
+        Wrap<? extends ScrollBar> sb1 = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
         sb1.as(AbstractScroll.class).to(0);
         checkTextFieldValue(Properties.hvalue, 0);
 
-        Wrap<? extends ScrollBar> sb2 = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
+        Wrap<? extends ScrollBar> sb2 = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
         sb2.as(AbstractScroll.class).to(200);
         checkTextFieldValue(Properties.hvalue, 200);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(-1);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(-1);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+1);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+1);
         checkTextFieldValue(Properties.hvalue, 200);
 
         setPropertyBySlider(SettingType.UNIDIRECTIONAL, Properties.hmax, 150);
@@ -173,6 +182,9 @@
     @Test(timeout = 300000)
     @Covers(value = {"javafx.scene.control.ScrollPane.hmin.DEFAULT", "javafx.scene.control.ScrollPane.hmin.GET"}, level = Level.FULL)
     public void checkHMinOptionTest() throws InterruptedException {
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         Assert.assertEquals((new ScrollPane()).vminProperty().getValue(), 0, commonComparePrecision);
 
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.hmin, -100);
@@ -181,17 +193,17 @@
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.hvalue, -100);
         checkTextFieldValue(Properties.hvalue, -100);
 
-        Wrap<? extends ScrollBar> sb1 = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
+        Wrap<? extends ScrollBar> sb1 = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
         sb1.as(AbstractScroll.class).to(1);
         checkTextFieldValue(Properties.hvalue, 1);
 
-        Wrap<? extends ScrollBar> sb2 = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
+        Wrap<? extends ScrollBar> sb2 = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
         sb2.as(AbstractScroll.class).to(-100);
         checkTextFieldValue(Properties.hvalue, -100);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+1);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(+1);
 
-        findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(-1);
+        findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).mouse().turnWheel(-1);
         checkTextFieldValue(Properties.hvalue, -100);
 
         setPropertyBySlider(SettingType.UNIDIRECTIONAL, Properties.hmin, -50);
@@ -207,6 +219,9 @@
         Assert.assertEquals((new ScrollPane()).hvalueProperty().getValue(), 0, commonComparePrecision);
         Assert.assertEquals((new ScrollPane()).vvalueProperty().getValue(), 0, commonComparePrecision);
 
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.hvalue, 200);
         checkTextFieldValue(Properties.hvalue, 1);
 
@@ -228,11 +243,11 @@
 
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefViewportHeight, 150);
         checkTextFieldValue(Properties.prefViewportHeight, 150);
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);
 
         setPropertyBySlider(SettingType.UNIDIRECTIONAL, Properties.prefViewportHeight, 230);
         checkTextFieldValue(Properties.prefViewportHeight, 230);
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
     }
 
     /**
@@ -246,11 +261,11 @@
 
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefViewportWidth, 150);
         checkTextFieldValue(Properties.prefViewportWidth, 150);
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);
 
         setPropertyBySlider(SettingType.UNIDIRECTIONAL, Properties.prefViewportWidth, 230);
         checkTextFieldValue(Properties.prefViewportWidth, 230);
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, false) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, false) == null);
     }
 
     @Test(timeout = 300000)
@@ -321,8 +336,8 @@
     };
 
     private void checkScrollbarsVisibility(boolean horizontalVisible, boolean verticalVisible) {
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, horizontalVisible) == null);
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, verticalVisible) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, horizontalVisible) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, verticalVisible) == null);
     }
 
     @Smoke
@@ -372,7 +387,7 @@
                             checkScrollbarsVisibility(true, true);
                             break;
                         case AS_NEEDED:
-                            checkScrollbarsVisibility(true, true);
+                            checkScrollbarsVisibility(false, false);
                             break;
                         case NEVER:
                             checkScrollbarsVisibility(false, false);
@@ -402,6 +417,9 @@
     @ScreenshotCheck
     @Test(timeout = 300000)
     public void dynamicContentChangingTest() throws Throwable {
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         changeContent();
         //If content has really changed, button will be searchable.
         //If content didn't change, button won't be on scene.
@@ -443,8 +461,8 @@
             setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, size * 2);
             setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, size * 2);
 
-            Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);
-            Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);
+            Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);
+            Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);
 
             Point controlSize = new GetAction<Point>() {
                 @Override
@@ -460,8 +478,8 @@
                 }
             }.dispatch(Root.ROOT.getEnvironment(), testedControl.getControl());
 
-            double verticalScrollBarWidth = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).getScreenBounds().width;
-            double horizontalScrollBarHeight = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).getScreenBounds().height;
+            double verticalScrollBarWidth = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).getScreenBounds().width;
+            double horizontalScrollBarHeight = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).getScreenBounds().height;
 
             Assert.assertEquals(viewPortSize.x + verticalScrollBarWidth, controlSize.x, commonComparePrecision);
             Assert.assertEquals(viewPortSize.y + horizontalScrollBarHeight, controlSize.y, commonComparePrecision);
@@ -471,6 +489,9 @@
     @ScreenshotCheck
     @Test(timeout = 300000)
     public void whiteGapTest() throws InterruptedException, Throwable {
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.hmax, 200);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.hmin, 50);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.hvalue, 200);
@@ -489,6 +510,9 @@
     @ScreenshotCheck
     @Test(timeout = 300000)//RT-17350
     public void immediateHVBarPoliticApplyingTest() throws Throwable {
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         setPropertyByChoiceBox(SettingType.BIDIRECTIONAL, ScrollPane.ScrollBarPolicy.ALWAYS, Properties.hbarPolicy);
         setPropertyByChoiceBox(SettingType.BIDIRECTIONAL, ScrollPane.ScrollBarPolicy.NEVER, Properties.hbarPolicy);
 
@@ -531,6 +555,9 @@
     @ScreenshotCheck
     @Test(timeout = 300000)
     public void insideTraversalCheckTest() throws Throwable {
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, 100);
+        setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, 100);
+
         changeContent();
         clickContentButton();
 
@@ -562,14 +589,14 @@
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefViewportWidth, 201);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefViewportHeight, 201);
 
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, false) == null);
-        Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, false) == null);
+        Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);
 
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefViewportWidth, 200);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefViewportHeight, 200);
 
-        Assert.assertTrue(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) != null);
-        Assert.assertTrue(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) != null);
+        Assert.assertTrue(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) != null);
+        Assert.assertTrue(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) != null);
 
         currentSettingOption = temp;
     }
@@ -721,8 +748,8 @@
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefViewportHeight, 100);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefViewportWidth, 100);
 
-        Wrap<? extends ScrollBar> vertical = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
-        Wrap<? extends ScrollBar> horizontal = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
+        Wrap<? extends ScrollBar> vertical = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
+        Wrap<? extends ScrollBar> horizontal = findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
 
         ScrollingChecker scV = new ScrollingChecker(vertical.getControl().valueProperty());
         ScrollingChecker scH = new ScrollingChecker(horizontal.getControl().valueProperty());
@@ -765,8 +792,8 @@
             setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefHeight, size * 2);
             setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.prefWidth, size * 2);
 
-            Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);
-            Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);
+            Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);
+            Assert.assertFalse(findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);
 
             Bounds bounds = new GetAction<Bounds>() {
                 @Override
@@ -782,8 +809,8 @@
                 }
             }.dispatch(Root.ROOT.getEnvironment(), testedControl.getControl());
 
-            Assert.assertEquals(viewPortSize.x, bounds.getWidth() + findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).getScreenBounds().getWidth(), commonComparePrecision);
-            Assert.assertEquals(viewPortSize.y, bounds.getHeight() + findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).getScreenBounds().getHeight(), commonComparePrecision);
+            Assert.assertEquals(viewPortSize.x, bounds.getWidth() + findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true).getScreenBounds().getWidth(), commonComparePrecision);
+            Assert.assertEquals(viewPortSize.y, bounds.getHeight() + findScrollBar((Parent<Node>) testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true).getScreenBounds().getHeight(), commonComparePrecision);
         }
     }
 
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/cell/CellsTestBase.java b/functional/ControlsTests/test/javafx/scene/control/test/cell/CellsTestBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/cell/CellsTestBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/cell/CellsTestBase.java
@@ -26,11 +26,9 @@
 
 import client.test.Smoke;
 import com.sun.glass.ui.Application;
-import com.sun.javafx.scene.control.skin.LabeledText;
+import com.sun.javafx.scene.control.LabeledText;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import javafx.collections.ObservableList;
 import javafx.scene.Node;
 import javafx.scene.Scene;
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/cell/TableCellsTest.java b/functional/ControlsTests/test/javafx/scene/control/test/cell/TableCellsTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/cell/TableCellsTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/cell/TableCellsTest.java
@@ -25,7 +25,7 @@
 package javafx.scene.control.test.cell;
 
 import client.test.Smoke;
-import com.sun.javafx.scene.control.skin.LabeledText;
+import com.sun.javafx.scene.control.LabeledText;
 import java.util.Map;
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
@@ -155,4 +155,4 @@
             }
         }.dispatch(testedControl.getEnvironment());
     }
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/choicebox/ChoiceTest.java b/functional/ControlsTests/test/javafx/scene/control/test/choicebox/ChoiceTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/choicebox/ChoiceTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/choicebox/ChoiceTest.java
@@ -26,7 +26,7 @@
 
 import client.test.ScreenshotCheck;
 import client.test.Smoke;
-import com.sun.javafx.scene.control.skin.LabeledText;
+import com.sun.javafx.scene.control.LabeledText;
 import javafx.collections.ObservableList;
 import javafx.commons.SortValidator;
 import javafx.scene.Node;
@@ -358,4 +358,4 @@
             checkScreenshot("ChoiceBox-selection" + (i + 1), testPane);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/combobox/ComboBoxTest.java b/functional/ControlsTests/test/javafx/scene/control/test/combobox/ComboBoxTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/combobox/ComboBoxTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/combobox/ComboBoxTest.java
@@ -33,6 +33,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import javafx.beans.value.ObservableValue;
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
 import javafx.commons.SortValidator;
@@ -61,6 +62,7 @@
 import javafx.util.Callback;
 import javafx.util.StringConverter;
 import javafx.util.converter.FormatStringConverter;
+import org.jemmy.Point;
 import org.jemmy.action.GetAction;
 import org.jemmy.control.Wrap;
 import org.jemmy.fx.ByStyleClass;
@@ -88,8 +90,6 @@
 /**
  * @author Alexander Kirov
  *
- * Specification:
- * http://xdesign.us.oracle.com/projects/javaFX/fxcontrols-ue/specifications/combobox/combobox.html
  */
 @RunWith(FilteredTestRunner.class)
 public class ComboBoxTest extends TestBase {
@@ -163,13 +163,19 @@
 
         testedControl.mouse().press();
 
-        checkTextFieldText(Properties.armed, "false");
+        checkTextFieldText(Properties.armed, "true");
         checkTextFieldText(Properties.showing, "false");
 
         testedControl.mouse().release();
 
         checkTextFieldText(Properties.armed, "false");
         checkTextFieldText(Properties.showing, "false");
+
+        testedControl.mouse().press();
+        org.jemmy.Rectangle bounds = testedControl.getScreenBounds();
+        testedControl.mouse().move(new Point(bounds.getWidth() + 5, testedControl.getScreenBounds().getHeight() + 5));
+
+        checkTextFieldText(Properties.armed, "false");
     }
 
     @Smoke
@@ -219,7 +225,7 @@
     @ScreenshotCheck
     @Test(timeout = 300000)//RT-19225
     public void promptPropertyTest() throws Throwable {
-        assertEquals((new ComboBox()).promptTextProperty().getValue(), "");
+        assertEquals((new ComboBox()).promptTextProperty().getValue(), null);
 
         //move focus from control. otherwise, we will not see prompt.
         requestFocusOnControl(testedControl);
@@ -335,7 +341,7 @@
         addElement(element3, 2);
         testedControl.as(Selectable.class).selector().select(element3);
         checkSimpleListenerValue(Properties.selectedItem, element3);
-        assertEquals(getTextFieldText(), TO_STRING_PREFIX + "1");
+        assertEquals(getTextFieldText(), TO_STRING_PREFIX + "3");
 
         setPropertyByToggleClick(SettingType.BIDIRECTIONAL, Properties.editable);
         testedControl.as(Selectable.class).selector().select(element2);
@@ -423,13 +429,13 @@
         testedControl.mouse().click();
 
         testedControl.keyboard().pushKey(KeyboardButtons.A);
+        checkCounterValue(ON_ACTION_EVENT_COUNTER_ID, 3);
+        testedControl.keyboard().pushKey(KeyboardButtons.ENTER);
         checkCounterValue(ON_ACTION_EVENT_COUNTER_ID, 4);
-        testedControl.keyboard().pushKey(KeyboardButtons.ENTER);
-        checkCounterValue(ON_ACTION_EVENT_COUNTER_ID, 5);
         setPropertyByTextField(SettingType.BIDIRECTIONAL, Properties.value, NEW_VALUE_1);
-        checkCounterValue(ON_ACTION_EVENT_COUNTER_ID, 7);
+        checkCounterValue(ON_ACTION_EVENT_COUNTER_ID, 6);
         setPropertyByTextField(SettingType.UNIDIRECTIONAL, Properties.value, NEW_VALUE_2);
-        checkCounterValue(ON_ACTION_EVENT_COUNTER_ID, 9);
+        checkCounterValue(ON_ACTION_EVENT_COUNTER_ID, 8);
     }
 
     @Smoke
@@ -641,7 +647,9 @@
         addElements(1, 2, 3, 4, 5, 6);
         setPropertyBySlider(SettingType.BIDIRECTIONAL, Properties.visibleRowCount, 5);
         clickDropDownButton();
-        Wrap<? extends ScrollBar> sb = findScrollBar(((Wrap<? extends ListView>) getPopupWrap().as(Parent.class, Node.class).lookup(ListView.class).wrap()).as(Parent.class, Node.class), Orientation.VERTICAL, true);
+        Wrap<? extends ScrollBar> sb = findScrollBar(
+                ((Parent<Node>) ((Wrap<? extends ListView>) ((Parent<Node>) getPopupWrap().as(Parent.class, Node.class))
+                .lookup(ListView.class).wrap()).as(Parent.class, Node.class)), Orientation.VERTICAL, true);
         sb.as(AbstractScroll.class).caret().to(1);
         checkTextFieldText(Properties.showing, "true");
         testedControl.as(Selectable.class).selector().select("6");
@@ -699,12 +707,12 @@
         checkSelectionState(5, 6);
         assertEquals(getTextFieldText(), "6");
         checkTextFieldText(Properties.value, "6");
+        checkSimpleListenerValue(Properties.selectedIndex, 5);
 
         testedControl.mouse().click();
         testedControl.as(Text.class).type("abc");
         testedControl.keyboard().pushKey(KeyboardButtons.ENTER);
 
-        checkSimpleListenerValue(Properties.selectedIndex, 5);
         checkSimpleListenerValue(Properties.selectedItem, "6abc");
         checkTextFieldText(Properties.value, "6abc");
 
@@ -1273,8 +1281,6 @@
                 setPropertyByToggleClick(SettingType.UNIDIRECTIONAL, Properties.editable);
             }
 
-            Wrap<? extends javafx.scene.text.Text> textFieldWrap = testedControl.as(Parent.class, Node.class)
-                    .lookup(javafx.scene.text.Text.class).wrap();
             final double initialButtonHeight = testedControl.getScreenBounds().getHeight();
             double prevCellTextHeight = 0f;
 
@@ -1287,6 +1293,8 @@
                 assertEquals(initialButtonHeight, testedControl.getScreenBounds().getHeight(), 0.001);
 
                 /* text node should be alwas rendered inside ComboBox button */
+                Wrap<? extends javafx.scene.text.Text> textFieldWrap = testedControl.as(Parent.class, Node.class)
+                    .lookup(javafx.scene.text.Text.class).wrap();
                 assertTrue(textFieldWrap.getScreenBounds().getY() >= testedControl.getScreenBounds().getY());
                 assertTrue(textFieldWrap.getScreenBounds().getY() + textFieldWrap.getScreenBounds().getHeight()
                         <= testedControl.getScreenBounds().getY() + testedControl.getScreenBounds().getHeight());
@@ -1422,7 +1430,7 @@
 
         testedControl.keyboard().pushKey(KeyboardButtons.ENTER);
 
-        checkTextFieldText(Properties.value, FROM_STRING_PREFIX + "1");
+        checkTextFieldText(Properties.value, FROM_STRING_PREFIX);
     }
 
     /**
@@ -1647,4 +1655,4 @@
             clickDropDownButton();
         }
     }
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/combobox/TestBase.java b/functional/ControlsTests/test/javafx/scene/control/test/combobox/TestBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/combobox/TestBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/combobox/TestBase.java
@@ -245,7 +245,8 @@
     protected void checkScrollBarVisibility(boolean visible) throws InterruptedException {
         Wrap<? extends Scene> popup = getPopupWrap();
         if (popup != null) {
-            Assert.assertTrue(findScrollBar(((Wrap<? extends ListView>) popup.as(Parent.class, Node.class).lookup(ListView.class).wrap()).as(Parent.class, Node.class), Orientation.VERTICAL, visible) != null);
+            Assert.assertTrue(findScrollBar(((Parent<Node>) ((Wrap<? extends ListView>) ((Parent<Node>) popup.as(Parent.class, Node.class))
+                    .lookup(ListView.class).wrap()).as(Parent.class, Node.class)), Orientation.VERTICAL, visible) != null);
         }
     }
 
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/datepicker/ChronologiesTest.java b/functional/ControlsTests/test/javafx/scene/control/test/datepicker/ChronologiesTest.java
deleted file mode 100644
--- a/functional/ControlsTests/test/javafx/scene/control/test/datepicker/ChronologiesTest.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package javafx.scene.control.test.datepicker;
-
-import java.time.chrono.Chronology;
-import java.util.HashMap;
-import javafx.scene.Node;
-import javafx.scene.control.test.utils.ptables.AbstractPropertyController.SettingType;
-import org.jemmy.Point;
-import org.jemmy.fx.control.TextInputControlDock;
-import org.jemmy.interfaces.Keyboard.KeyboardButtons;
-import org.jemmy.interfaces.Parent;
-import static org.junit.Assert.fail;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import test.javaclient.shared.FilteredTestRunner;
-
-/**
- *
- * @author Dmitry Zinkevich
- */
-@RunWith(FilteredTestRunner.class)
-public class ChronologiesTest extends TestBase {
-    /**
-     * Checks initial appearance of the DateChooser
-     * with predefined date using ISO chronology.
-     */
-    @Test(timeout = 10000)
-    public void initialPopupAppearanceISO() throws Throwable {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ISO"));
-        setDefaultDate();
-        showPopup();
-
-        checkScreenshot("DatePicker-initialPopupISO", getRootWrap(getPopupWrap()));
-        throwScreenshotError();
-    }
-
-    /**
-     * Checks initial appearance of the DateChooser
-     * with predefined date using Minguo chronology.
-     */
-    @Test(timeout = 10000)
-    public void initialPopupAppearanceMinguo() throws Throwable {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Minguo"));
-        setDefaultDate();
-        showPopup();
-
-        checkScreenshot("DatePicker-initialPopupMinguo", getRootWrap(getPopupWrap()));
-        throwScreenshotError();
-    }
-
-    /**
-     * Checks initial appearance of the DateChooser
-     * with predefined date using ThaiBuddhist chronology.
-     */
-    @Test(timeout = 10000)
-    public void initialPopupAppearanceThaiBuddhist() throws Throwable {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ThaiBuddhist"));
-        setDefaultDate();
-        showPopup();
-
-        checkScreenshot("DatePicker-initialPopupThaiBuddhist", getRootWrap(getPopupWrap()));
-        throwScreenshotError();
-    }
-
-    /**
-     * Checks initial appearance of the DateChooser
-     * with predefined date using Japanese chronology.
-     */
-    @Test(timeout = 10000)
-    public void initialPopupAppearanceJapanese() throws Throwable {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Japanese"));
-        setDefaultDate();
-        showPopup();
-
-        checkScreenshot("DatePicker-initialPopupJapanese", getRootWrap(getPopupWrap()));
-        throwScreenshotError();
-    }
-
-    /**
-     * Checks initial appearance of the DateChooser
-     * with predefined date using Hijrah-umalqura chronology.
-     */
-    @Test(timeout = 10000)
-    public void initialPopupAppearanceHijrahUmalqura() throws Throwable {
-        final Chronology chronology = Chronology.of("Hijrah-umalqura");
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, chronology);
-        setDefaultDate();
-        showPopup();
-        checkScreenshot("DatePicker-initialPopupHijrahUmalqura", getRootWrap(getPopupWrap()));
-        throwScreenshotError();
-    }
-
-    /**
-     * Checks that DateField shows correct date representation
-     * according using ISO chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateRepresentationISO() {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ISO"));
-        setDefaultDate();
-        waitShownText("10/11/1990");
-    }
-
-    /**
-     * Checks that DateField shows correct date representation
-     * according using Minguo chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateRepresentationMinguo() {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Minguo"));
-        setDefaultDate();
-        waitShownText("10/11/0079 1");
-    }
-
-    /**
-     * Checks that DateField shows correct date representation
-     * according using Thai Buddhist chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateRepresentationThaiBuddhist() {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ThaiBuddhist"));
-        setDefaultDate();
-        waitShownText("10/11/2533 B.E.");
-    }
-
-    /**
-     * Checks that DateField shows correct date representation
-     * according using Japanese chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateRepresentationJapanese() {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Japanese"));
-        setDefaultDate();
-        waitShownText("10/11/0002 H");
-    }
-
-    /**
-     * Checks that DateField shows correct date representation
-     * according using Hijrah-umalqura chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateRepresentationHijrahUmalqura() {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Hijrah-umalqura"));
-        setDefaultDate();
-        waitShownText("3/21/1411 AH");
-    }
-
-    /**
-     * Test checks that after typing
-     * a correct date in the DateField the DateChooser will render
-     * it correctly.
-     * Using ISO chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateTypingISO() throws InterruptedException {
-        HashMap<String, String> expectedState = new HashMap<String, String>(3);
-        expectedState.put("selectedDay", "29");
-        expectedState.put("monthName", "february");
-        expectedState.put("year", "2012");
-        checkTypedDate(Chronology.of("ISO"), expectedState, "2/29/2012");
-    }
-
-    /**
-     * Test checks that after typing
-     * a correct date in the DateField the DateChooser will render
-     * it correctly.
-     * Using Minguo chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateTypingMinguo() throws InterruptedException {
-        HashMap<String, String> expectedState = new HashMap<String, String>(3);
-        expectedState.put("selectedDay", "29");
-        expectedState.put("monthName", "february");
-        expectedState.put("year", "101");
-        checkTypedDate(Chronology.of("Minguo"), expectedState, "2/29/0101 1");
-    }
-
-    /**
-     * Test checks that after typing
-     * a correct date in the DateField the DateChooser will render
-     * it correctly.
-     * Using ThaiBuddhist chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateTypingThaiBuddhist() throws InterruptedException {
-        HashMap<String, String> expectedState = new HashMap<String, String>(3);
-        expectedState.put("selectedDay", "29");
-        expectedState.put("monthName", "february");
-        expectedState.put("year", "2555");
-        checkTypedDate(Chronology.of("ThaiBuddhist"), expectedState, "2/29/2555 B.E.");
-    }
-
-    /**
-     * Test checks that after typing
-     * a correct date in the DateField the DateChooser will render
-     * it correctly.
-     * Using Japanese chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateTypingJapanese() throws InterruptedException {
-        HashMap<String, String> expectedState = new HashMap<String, String>(3);
-        expectedState.put("selectedDay", "29");
-        expectedState.put("monthName", "february");
-        expectedState.put("year", "Heisei24");
-        checkTypedDate(Chronology.of("Japanese"), expectedState, "2/29/0024 H");
-    }
-
-    /**
-     * Test checks that after typing
-     * a correct date in the DateField the DateChooser will render
-     * it correctly.
-     * Using Hijrah-umalqura chronology.
-     */
-    @Test(timeout = 10000)
-    public void dateTypingHijrahUmalqura() throws InterruptedException {
-        HashMap<String, String> expectedState = new HashMap<String, String>(3);
-        expectedState.put("selectedDay", "29");
-        expectedState.put("monthName", "february");
-        expectedState.put("year", "2012");
-        checkTypedDate(Chronology.of("Hijrah-umalqura"), expectedState, "4/7/1433 AH");
-    }
-
-    public void checkTypedDate(Chronology chronology, HashMap<String, String> expectedState, String date) throws InterruptedException {
-        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, chronology);
-        TextInputControlDock  in = new TextInputControlDock(testedControl.as(Parent.class, Node.class));
-        in.type(date);
-        in.keyboard().pushKey(KeyboardButtons.ENTER);
-        waitShownText(date);
-
-        clickDropDownButton();
-        waitPopupShowingState(true);
-
-        PopupSceneDescription description = new PopupSceneDescription();
-        description.extractData();
-
-        testedControl.waitState(new DateState(expectedState, description));
-        //Close pop up
-        scene.mouse().click(1, new Point(2, 2));
-    }
-}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/datepicker/ChronologiesTest.java.excluded b/functional/ControlsTests/test/javafx/scene/control/test/datepicker/ChronologiesTest.java.excluded
new file mode 100644
--- /dev/null
+++ b/functional/ControlsTests/test/javafx/scene/control/test/datepicker/ChronologiesTest.java.excluded
@@ -0,0 +1,263 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javafx.scene.control.test.datepicker;
+
+import java.time.chrono.Chronology;
+import java.util.HashMap;
+import javafx.scene.Node;
+import javafx.scene.control.test.utils.ptables.AbstractPropertyController.SettingType;
+import org.jemmy.Point;
+import org.jemmy.fx.control.TextInputControlDock;
+import org.jemmy.interfaces.Keyboard.KeyboardButtons;
+import org.jemmy.interfaces.Parent;
+import static org.junit.Assert.fail;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import test.javaclient.shared.FilteredTestRunner;
+
+/**
+ *
+ * @author Dmitry Zinkevich
+ */
+@RunWith(FilteredTestRunner.class)
+public class ChronologiesTest extends TestBase {
+    /**
+     * Checks initial appearance of the DateChooser
+     * with predefined date using ISO chronology.
+     */
+    @Test(timeout = 10000)
+    public void initialPopupAppearanceISO() throws Throwable {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ISO"));
+        setDefaultDate();
+        showPopup();
+
+        checkScreenshot("DatePicker-initialPopupISO", getRootWrap(getPopupWrap()));
+        throwScreenshotError();
+    }
+
+    /**
+     * Checks initial appearance of the DateChooser
+     * with predefined date using Minguo chronology.
+     */
+    @Test(timeout = 10000)
+    public void initialPopupAppearanceMinguo() throws Throwable {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Minguo"));
+        setDefaultDate();
+        showPopup();
+
+        checkScreenshot("DatePicker-initialPopupMinguo", getRootWrap(getPopupWrap()));
+        throwScreenshotError();
+    }
+
+    /**
+     * Checks initial appearance of the DateChooser
+     * with predefined date using ThaiBuddhist chronology.
+     */
+    @Test(timeout = 10000)
+    public void initialPopupAppearanceThaiBuddhist() throws Throwable {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ThaiBuddhist"));
+        setDefaultDate();
+        showPopup();
+
+        checkScreenshot("DatePicker-initialPopupThaiBuddhist", getRootWrap(getPopupWrap()));
+        throwScreenshotError();
+    }
+
+    /**
+     * Checks initial appearance of the DateChooser
+     * with predefined date using Japanese chronology.
+     */
+    @Test(timeout = 10000)
+    public void initialPopupAppearanceJapanese() throws Throwable {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Japanese"));
+        setDefaultDate();
+        showPopup();
+
+        checkScreenshot("DatePicker-initialPopupJapanese", getRootWrap(getPopupWrap()));
+        throwScreenshotError();
+    }
+
+    /**
+     * Checks initial appearance of the DateChooser
+     * with predefined date using Hijrah-umalqura chronology.
+     */
+    @Test(timeout = 10000)
+    public void initialPopupAppearanceHijrahUmalqura() throws Throwable {
+        final Chronology chronology = Chronology.of("Hijrah-umalqura");
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, chronology);
+        setDefaultDate();
+        showPopup();
+        checkScreenshot("DatePicker-initialPopupHijrahUmalqura", getRootWrap(getPopupWrap()));
+        throwScreenshotError();
+    }
+
+    /**
+     * Checks that DateField shows correct date representation
+     * according using ISO chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateRepresentationISO() {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ISO"));
+        setDefaultDate();
+        waitShownText("10/11/1990");
+    }
+
+    /**
+     * Checks that DateField shows correct date representation
+     * according using Minguo chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateRepresentationMinguo() {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Minguo"));
+        setDefaultDate();
+        waitShownText("10/11/0079 1");
+    }
+
+    /**
+     * Checks that DateField shows correct date representation
+     * according using Thai Buddhist chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateRepresentationThaiBuddhist() {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ThaiBuddhist"));
+        setDefaultDate();
+        waitShownText("10/11/2533 B.E.");
+    }
+
+    /**
+     * Checks that DateField shows correct date representation
+     * according using Japanese chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateRepresentationJapanese() {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Japanese"));
+        setDefaultDate();
+        waitShownText("10/11/0002 H");
+    }
+
+    /**
+     * Checks that DateField shows correct date representation
+     * according using Hijrah-umalqura chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateRepresentationHijrahUmalqura() {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("Hijrah-umalqura"));
+        setDefaultDate();
+        waitShownText("3/21/1411 AH");
+    }
+
+    /**
+     * Test checks that after typing
+     * a correct date in the DateField the DateChooser will render
+     * it correctly.
+     * Using ISO chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateTypingISO() throws InterruptedException {
+        HashMap<String, String> expectedState = new HashMap<String, String>(3);
+        expectedState.put("selectedDay", "29");
+        expectedState.put("monthName", "february");
+        expectedState.put("year", "2012");
+        checkTypedDate(Chronology.of("ISO"), expectedState, "2/29/2012");
+    }
+
+    /**
+     * Test checks that after typing
+     * a correct date in the DateField the DateChooser will render
+     * it correctly.
+     * Using Minguo chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateTypingMinguo() throws InterruptedException {
+        HashMap<String, String> expectedState = new HashMap<String, String>(3);
+        expectedState.put("selectedDay", "29");
+        expectedState.put("monthName", "february");
+        expectedState.put("year", "101");
+        checkTypedDate(Chronology.of("Minguo"), expectedState, "2/29/0101 1");
+    }
+
+    /**
+     * Test checks that after typing
+     * a correct date in the DateField the DateChooser will render
+     * it correctly.
+     * Using ThaiBuddhist chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateTypingThaiBuddhist() throws InterruptedException {
+        HashMap<String, String> expectedState = new HashMap<String, String>(3);
+        expectedState.put("selectedDay", "29");
+        expectedState.put("monthName", "february");
+        expectedState.put("year", "2555");
+        checkTypedDate(Chronology.of("ThaiBuddhist"), expectedState, "2/29/2555 B.E.");
+    }
+
+    /**
+     * Test checks that after typing
+     * a correct date in the DateField the DateChooser will render
+     * it correctly.
+     * Using Japanese chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateTypingJapanese() throws InterruptedException {
+        HashMap<String, String> expectedState = new HashMap<String, String>(3);
+        expectedState.put("selectedDay", "29");
+        expectedState.put("monthName", "february");
+        expectedState.put("year", "Heisei24");
+        checkTypedDate(Chronology.of("Japanese"), expectedState, "2/29/0024 H");
+    }
+
+    /**
+     * Test checks that after typing
+     * a correct date in the DateField the DateChooser will render
+     * it correctly.
+     * Using Hijrah-umalqura chronology.
+     */
+    @Test(timeout = 10000)
+    public void dateTypingHijrahUmalqura() throws InterruptedException {
+        HashMap<String, String> expectedState = new HashMap<String, String>(3);
+        expectedState.put("selectedDay", "29");
+        expectedState.put("monthName", "february");
+        expectedState.put("year", "2012");
+        checkTypedDate(Chronology.of("Hijrah-umalqura"), expectedState, "4/7/1433 AH");
+    }
+
+    public void checkTypedDate(Chronology chronology, HashMap<String, String> expectedState, String date) throws InterruptedException {
+        selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, chronology);
+        TextInputControlDock  in = new TextInputControlDock(testedControl.as(Parent.class, Node.class));
+        in.type(date);
+        in.keyboard().pushKey(KeyboardButtons.ENTER);
+        waitShownText(date);
+
+        clickDropDownButton();
+        waitPopupShowingState(true);
+
+        PopupSceneDescription description = new PopupSceneDescription();
+        description.extractData();
+
+        testedControl.waitState(new DateState(expectedState, description));
+        //Close pop up
+        scene.mouse().click(1, new Point(2, 2));
+    }
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/datepicker/DatePickerTest.java b/functional/ControlsTests/test/javafx/scene/control/test/datepicker/DatePickerTest.java
deleted file mode 100644
--- a/functional/ControlsTests/test/javafx/scene/control/test/datepicker/DatePickerTest.java
+++ /dev/null
@@ -1,717 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package javafx.scene.control.test.datepicker;
-
-import java.time.LocalDate;
-import java.time.Month;
-import java.time.chrono.Chronology;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javafx.scene.Node;
-import javafx.scene.control.DateCell;
-import javafx.scene.control.DatePicker;
-import javafx.scene.control.TextInputControl;
-import javafx.scene.control.test.datepicker.DatePickerApp.DummyConverter;
-import javafx.scene.control.test.datepicker.DatePickerApp.LocalDateConverter;
-import javafx.scene.control.test.datepicker.DatePickerApp.WorkingDays;
-import static javafx.scene.control.test.datepicker.TestBase.testedControl;
-import javafx.scene.control.test.util.PropertyTest;
-import javafx.scene.control.test.utils.ptables.AbstractPropertyController.SettingType;
-import javafx.util.Callback;
-import javafx.util.StringConverter;
-import org.jemmy.Point;
-import org.jemmy.action.GetAction;
-import org.jemmy.control.Wrap;
-import org.jemmy.fx.ByStyleClass;
-import org.jemmy.fx.control.TextInputControlDock;
-import org.jemmy.interfaces.Keyboard.KeyboardButton;
-import org.jemmy.interfaces.Keyboard.KeyboardButtons;
-import org.jemmy.interfaces.Keyboard.KeyboardModifiers;
-import org.jemmy.interfaces.Modifier;
-import org.jemmy.interfaces.Parent;
-import org.jemmy.timing.State;
-import static org.junit.Assert.*;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import test.javaclient.shared.FilteredTestRunner;
-
-/**
- * @author Alexander Kirov, Dmitry Zinkevich
- *
- * @see <a href="http://xdesign.us.oracle.com/projects/javaFX/fxcontrols-ue/specifications/DatePicker/datepicker-UEspec.html">specification</a>
- */
-@RunWith(FilteredTestRunner.class)
-public class DatePickerTest extends TestBase {
-    Double width;
-
-    void checkFinalState() {
-        checkTextFieldValue(Properties.width, width.doubleValue());
-        defaultController.check();
-    }
-
-    void rememberInitialState(Enum... excludePropertiesList) {
-        width = new GetAction<Double>() {
-            @Override
-            public void run(Object... parameters) throws Exception {
-                setResult(Double.valueOf(testedControl.getControl().getWidth()));
-            }
-        }.dispatch(testedControl.getEnvironment());
-
-        initChangingController(parent);
-        defaultController.include().allTables().allProperties().allCounters().apply();
-        defaultController.exclude().allTables().properties(excludePropertiesList).apply();
-        defaultController.fixCurrentState();
-    }
-
-    /**
-     * Checks that week numbers have been rendered.
-     */
-    @Test(timeout = 10000)
-    public void weekNumbersScreenshotTest() throws Throwable {
-        setDate(LocalDate.of(1990, Month.OCTOBER, 11));
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-        setPropertyByToggleClick(SettingType.SETTER, Properties.showWeekNumbers, Boolean.TRUE);
-        showPopup();
-
-        checkFinalState();
-
-        checkScreenshot("DatePicker-weekNumbers", getRootWrap(getPopupWrap()));
-        throwScreenshotError();
-    }
-
-    /**
-     * Checks that the current date is shown by default in the DateChooser.
-     */
-    @Test(timeout = 10000)
-    public void currentDateShownTest() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-        clickDropDownButton();
-        waitPopupShowingState(true);
-
-        PopupSceneDescription description = new PopupSceneDescription();
-        final PopupInfoDescription infoDescription = description.getInfoDescription();
-        LocalDate now = LocalDate.now();
-
-        assertEquals(Integer.parseInt(infoDescription.year), now.getYear());
-        assertEquals(infoDescription.monthName.toLowerCase(), now.getMonth().toString().toLowerCase());
-        assertEquals(infoDescription.today.mainDate, now.getDayOfMonth());
-
-        boolean found = false;
-        for (DateCellDescription descriptionVar : infoDescription.currentMonthDays) {
-            if (descriptionVar.mainDate == now.getDayOfMonth()) {
-                found = true;
-            }
-        }
-        assertTrue(found);
-
-        checkFinalState();
-    }
-
-    /**
-     * Checks that previous month button works as expected.
-     */
-    @Test(timeout = 10000)
-    public void correctPreviousMonthTest() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-        clickDropDownButton();
-        waitPopupShowingState(true);
-
-        final PopupSceneDescription description = new PopupSceneDescription();
-        final PopupInfoDescription infoDescription = description.getInfoDescription();
-
-        final int initialDaysNum = description.currentMonthDays.size();
-
-        description.previousMonthWrap.mouse().click();
-
-        testedControl.waitState(new State() {
-            public Object reached() {
-                PopupInfoDescription infoDescription2 = null;
-                try {
-                    infoDescription2 = description.getInfoDescription();
-                } catch (InterruptedException ex) {
-                    Logger.getLogger(DatePickerTest.class.getName()).log(Level.SEVERE, null, ex);
-                }
-
-                if (Month.valueOf(infoDescription.monthName.toUpperCase()).minus(1).equals(Month.valueOf(infoDescription2.monthName.toUpperCase()))
-                    && (initialDaysNum != description.currentMonthDays.size()
-                        || infoDescription.monthName.equalsIgnoreCase("AUGUST")
-                        || infoDescription.monthName.equalsIgnoreCase("JANUARY"))) {
-                    return true;
-                } else {
-                    return null;
-                }
-            }
-        });
-
-        checkFinalState();
-    }
-
-    /**
-     * Checks that next month button works as expected.
-     */
-    @Test(timeout = 10000)
-    public void correctNextMonthTest() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-        clickDropDownButton();
-        waitPopupShowingState(true);
-
-        final PopupSceneDescription description = new PopupSceneDescription();
-        final PopupInfoDescription infoDescription = description.getInfoDescription();
-
-        final int initialDaysNum = description.currentMonthDays.size();
-
-        description.nextMonthWrap.mouse().click();
-
-        testedControl.waitState(new State() {
-            public Object reached() {
-                PopupInfoDescription infoDescription2 = null;
-                try {
-                    infoDescription2 = description.getInfoDescription();
-                } catch (InterruptedException ex) {
-                    Logger.getLogger(DatePickerTest.class.getName()).log(Level.SEVERE, null, ex);
-                }
-                if (Month.valueOf(infoDescription.monthName.toUpperCase()).plus(1).equals(Month.valueOf(infoDescription2.monthName.toUpperCase()))
-                    && (initialDaysNum != description.currentMonthDays.size()
-                        || infoDescription.monthName.equalsIgnoreCase("JULY")
-                        || infoDescription.monthName.equalsIgnoreCase("DECEMBER"))) {
-                    return true;
-                } else {
-                    return null;
-                }
-            }
-        });
-
-        checkFinalState();
-    }
-
-    /**
-     * Checks that arrows which increase/decrease year work correctly
-     */
-    @Test(timeout = 10000)
-    public void yearNavigationTest() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-        setDate(LocalDate.of(2012, 5, 9));
-        clickDropDownButton();
-
-        PopupSceneDescription description = new PopupSceneDescription();
-        description.extractData();
-        description.previousYearWrap.mouse().click();
-
-        HashMap<String, String> expectedState = new HashMap<String, String>(2);
-        expectedState.put("monthName", "May");
-        expectedState.put("year", "2011");
-        testedControl.waitState(new DateState(expectedState, description));
-
-        description.extractData(); description.currentMonthDays.get(30).mouse().click();
-        waitShownText("5/31/2011");
-
-        setDate(LocalDate.of(2012, 2, 29));
-        clickDropDownButton();
-        description = new PopupSceneDescription();
-        description.extractData(); description.nextYearWrap.mouse().click();
-        expectedState.put("monthName", "February");
-        expectedState.put("year", "2013");
-        testedControl.waitState(new DateState(expectedState, description));
-
-        description.extractData(); description.currentMonthDays.get(27).mouse().click();
-        waitShownText("2/28/2013");
-
-        checkFinalState();
-    }
-
-    /**
-     * Checks that when mouse clicks the first or the last cell
-     * in the DateChooser then the current month is set to the previous or
-     * to the next from current respectively.
-     */
-    @Test(timeout = 10000)
-    public void extremeDateCellsChangeCurrentMonth() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-        setDate(LocalDate.of(2000, 1, 27));
-        clickDropDownButton();
-
-        PopupSceneDescription description = new PopupSceneDescription();
-        description.extractData(); description.previousMonthDays.get(0).mouse().click();
-
-        HashMap<String, String> expectedState = new HashMap<String, String>(2);
-        expectedState.put("monthName", "December");
-        expectedState.put("year", "1999");
-        testedControl.waitState(new DateState(expectedState, description));
-
-        clickDropDownButton();
-        description.extractData(); description.currentMonthDays.get(30).mouse().click();
-        waitShownText("12/31/1999");
-
-        setDate(LocalDate.of(2019, 12, 20));
-        clickDropDownButton();
-
-        description = new PopupSceneDescription();
-        description.extractData(); description.nextMonthDays.get(description.nextMonthDays.size() - 1).mouse().click();
-        expectedState.put("monthName", "January");
-        expectedState.put("year", "2020");
-        testedControl.waitState(new DateState(expectedState, description));
-
-        clickDropDownButton();
-        description.extractData(); description.currentMonthDays.get(26).mouse().click();
-        waitShownText("1/27/2020");
-        checkFinalState();
-    }
-
-    /**
-     * Checks that when navigating in horizontal or vertical direction
-     * the switching between days and months occurs correctly.
-     * @see <a href=http://xdesign.us.oracle.com/projects/javaFX/fxcontrols-ue/specifications/DatePicker/datepicker-UEspec.html#navigation>navigation</a>
-     *
-     * Also, tests for month/year navigation, respectively Control+PgUp/Control+PgDn and PgUp/PgDn
-     * @see <a href="https://javafx-jira.kenai.com/browse/RT-32493">RT-32493</a> and <a href="https://javafx-jira.kenai.com/browse/RT-32492">RT-32492</a>
-     */
-    @Test(timeout = 20000)
-    public void keyboardNavigation() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-        setDate(LocalDate.of(2013, 01, 06));
-        clickDropDownButton();
-        waitPopupShowingState(true);
-
-        scene.keyboard().pushKey(KeyboardButtons.LEFT);
-        PopupSceneDescription description = new PopupSceneDescription();
-        description.extractData();
-
-        //Focus must be on 1/5/2013
-        description.currentMonthDays.get(4).waitProperty("isFocused", Boolean.TRUE);
-
-        for (int i = 0; i < 5; i++) scene.keyboard().pushKey(KeyboardButtons.LEFT);
-
-        //Expect switching to the previous month and year
-        HashMap<String, String> expectedState = new HashMap<String, String>(3);
-        expectedState.put("monthName", "december");
-        expectedState.put("year", "2012");
-        expectedState.put("focusedDay", "31");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-
-        //Expect to switch to the next month and year
-        scene.keyboard().pushKey(KeyboardButtons.DOWN);
-        expectedState.put("monthName", "january");
-        expectedState.put("year", "2013");
-        expectedState.put("focusedDay", "7");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-
-        for (int i = 0; i < 6; i++) scene.keyboard().pushKey(KeyboardButtons.RIGHT);
-
-        //Expect to move to the next week
-        expectedState.put("monthName", "january");
-        expectedState.put("year", "2013");
-        expectedState.put("focusedDay", "13");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-
-        for (int i = 0; i < 2; i++) scene.keyboard().pushKey(KeyboardButtons.DOWN);
-        for (int i = 0; i < 5; i++) scene.keyboard().pushKey(KeyboardButtons.RIGHT);
-
-        //Expect to move to the next month
-        expectedState.put("monthName", "february");
-        expectedState.put("year", "2013");
-        expectedState.put("focusedDay", "1");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-
-        scene.keyboard().pushKey(KeyboardButtons.RIGHT);
-        scene.keyboard().pushKey(KeyboardButtons.UP);
-
-        //Expect to move to the prev month
-        expectedState.put("monthName", "january");
-        expectedState.put("year", "2013");
-        expectedState.put("focusedDay", "26");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-
-        for (int i = 0; i < 3; ++i)
-            scene.keyboard().pushKey(KeyboardButtons.PAGE_DOWN, KeyboardModifiers.CTRL_DOWN_MASK);
-
-        //Expect to move forward in three years
-        expectedState.put("monthName", "january");
-        expectedState.put("year", "2016");
-        expectedState.put("focusedDay", "26");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-
-        scene.keyboard().pushKey(KeyboardButtons.PAGE_UP, KeyboardModifiers.CTRL_DOWN_MASK);
-
-        //Expect to move backward for one years
-        expectedState.put("monthName", "january");
-        expectedState.put("year", "2015");
-        expectedState.put("focusedDay", "26");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-
-        for (int i = 0; i < 4; ++i)
-            scene.keyboard().pushKey(KeyboardButtons.PAGE_UP);
-
-        //Expect to move backward for four months
-        expectedState.put("monthName", "september");
-        expectedState.put("year", "2014");
-        expectedState.put("focusedDay", "26");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-
-        for (int i = 0; i < 6; ++i)
-            scene.keyboard().pushKey(KeyboardButtons.PAGE_DOWN);
-
-        //Expect to move forward for six months
-        expectedState.put("monthName", "march");
-        expectedState.put("year", "2015");
-        expectedState.put("focusedDay", "26");
-        description.extractData();
-        testedControl.waitState(new DateState(expectedState, description));
-        checkFinalState();
-    }
-
-    /**
-     * Checks all possible ways to select a date with the keyboard.
-     */
-    @Test(timeout = 10000)
-    public void keyboardDateSelection() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-
-        clickDropDownButton();
-        waitPopupShowingState(true);
-
-        PopupSceneDescription description = new PopupSceneDescription();
-        description.extractData();
-        description.currentMonthDays.get(14).mouse().click();
-        waitPopupShowingState(false);
-        checkExpectedDate(LocalDate.now().withDayOfMonth(15));
-
-        clickDropDownButton();
-        scene.keyboard().pushKey(KeyboardButtons.DOWN);
-        scene.keyboard().pushKey(KeyboardButtons.SPACE);
-        checkExpectedDate(LocalDate.now().withDayOfMonth(22));
-
-        clickDropDownButton();
-        for (int i = 0; i < 2; i++) scene.keyboard().pushKey(KeyboardButtons.UP);
-        scene.keyboard().pushKey(KeyboardButtons.ENTER);
-        checkExpectedDate(LocalDate.now().withDayOfMonth(8));
-
-        clickDropDownButton();
-        scene.keyboard().pushKey(KeyboardButtons.DOWN);
-        scene.keyboard().pushKey(KeyboardButtons.ESCAPE);
-        checkExpectedDate(LocalDate.now().withDayOfMonth(8));
-
-        checkFinalState();
-    }
-
-    /**
-     * Check that after typing a correct date
-     * the DateChooser will also show it.
-     * First time the default converter is used which
-     * reads date in en_US format according to test default locale.
-     * The second time a custom converter is used in the format yyyy-MM-dd.
-     */
-    @Test(timeout = 20000)
-    public void customConverter() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-
-        final StringConverter converter = new DummyConverter();
-        setConverter(converter);
-        assertSame(converter, getConverter());
-        selectObjectFromChoiceBox(SettingType.UNIDIRECTIONAL, Properties.converter, null);
-
-        String dates[][] = {{"7/4/1776", "July", "4", "1776"}, {"1779-07-14", "July", "14", "1779"}};
-
-        TextInputControlDock text = new TextInputControlDock(parent, new ByStyleClass<TextInputControl>("date-picker-display-node"));
-        HashMap<String, String> expectedState = new HashMap<String, String>(3);
-
-        for (int i = 0; i < 2; i++) {
-            String[] dateParts = dates[i];
-            text.clear();
-            text.asSelectionText().type(dateParts[0]);
-            text.keyboard().pushKey(KeyboardButtons.ENTER);
-            waitShownText(dateParts[0]);
-
-            clickDropDownButton();
-            PopupSceneDescription description = new PopupSceneDescription();
-            description.extractData();
-
-            expectedState.put("monthName", dateParts[1]);
-            expectedState.put("selectedDay", dateParts[2]);
-            expectedState.put("year", dateParts[3]);
-
-            testedControl.waitState(new DateState(expectedState, description));
-
-            testedControl.keyboard().pushKey(KeyboardButtons.ESCAPE);
-            waitPopupShowingState(false);
-
-            //The second time test custom converter
-            selectObjectFromChoiceBox(SettingType.UNIDIRECTIONAL, Properties.converter, LocalDateConverter.class);
-        }
-        checkFinalState();
-    }
-
-    /**
-     * Checks that disabled DateCell can't be selected and
-     * that state doesn't change after.
-     */
-    @Test(timeout = 10000)
-    public void daysRestriction() throws InterruptedException {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-
-        final Callback<DatePicker, DateCell> dayCellFactory = new Callback<DatePicker, DateCell>() {
-            public DateCell call(DatePicker param) { return new DateCell(); }
-        };
-        setDayCellFactory(dayCellFactory);
-        assertSame(dayCellFactory, getDayCellFactory());
-
-        selectObjectFromChoiceBox(SettingType.BIDIRECTIONAL, Properties.dayCellFactory, WorkingDays.class);
-        setDate(LocalDate.of(2020, 10, 31));
-        clickDropDownButton();
-        waitPopupShowingState(true);
-
-        PopupSceneDescription description = new PopupSceneDescription();
-        description.extractData();
-        Wrap<? extends DateCell> cellWrap = description.currentMonthDays.get(24);
-        DateCellDescription cell = new DateCellDescription(cellWrap);
-        assertEquals("[Selected wrong day]", 25, cell.mainDate);
-
-        cellWrap.mouse().click();
-        waitPopupShowingState(true);
-
-        HashMap<String, String> expectedState = new HashMap<String, String>(2);
-        expectedState.put("selectedDay", "31");
-        expectedState.put("monthName", "October");
-        expectedState.put("year", "2020");
-        testedControl.waitState(new DateState(expectedState, description));
-        waitShownText("10/31/2020");
-
-        testedControl.keyboard().pushKey(KeyboardButtons.ESCAPE);
-        setDate(LocalDate.of(2020, Month.OCTOBER, 25));
-        checkFinalState();
-    }
-
-    /**
-     * Changes value of the property 'showWeekNumbers'
-     * and checks that DateChooser is rendered correctly.
-     * The value is set via api and via context menu.
-     */
-    @Test(timeout = 20000)
-    public void showWeekNumbersProperty() throws InterruptedException {
-        assertFalse(new GetAction<Boolean>() {
-            @Override public void run(Object... parameters) throws Exception {
-                setResult(new DatePicker().isShowWeekNumbers());
-            }
-        }.dispatch(testedControl.getEnvironment()).booleanValue());
-
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-
-        setDate(LocalDate.of(2013, Month.DECEMBER, 31));
-        for(SettingType settingType : SettingType.values()) {
-            System.out.format("Testing binding:%s\n", settingType.toString());
-            setPropertyByToggleClick(settingType, Properties.showWeekNumbers, Boolean.TRUE);
-
-            checkTextFieldText(Properties.showWeekNumbers, "true");
-
-            clickDropDownButton(); waitPopupShowingState(true);
-
-            PopupSceneDescription description = new PopupSceneDescription();
-            description.extractData();
-            assertEquals("[Incorrect count of week numbers]", 6, description.weeksNumbers.size());
-
-            description.weeksNumbers.sort(new Comparator<Wrap<? extends DateCell>>() {
-                public int compare(Wrap<? extends DateCell> o1, Wrap<? extends DateCell> o2) {
-                    return o1.getScreenBounds().y - o2.getScreenBounds().y;
-                }
-            });
-
-            Integer[] expectedNumbers = {49, 50, 51, 52, 1, 2};
-            assertEquals("[Weeks are not in correct order]", Arrays.asList(expectedNumbers), description.getInfoDescription().weekNumbers);
-
-            setPropertyByToggleClick(settingType, Properties.showWeekNumbers, Boolean.FALSE);
-
-            description.extractData();
-            assertEquals("[No week numbers expected]", 0, description.weeksNumbers.size());
-
-            scene.mouse().click(1, new Point(2, 2));
-            switchOffBinding(settingType, Properties.showWeekNumbers);
-        }
-        checkFinalState();
-    }
-
-    /**
-     * Checks bindings of the 'chronology' property.
-     */
-    @Test(timeout = 10000)
-    public void chronologyProperty() {
-        rememberInitialState();
-
-        final String PROPERTY_NAME = "ThaiBuddhist";
-        final Chronology CHRONOLOGY = Chronology.of(PROPERTY_NAME);
-        for(SettingType settingType : SettingType.values()) {
-            System.out.format("Testing binding:%s\n", settingType.toString());
-            selectObjectFromChoiceBox(settingType, Properties.chronology, CHRONOLOGY);
-
-            checkTextFieldText(Properties.chronology, PROPERTY_NAME);
-
-            switchOffBinding(settingType, Properties.chronology);
-            selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ISO"));
-        }
-        checkFinalState();
-    }
-
-    /**
-     * Check value of the 'showing' property.
-     */
-    @Test(timeout = 20000)
-    public void showingProperty() throws InterruptedException {
-        assertFalse(new GetAction<Boolean>() {
-            @Override public void run(Object... parameters) throws Exception {
-                setResult(new DatePicker().showingProperty().getValue());
-            }
-        }.dispatch(testedControl.getEnvironment()).booleanValue());
-
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-
-        clickDropDownButton();
-        waitPopupShowingState(true);
-
-        clickDropDownButton();
-        waitPopupShowingState(false);
-
-        testedControl.mouse().click();
-        waitPopupShowingState(false);
-
-        Object[][] keyCombinations = {
-            {KeyboardButtons.F4},
-            {KeyboardButtons.DOWN, KeyboardModifiers.ALT_DOWN_MASK},
-            {KeyboardButtons.UP, KeyboardModifiers.ALT_DOWN_MASK}
-        };
-
-        for(Object[] keyCombo : keyCombinations) {
-            System.out.println(Arrays.toString(keyCombo));
-            if (keyCombo.length == 1) {
-                testedControl.keyboard().pushKey((KeyboardButton) keyCombo[0]);
-            } else {
-                testedControl.keyboard().pushKey((KeyboardButton) keyCombo[0], (Modifier) keyCombo[1]);
-            }
-            waitPopupShowingState(true);
-            testedControl.keyboard().pushKey(KeyboardButtons.ESCAPE);
-            waitPopupShowingState(false);
-        }
-
-        checkFinalState();
-    }
-
-    /**
-     * Checks bindings of the 'editable' property.
-     */
-    @Test(timeout = 20000)
-    public void editableProperty() {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-        final LocalDate INITIAL_DATE = LocalDate.of(2041, Month.SEPTEMBER, 22);
-        final String INITIAL_DATE_TEXT = "9/22/2041";
-        final LocalDate TESTED_DATE = LocalDate.of(2000, Month.JANUARY, 1);
-        final String DATE_TEXT = "1/1/2000";
-
-        setDate(INITIAL_DATE);
-        waitShownText(INITIAL_DATE_TEXT);
-        setPropertyByToggleClick(SettingType.SETTER, Properties.editable, Boolean.FALSE);
-
-        //Test non editable state
-        TextInputControlDock input = new TextInputControlDock(testedControl.as(Parent.class, Node.class));
-        selectAllText(input);
-        assertEquals("[Text was not selected]", INITIAL_DATE_TEXT, input.asSelectionText().selection());
-        input.keyboard().pushKey(KeyboardButtons.A);
-        input.keyboard().pushKey(KeyboardButtons.ENTER);
-
-        waitShownText(INITIAL_DATE_TEXT);
-
-        for(SettingType settingType : SettingType.values()) {
-            System.out.format("Testing binding:%s\n", settingType.toString());
-            setPropertyByToggleClick(settingType, Properties.editable, Boolean.TRUE);
-
-            checkTextFieldText(Properties.editable, "true");
-
-            input = new TextInputControlDock(testedControl.as(Parent.class, Node.class));
-            selectAllText(input);
-            assertEquals("[Text was not selected]", INITIAL_DATE_TEXT, input.asSelectionText().selection());
-
-            input.type(DATE_TEXT);
-            input.keyboard().pushKey(KeyboardButtons.ENTER);
-            assertEquals("[Date was not typed]", TESTED_DATE, getDate());
-            waitShownText(DATE_TEXT);
-
-            switchOffBinding(settingType, Properties.editable);
-            setPropertyByToggleClick(SettingType.SETTER, Properties.editable, Boolean.FALSE);
-
-            //Restore initial state
-            setDate(INITIAL_DATE);
-            waitShownText(INITIAL_DATE_TEXT);
-        }
-        setPropertyByToggleClick(SettingType.SETTER, Properties.editable, Boolean.TRUE);
-        checkFinalState();
-    }
-
-    /**
-     * Check bindings of the 'prompt text' property
-     */
-    @Test(timeout = 10000)
-    public void promptTextProperty() {
-        rememberInitialState();
-        assertTrue("[Propmpt text is empty by default]", new GetAction<Boolean>() {
-            @Override public void run(Object... parameters) throws Exception {
-                setResult(new DatePicker().promptTextProperty().getValue().isEmpty());
-            }
-        }.dispatch(testedControl.getEnvironment()).booleanValue());
-
-        final String TESTED_TEXT = "MM_dd_YY";
-        final String DEFAULT_TEXT = "default";
-
-        for(SettingType settingType : SettingType.values()) {
-            System.out.format("Testing binding:%s\n", settingType.toString());
-
-            setPropertyByTextField(settingType, Properties.prompttext, TESTED_TEXT);
-            checkTextFieldText(Properties.prompttext, TESTED_TEXT);
-
-            switchOffBinding(settingType, Properties.prompttext);
-            setPropertyByTextField(SettingType.SETTER, Properties.prompttext, DEFAULT_TEXT);
-        }
-        checkFinalState();
-    }
-
-    /**
-     * Test that TextField returned by getEditor() method remains the same after
-     * changing editable property
-     */
-    @Test(timeout = 10000)
-    public void editorProperty() throws Throwable {
-        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
-
-        new PropertyTest.EditorPropertyTest(testedControl).test();
-
-        checkFinalState();
-    }
-};
\ No newline at end of file
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/datepicker/DatePickerTest.java.excluded b/functional/ControlsTests/test/javafx/scene/control/test/datepicker/DatePickerTest.java.excluded
new file mode 100644
--- /dev/null
+++ b/functional/ControlsTests/test/javafx/scene/control/test/datepicker/DatePickerTest.java.excluded
@@ -0,0 +1,715 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javafx.scene.control.test.datepicker;
+
+import java.time.LocalDate;
+import java.time.Month;
+import java.time.chrono.Chronology;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javafx.scene.Node;
+import javafx.scene.control.DateCell;
+import javafx.scene.control.DatePicker;
+import javafx.scene.control.TextInputControl;
+import javafx.scene.control.test.datepicker.DatePickerApp.DummyConverter;
+import javafx.scene.control.test.datepicker.DatePickerApp.LocalDateConverter;
+import javafx.scene.control.test.datepicker.DatePickerApp.WorkingDays;
+import static javafx.scene.control.test.datepicker.TestBase.testedControl;
+import javafx.scene.control.test.util.PropertyTest;
+import javafx.scene.control.test.utils.ptables.AbstractPropertyController.SettingType;
+import javafx.util.Callback;
+import javafx.util.StringConverter;
+import org.jemmy.Point;
+import org.jemmy.action.GetAction;
+import org.jemmy.control.Wrap;
+import org.jemmy.fx.ByStyleClass;
+import org.jemmy.fx.control.TextInputControlDock;
+import org.jemmy.interfaces.Keyboard.KeyboardButton;
+import org.jemmy.interfaces.Keyboard.KeyboardButtons;
+import org.jemmy.interfaces.Keyboard.KeyboardModifiers;
+import org.jemmy.interfaces.Modifier;
+import org.jemmy.interfaces.Parent;
+import org.jemmy.timing.State;
+import static org.junit.Assert.*;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import test.javaclient.shared.FilteredTestRunner;
+
+/**
+ * @author Alexander Kirov, Dmitry Zinkevich
+ *
+ */
+@RunWith(FilteredTestRunner.class)
+public class DatePickerTest extends TestBase {
+    Double width;
+
+    void checkFinalState() {
+        checkTextFieldValue(Properties.width, width.doubleValue());
+        defaultController.check();
+    }
+
+    void rememberInitialState(Enum... excludePropertiesList) {
+        width = new GetAction<Double>() {
+            @Override
+            public void run(Object... parameters) throws Exception {
+                setResult(Double.valueOf(testedControl.getControl().getWidth()));
+            }
+        }.dispatch(testedControl.getEnvironment());
+
+        initChangingController(parent);
+        defaultController.include().allTables().allProperties().allCounters().apply();
+        defaultController.exclude().allTables().properties(excludePropertiesList).apply();
+        defaultController.fixCurrentState();
+    }
+
+    /**
+     * Checks that week numbers have been rendered.
+     */
+    @Test(timeout = 10000)
+    public void weekNumbersScreenshotTest() throws Throwable {
+        setDate(LocalDate.of(1990, Month.OCTOBER, 11));
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+        setPropertyByToggleClick(SettingType.SETTER, Properties.showWeekNumbers, Boolean.TRUE);
+        showPopup();
+
+        checkFinalState();
+
+        checkScreenshot("DatePicker-weekNumbers", getRootWrap(getPopupWrap()));
+        throwScreenshotError();
+    }
+
+    /**
+     * Checks that the current date is shown by default in the DateChooser.
+     */
+    @Test(timeout = 10000)
+    public void currentDateShownTest() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+        clickDropDownButton();
+        waitPopupShowingState(true);
+
+        PopupSceneDescription description = new PopupSceneDescription();
+        final PopupInfoDescription infoDescription = description.getInfoDescription();
+        LocalDate now = LocalDate.now();
+
+        assertEquals(Integer.parseInt(infoDescription.year), now.getYear());
+        assertEquals(infoDescription.monthName.toLowerCase(), now.getMonth().toString().toLowerCase());
+        assertEquals(infoDescription.today.mainDate, now.getDayOfMonth());
+
+        boolean found = false;
+        for (DateCellDescription descriptionVar : infoDescription.currentMonthDays) {
+            if (descriptionVar.mainDate == now.getDayOfMonth()) {
+                found = true;
+            }
+        }
+        assertTrue(found);
+
+        checkFinalState();
+    }
+
+    /**
+     * Checks that previous month button works as expected.
+     */
+    @Test(timeout = 10000)
+    public void correctPreviousMonthTest() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+        clickDropDownButton();
+        waitPopupShowingState(true);
+
+        final PopupSceneDescription description = new PopupSceneDescription();
+        final PopupInfoDescription infoDescription = description.getInfoDescription();
+
+        final int initialDaysNum = description.currentMonthDays.size();
+
+        description.previousMonthWrap.mouse().click();
+
+        testedControl.waitState(new State() {
+            public Object reached() {
+                PopupInfoDescription infoDescription2 = null;
+                try {
+                    infoDescription2 = description.getInfoDescription();
+                } catch (InterruptedException ex) {
+                    Logger.getLogger(DatePickerTest.class.getName()).log(Level.SEVERE, null, ex);
+                }
+
+                if (Month.valueOf(infoDescription.monthName.toUpperCase()).minus(1).equals(Month.valueOf(infoDescription2.monthName.toUpperCase()))
+                    && (initialDaysNum != description.currentMonthDays.size()
+                        || infoDescription.monthName.equalsIgnoreCase("AUGUST")
+                        || infoDescription.monthName.equalsIgnoreCase("JANUARY"))) {
+                    return true;
+                } else {
+                    return null;
+                }
+            }
+        });
+
+        checkFinalState();
+    }
+
+    /**
+     * Checks that next month button works as expected.
+     */
+    @Test(timeout = 10000)
+    public void correctNextMonthTest() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+        clickDropDownButton();
+        waitPopupShowingState(true);
+
+        final PopupSceneDescription description = new PopupSceneDescription();
+        final PopupInfoDescription infoDescription = description.getInfoDescription();
+
+        final int initialDaysNum = description.currentMonthDays.size();
+
+        description.nextMonthWrap.mouse().click();
+
+        testedControl.waitState(new State() {
+            public Object reached() {
+                PopupInfoDescription infoDescription2 = null;
+                try {
+                    infoDescription2 = description.getInfoDescription();
+                } catch (InterruptedException ex) {
+                    Logger.getLogger(DatePickerTest.class.getName()).log(Level.SEVERE, null, ex);
+                }
+                if (Month.valueOf(infoDescription.monthName.toUpperCase()).plus(1).equals(Month.valueOf(infoDescription2.monthName.toUpperCase()))
+                    && (initialDaysNum != description.currentMonthDays.size()
+                        || infoDescription.monthName.equalsIgnoreCase("JULY")
+                        || infoDescription.monthName.equalsIgnoreCase("DECEMBER"))) {
+                    return true;
+                } else {
+                    return null;
+                }
+            }
+        });
+
+        checkFinalState();
+    }
+
+    /**
+     * Checks that arrows which increase/decrease year work correctly
+     */
+    @Test(timeout = 10000)
+    public void yearNavigationTest() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+        setDate(LocalDate.of(2012, 5, 9));
+        clickDropDownButton();
+
+        PopupSceneDescription description = new PopupSceneDescription();
+        description.extractData();
+        description.previousYearWrap.mouse().click();
+
+        HashMap<String, String> expectedState = new HashMap<String, String>(2);
+        expectedState.put("monthName", "May");
+        expectedState.put("year", "2011");
+        testedControl.waitState(new DateState(expectedState, description));
+
+        description.extractData(); description.currentMonthDays.get(30).mouse().click();
+        waitShownText("5/31/2011");
+
+        setDate(LocalDate.of(2012, 2, 29));
+        clickDropDownButton();
+        description = new PopupSceneDescription();
+        description.extractData(); description.nextYearWrap.mouse().click();
+        expectedState.put("monthName", "February");
+        expectedState.put("year", "2013");
+        testedControl.waitState(new DateState(expectedState, description));
+
+        description.extractData(); description.currentMonthDays.get(27).mouse().click();
+        waitShownText("2/28/2013");
+
+        checkFinalState();
+    }
+
+    /**
+     * Checks that when mouse clicks the first or the last cell
+     * in the DateChooser then the current month is set to the previous or
+     * to the next from current respectively.
+     */
+    @Test(timeout = 10000)
+    public void extremeDateCellsChangeCurrentMonth() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+        setDate(LocalDate.of(2000, 1, 27));
+        clickDropDownButton();
+
+        PopupSceneDescription description = new PopupSceneDescription();
+        description.extractData(); description.previousMonthDays.get(0).mouse().click();
+
+        HashMap<String, String> expectedState = new HashMap<String, String>(2);
+        expectedState.put("monthName", "December");
+        expectedState.put("year", "1999");
+        testedControl.waitState(new DateState(expectedState, description));
+
+        clickDropDownButton();
+        description.extractData(); description.currentMonthDays.get(30).mouse().click();
+        waitShownText("12/31/1999");
+
+        setDate(LocalDate.of(2019, 12, 20));
+        clickDropDownButton();
+
+        description = new PopupSceneDescription();
+        description.extractData(); description.nextMonthDays.get(description.nextMonthDays.size() - 1).mouse().click();
+        expectedState.put("monthName", "January");
+        expectedState.put("year", "2020");
+        testedControl.waitState(new DateState(expectedState, description));
+
+        clickDropDownButton();
+        description.extractData(); description.currentMonthDays.get(26).mouse().click();
+        waitShownText("1/27/2020");
+        checkFinalState();
+    }
+
+    /**
+     * Checks that when navigating in horizontal or vertical direction
+     * the switching between days and months occurs correctly.
+     *
+     * Also, tests for month/year navigation, respectively Control+PgUp/Control+PgDn and PgUp/PgDn
+     * @see <a href="https://javafx-jira.kenai.com/browse/RT-32493">RT-32493</a> and <a href="https://javafx-jira.kenai.com/browse/RT-32492">RT-32492</a>
+     */
+    @Test(timeout = 20000)
+    public void keyboardNavigation() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+        setDate(LocalDate.of(2013, 01, 06));
+        clickDropDownButton();
+        waitPopupShowingState(true);
+
+        scene.keyboard().pushKey(KeyboardButtons.LEFT);
+        PopupSceneDescription description = new PopupSceneDescription();
+        description.extractData();
+
+        //Focus must be on 1/5/2013
+        description.currentMonthDays.get(4).waitProperty("isFocused", Boolean.TRUE);
+
+        for (int i = 0; i < 5; i++) scene.keyboard().pushKey(KeyboardButtons.LEFT);
+
+        //Expect switching to the previous month and year
+        HashMap<String, String> expectedState = new HashMap<String, String>(3);
+        expectedState.put("monthName", "december");
+        expectedState.put("year", "2012");
+        expectedState.put("focusedDay", "31");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+
+        //Expect to switch to the next month and year
+        scene.keyboard().pushKey(KeyboardButtons.DOWN);
+        expectedState.put("monthName", "january");
+        expectedState.put("year", "2013");
+        expectedState.put("focusedDay", "7");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+
+        for (int i = 0; i < 6; i++) scene.keyboard().pushKey(KeyboardButtons.RIGHT);
+
+        //Expect to move to the next week
+        expectedState.put("monthName", "january");
+        expectedState.put("year", "2013");
+        expectedState.put("focusedDay", "13");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+
+        for (int i = 0; i < 2; i++) scene.keyboard().pushKey(KeyboardButtons.DOWN);
+        for (int i = 0; i < 5; i++) scene.keyboard().pushKey(KeyboardButtons.RIGHT);
+
+        //Expect to move to the next month
+        expectedState.put("monthName", "february");
+        expectedState.put("year", "2013");
+        expectedState.put("focusedDay", "1");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+
+        scene.keyboard().pushKey(KeyboardButtons.RIGHT);
+        scene.keyboard().pushKey(KeyboardButtons.UP);
+
+        //Expect to move to the prev month
+        expectedState.put("monthName", "january");
+        expectedState.put("year", "2013");
+        expectedState.put("focusedDay", "26");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+
+        for (int i = 0; i < 3; ++i)
+            scene.keyboard().pushKey(KeyboardButtons.PAGE_DOWN, KeyboardModifiers.CTRL_DOWN_MASK);
+
+        //Expect to move forward in three years
+        expectedState.put("monthName", "january");
+        expectedState.put("year", "2016");
+        expectedState.put("focusedDay", "26");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+
+        scene.keyboard().pushKey(KeyboardButtons.PAGE_UP, KeyboardModifiers.CTRL_DOWN_MASK);
+
+        //Expect to move backward for one years
+        expectedState.put("monthName", "january");
+        expectedState.put("year", "2015");
+        expectedState.put("focusedDay", "26");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+
+        for (int i = 0; i < 4; ++i)
+            scene.keyboard().pushKey(KeyboardButtons.PAGE_UP);
+
+        //Expect to move backward for four months
+        expectedState.put("monthName", "september");
+        expectedState.put("year", "2014");
+        expectedState.put("focusedDay", "26");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+
+        for (int i = 0; i < 6; ++i)
+            scene.keyboard().pushKey(KeyboardButtons.PAGE_DOWN);
+
+        //Expect to move forward for six months
+        expectedState.put("monthName", "march");
+        expectedState.put("year", "2015");
+        expectedState.put("focusedDay", "26");
+        description.extractData();
+        testedControl.waitState(new DateState(expectedState, description));
+        checkFinalState();
+    }
+
+    /**
+     * Checks all possible ways to select a date with the keyboard.
+     */
+    @Test(timeout = 10000)
+    public void keyboardDateSelection() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+
+        clickDropDownButton();
+        waitPopupShowingState(true);
+
+        PopupSceneDescription description = new PopupSceneDescription();
+        description.extractData();
+        description.currentMonthDays.get(14).mouse().click();
+        waitPopupShowingState(false);
+        checkExpectedDate(LocalDate.now().withDayOfMonth(15));
+
+        clickDropDownButton();
+        scene.keyboard().pushKey(KeyboardButtons.DOWN);
+        scene.keyboard().pushKey(KeyboardButtons.SPACE);
+        checkExpectedDate(LocalDate.now().withDayOfMonth(22));
+
+        clickDropDownButton();
+        for (int i = 0; i < 2; i++) scene.keyboard().pushKey(KeyboardButtons.UP);
+        scene.keyboard().pushKey(KeyboardButtons.ENTER);
+        checkExpectedDate(LocalDate.now().withDayOfMonth(8));
+
+        clickDropDownButton();
+        scene.keyboard().pushKey(KeyboardButtons.DOWN);
+        scene.keyboard().pushKey(KeyboardButtons.ESCAPE);
+        checkExpectedDate(LocalDate.now().withDayOfMonth(8));
+
+        checkFinalState();
+    }
+
+    /**
+     * Check that after typing a correct date
+     * the DateChooser will also show it.
+     * First time the default converter is used which
+     * reads date in en_US format according to test default locale.
+     * The second time a custom converter is used in the format yyyy-MM-dd.
+     */
+    @Test(timeout = 20000)
+    public void customConverter() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+
+        final StringConverter converter = new DummyConverter();
+        setConverter(converter);
+        assertSame(converter, getConverter());
+        selectObjectFromChoiceBox(SettingType.UNIDIRECTIONAL, Properties.converter, null);
+
+        String dates[][] = {{"7/4/1776", "July", "4", "1776"}, {"1779-07-14", "July", "14", "1779"}};
+
+        TextInputControlDock text = new TextInputControlDock(parent, new ByStyleClass<TextInputControl>("date-picker-display-node"));
+        HashMap<String, String> expectedState = new HashMap<String, String>(3);
+
+        for (int i = 0; i < 2; i++) {
+            String[] dateParts = dates[i];
+            text.clear();
+            text.asSelectionText().type(dateParts[0]);
+            text.keyboard().pushKey(KeyboardButtons.ENTER);
+            waitShownText(dateParts[0]);
+
+            clickDropDownButton();
+            PopupSceneDescription description = new PopupSceneDescription();
+            description.extractData();
+
+            expectedState.put("monthName", dateParts[1]);
+            expectedState.put("selectedDay", dateParts[2]);
+            expectedState.put("year", dateParts[3]);
+
+            testedControl.waitState(new DateState(expectedState, description));
+
+            testedControl.keyboard().pushKey(KeyboardButtons.ESCAPE);
+            waitPopupShowingState(false);
+
+            //The second time test custom converter
+            selectObjectFromChoiceBox(SettingType.UNIDIRECTIONAL, Properties.converter, LocalDateConverter.class);
+        }
+        checkFinalState();
+    }
+
+    /**
+     * Checks that disabled DateCell can't be selected and
+     * that state doesn't change after.
+     */
+    @Test(timeout = 10000)
+    public void daysRestriction() throws InterruptedException {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+
+        final Callback<DatePicker, DateCell> dayCellFactory = new Callback<DatePicker, DateCell>() {
+            public DateCell call(DatePicker param) { return new DateCell(); }
+        };
+        setDayCellFactory(dayCellFactory);
+        assertSame(dayCellFactory, getDayCellFactory());
+
+        selectObjectFromChoiceBox(SettingType.BIDIRECTIONAL, Properties.dayCellFactory, WorkingDays.class);
+        setDate(LocalDate.of(2020, 10, 31));
+        clickDropDownButton();
+        waitPopupShowingState(true);
+
+        PopupSceneDescription description = new PopupSceneDescription();
+        description.extractData();
+        Wrap<? extends DateCell> cellWrap = description.currentMonthDays.get(24);
+        DateCellDescription cell = new DateCellDescription(cellWrap);
+        assertEquals("[Selected wrong day]", 25, cell.mainDate);
+
+        cellWrap.mouse().click();
+        waitPopupShowingState(true);
+
+        HashMap<String, String> expectedState = new HashMap<String, String>(2);
+        expectedState.put("selectedDay", "31");
+        expectedState.put("monthName", "October");
+        expectedState.put("year", "2020");
+        testedControl.waitState(new DateState(expectedState, description));
+        waitShownText("10/31/2020");
+
+        testedControl.keyboard().pushKey(KeyboardButtons.ESCAPE);
+        setDate(LocalDate.of(2020, Month.OCTOBER, 25));
+        checkFinalState();
+    }
+
+    /**
+     * Changes value of the property 'showWeekNumbers'
+     * and checks that DateChooser is rendered correctly.
+     * The value is set via api and via context menu.
+     */
+    @Test(timeout = 20000)
+    public void showWeekNumbersProperty() throws InterruptedException {
+        assertFalse(new GetAction<Boolean>() {
+            @Override public void run(Object... parameters) throws Exception {
+                setResult(new DatePicker().isShowWeekNumbers());
+            }
+        }.dispatch(testedControl.getEnvironment()).booleanValue());
+
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+
+        setDate(LocalDate.of(2013, Month.DECEMBER, 31));
+        for(SettingType settingType : SettingType.values()) {
+            System.out.format("Testing binding:%s\n", settingType.toString());
+            setPropertyByToggleClick(settingType, Properties.showWeekNumbers, Boolean.TRUE);
+
+            checkTextFieldText(Properties.showWeekNumbers, "true");
+
+            clickDropDownButton(); waitPopupShowingState(true);
+
+            PopupSceneDescription description = new PopupSceneDescription();
+            description.extractData();
+            assertEquals("[Incorrect count of week numbers]", 6, description.weeksNumbers.size());
+
+            description.weeksNumbers.sort(new Comparator<Wrap<? extends DateCell>>() {
+                public int compare(Wrap<? extends DateCell> o1, Wrap<? extends DateCell> o2) {
+                    return o1.getScreenBounds().y - o2.getScreenBounds().y;
+                }
+            });
+
+            Integer[] expectedNumbers = {49, 50, 51, 52, 1, 2};
+            assertEquals("[Weeks are not in correct order]", Arrays.asList(expectedNumbers), description.getInfoDescription().weekNumbers);
+
+            setPropertyByToggleClick(settingType, Properties.showWeekNumbers, Boolean.FALSE);
+
+            description.extractData();
+            assertEquals("[No week numbers expected]", 0, description.weeksNumbers.size());
+
+            scene.mouse().click(1, new Point(2, 2));
+            switchOffBinding(settingType, Properties.showWeekNumbers);
+        }
+        checkFinalState();
+    }
+
+    /**
+     * Checks bindings of the 'chronology' property.
+     */
+    @Test(timeout = 10000)
+    public void chronologyProperty() {
+        rememberInitialState();
+
+        final String PROPERTY_NAME = "ThaiBuddhist";
+        final Chronology CHRONOLOGY = Chronology.of(PROPERTY_NAME);
+        for(SettingType settingType : SettingType.values()) {
+            System.out.format("Testing binding:%s\n", settingType.toString());
+            selectObjectFromChoiceBox(settingType, Properties.chronology, CHRONOLOGY);
+
+            checkTextFieldText(Properties.chronology, PROPERTY_NAME);
+
+            switchOffBinding(settingType, Properties.chronology);
+            selectObjectFromChoiceBox(SettingType.SETTER, Properties.chronology, Chronology.of("ISO"));
+        }
+        checkFinalState();
+    }
+
+    /**
+     * Check value of the 'showing' property.
+     */
+    @Test(timeout = 20000)
+    public void showingProperty() throws InterruptedException {
+        assertFalse(new GetAction<Boolean>() {
+            @Override public void run(Object... parameters) throws Exception {
+                setResult(new DatePicker().showingProperty().getValue());
+            }
+        }.dispatch(testedControl.getEnvironment()).booleanValue());
+
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+
+        clickDropDownButton();
+        waitPopupShowingState(true);
+
+        clickDropDownButton();
+        waitPopupShowingState(false);
+
+        testedControl.mouse().click();
+        waitPopupShowingState(false);
+
+        Object[][] keyCombinations = {
+            {KeyboardButtons.F4},
+            {KeyboardButtons.DOWN, KeyboardModifiers.ALT_DOWN_MASK},
+            {KeyboardButtons.UP, KeyboardModifiers.ALT_DOWN_MASK}
+        };
+
+        for(Object[] keyCombo : keyCombinations) {
+            System.out.println(Arrays.toString(keyCombo));
+            if (keyCombo.length == 1) {
+                testedControl.keyboard().pushKey((KeyboardButton) keyCombo[0]);
+            } else {
+                testedControl.keyboard().pushKey((KeyboardButton) keyCombo[0], (Modifier) keyCombo[1]);
+            }
+            waitPopupShowingState(true);
+            testedControl.keyboard().pushKey(KeyboardButtons.ESCAPE);
+            waitPopupShowingState(false);
+        }
+
+        checkFinalState();
+    }
+
+    /**
+     * Checks bindings of the 'editable' property.
+     */
+    @Test(timeout = 20000)
+    public void editableProperty() {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+        final LocalDate INITIAL_DATE = LocalDate.of(2041, Month.SEPTEMBER, 22);
+        final String INITIAL_DATE_TEXT = "9/22/2041";
+        final LocalDate TESTED_DATE = LocalDate.of(2000, Month.JANUARY, 1);
+        final String DATE_TEXT = "1/1/2000";
+
+        setDate(INITIAL_DATE);
+        waitShownText(INITIAL_DATE_TEXT);
+        setPropertyByToggleClick(SettingType.SETTER, Properties.editable, Boolean.FALSE);
+
+        //Test non editable state
+        TextInputControlDock input = new TextInputControlDock(testedControl.as(Parent.class, Node.class));
+        selectAllText(input);
+        assertEquals("[Text was not selected]", INITIAL_DATE_TEXT, input.asSelectionText().selection());
+        input.keyboard().pushKey(KeyboardButtons.A);
+        input.keyboard().pushKey(KeyboardButtons.ENTER);
+
+        waitShownText(INITIAL_DATE_TEXT);
+
+        for(SettingType settingType : SettingType.values()) {
+            System.out.format("Testing binding:%s\n", settingType.toString());
+            setPropertyByToggleClick(settingType, Properties.editable, Boolean.TRUE);
+
+            checkTextFieldText(Properties.editable, "true");
+
+            input = new TextInputControlDock(testedControl.as(Parent.class, Node.class));
+            selectAllText(input);
+            assertEquals("[Text was not selected]", INITIAL_DATE_TEXT, input.asSelectionText().selection());
+
+            input.type(DATE_TEXT);
+            input.keyboard().pushKey(KeyboardButtons.ENTER);
+            assertEquals("[Date was not typed]", TESTED_DATE, getDate());
+            waitShownText(DATE_TEXT);
+
+            switchOffBinding(settingType, Properties.editable);
+            setPropertyByToggleClick(SettingType.SETTER, Properties.editable, Boolean.FALSE);
+
+            //Restore initial state
+            setDate(INITIAL_DATE);
+            waitShownText(INITIAL_DATE_TEXT);
+        }
+        setPropertyByToggleClick(SettingType.SETTER, Properties.editable, Boolean.TRUE);
+        checkFinalState();
+    }
+
+    /**
+     * Check bindings of the 'prompt text' property
+     */
+    @Test(timeout = 10000)
+    public void promptTextProperty() {
+        rememberInitialState();
+        assertTrue("[Propmpt text is empty by default]", new GetAction<Boolean>() {
+            @Override public void run(Object... parameters) throws Exception {
+                setResult(new DatePicker().promptTextProperty().getValue().isEmpty());
+            }
+        }.dispatch(testedControl.getEnvironment()).booleanValue());
+
+        final String TESTED_TEXT = "MM_dd_YY";
+        final String DEFAULT_TEXT = "default";
+
+        for(SettingType settingType : SettingType.values()) {
+            System.out.format("Testing binding:%s\n", settingType.toString());
+
+            setPropertyByTextField(settingType, Properties.prompttext, TESTED_TEXT);
+            checkTextFieldText(Properties.prompttext, TESTED_TEXT);
+
+            switchOffBinding(settingType, Properties.prompttext);
+            setPropertyByTextField(SettingType.SETTER, Properties.prompttext, DEFAULT_TEXT);
+        }
+        checkFinalState();
+    }
+
+    /**
+     * Test that TextField returned by getEditor() method remains the same after
+     * changing editable property
+     */
+    @Test(timeout = 10000)
+    public void editorProperty() throws Throwable {
+        rememberInitialState(Properties.showing, Properties.hover, Properties.pressed, Properties.armed);
+
+        new PropertyTest.EditorPropertyTest(testedControl).test();
+
+        checkFinalState();
+    }
+};
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/datepicker/TestBase.java b/functional/ControlsTests/test/javafx/scene/control/test/datepicker/TestBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/datepicker/TestBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/datepicker/TestBase.java
@@ -24,7 +24,7 @@
  */
 package javafx.scene.control.test.datepicker;
 
-import com.sun.javafx.scene.control.skin.LabeledText;
+import com.sun.javafx.scene.control.LabeledText;
 import java.time.LocalDate;
 import java.time.Month;
 import java.time.YearMonth;
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/jfxpanel/JFXPanelBrowserTest.java b/functional/ControlsTests/test/javafx/scene/control/test/jfxpanel/JFXPanelBrowserTest.java
deleted file mode 100644
--- a/functional/ControlsTests/test/javafx/scene/control/test/jfxpanel/JFXPanelBrowserTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package javafx.scene.control.test.jfxpanel;
-
-import client.test.ScreenshotCheck;
-import client.test.Smoke;
-import javafx.scene.Node;
-import javafx.scene.Scene;
-import javafx.scene.control.test.ControlsTestBase;
-import org.jemmy.Rectangle;
-import org.jemmy.control.Wrap;
-import org.jemmy.fx.ByID;
-import org.jemmy.fx.Root;
-import org.jemmy.interfaces.Parent;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.netbeans.jemmy.JemmyProperties;
-import test.javaclient.shared.FilteredTestRunner;
-import test.javaclient.shared.TestUtil;
-import test.javaclient.shared.screenshots.ScreenshotUtils;
-
-@RunWith(FilteredTestRunner.class)
-public class JFXPanelBrowserTest extends ControlsTestBase {
-
-    static final int LOADING_DELAY = 7000;
-    static final int SEQUENTIAL_REFRESH_DELAY = 2000;
-
-    private static String proxyHost;
-    private static String proxyPort;
-
-    @BeforeClass
-    public static void setUpClass() throws Exception {
-        System.setProperty("javafx.swinginteroperability", "true");
-        JFXPanelBrowserApp.main(null);
-
-        //Save proxy settings
-        proxyHost = System.getProperty("http.proxyHost");
-        proxyPort = System.getProperty("http.proxyPort");
-
-        System.setProperty("http.proxyHost", "www-proxy.us.oracle.com");
-        System.setProperty("http.proxyPort", "80");
-        //BrowserApp.main(null);
-        JemmyProperties.setCurrentDispatchingModel(JemmyProperties.ROBOT_MODEL_MASK);
-    }
-
-    @AfterClass
-    public static void tearDownClass() throws Exception {
-        //Restore proxy settinigs
-        System.setProperty("http.proxyHost", null == proxyHost ? "" : proxyHost);
-        System.setProperty("http.proxyPort", null == proxyPort ? "" : proxyPort);
-    }
-
-    @Before
-    public void setUp() {
-    }
-
-    @After
-    public void tearDown() {
-    }
-
-//    @ScreenshotCheck
-//    @Smoke
-    @Test(timeout = 300000)
-    public void browserTest() throws InterruptedException {
-        Wrap<? extends Scene> scene = Root.ROOT.lookup().wrap();
-        Parent<Node> parent = scene.as(Parent.class, Node.class);
-        Wrap refresh = parent.lookup(new ByID<Node>(JFXPanelBrowserApp.BUTTON_ID)).wrap();
-        Wrap content = parent.lookup(new ByID<Node>(JFXPanelBrowserApp.CONTENT_ID)).wrap();
-        for (int i = 0; i < 3; i++) { // WebEngine bug
-            refresh.mouse().click();
-            Thread.sleep(SEQUENTIAL_REFRESH_DELAY);
-        }
-        Thread.sleep(LOADING_DELAY);
-        Rectangle content_bounds = content.getScreenBounds();
-        ScreenshotUtils.checkScreenshot("BrowserTest", content, new Rectangle((int) content_bounds.getWidth() - 25, (int) content_bounds.getHeight() - 25));
-    }
-}
\ No newline at end of file
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/labeled/LabeledsBase.java b/functional/ControlsTests/test/javafx/scene/control/test/labeled/LabeledsBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/labeled/LabeledsBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/labeled/LabeledsBase.java
@@ -26,7 +26,7 @@
 
 import client.test.ScreenshotCheck;
 import client.test.Smoke;
-import com.sun.javafx.scene.control.skin.LabeledText;
+import com.sun.javafx.scene.control.LabeledText;
 import javafx.collections.ObservableList;
 import javafx.geometry.Bounds;
 import javafx.scene.Node;
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/nchart/AxisDescriptionProvider.java b/functional/ControlsTests/test/javafx/scene/control/test/nchart/AxisDescriptionProvider.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/nchart/AxisDescriptionProvider.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/nchart/AxisDescriptionProvider.java
@@ -24,7 +24,7 @@
  */
 package javafx.scene.control.test.nchart;
 
-import com.sun.javafx.scene.control.skin.LabeledText;
+import com.sun.javafx.scene.control.LabeledText;
 import java.util.ArrayList;
 import java.util.List;
 import javafx.geometry.Side;
@@ -188,4 +188,4 @@
             }
         }.dispatch(Root.ROOT.getEnvironment());
     }
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/pagination/TestBase.java b/functional/ControlsTests/test/javafx/scene/control/test/pagination/TestBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/pagination/TestBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/pagination/TestBase.java
@@ -24,7 +24,7 @@
  */
 package javafx.scene.control.test.pagination;
 
-import com.sun.javafx.scene.control.skin.LabeledText;
+import com.sun.javafx.scene.control.LabeledText;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
@@ -147,7 +147,7 @@
     }
 
     protected void checkScrollingOfFormComponentScrollBar() {
-        Wrap<? extends ScrollBar> scrollBar = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
+        Wrap<? extends ScrollBar> scrollBar = findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true);
         scrollBar.mouse().turnWheel(-1);
         testedControl.waitState(new State<Integer>() {
             public Integer reached() {
@@ -273,7 +273,7 @@
     }
 
     protected Wrap<? extends ScrollBar> getScrollbarWrap(boolean visible) {
-        return findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, visible);
+        return findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, visible);
     }
 
     protected void checkNumberOfVisiblePageIndeces(int expectedIndeces) {
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/tableview/ApplicationInteractionFunctions.java b/functional/ControlsTests/test/javafx/scene/control/test/tableview/ApplicationInteractionFunctions.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/tableview/ApplicationInteractionFunctions.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/tableview/ApplicationInteractionFunctions.java
@@ -24,8 +24,8 @@
  */
 package javafx.scene.control.test.tableview;
 
-import com.sun.javafx.scene.control.skin.NestedTableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableColumnHeader;
+import javafx.scene.control.skin.NestedTableColumnHeader;
+import javafx.scene.control.skin.TableColumnHeader;
 import java.util.Collection;
 import java.util.Comparator;
 import java.util.concurrent.TimeUnit;
@@ -397,4 +397,4 @@
         } catch (Exception e) {
         }
     }
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/tableview/TableViewNewTest.java b/functional/ControlsTests/test/javafx/scene/control/test/tableview/TableViewNewTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/tableview/TableViewNewTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/tableview/TableViewNewTest.java
@@ -26,9 +26,9 @@
 package javafx.scene.control.test.tableview;
 
 import client.test.Smoke;
-import com.sun.javafx.scene.control.skin.NestedTableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableHeaderRow;
+import javafx.scene.control.skin.NestedTableColumnHeader;
+import javafx.scene.control.skin.TableColumnHeader;
+import javafx.scene.control.skin.TableHeaderRow;
 import java.awt.Robot;
 import java.awt.event.InputEvent;
 import java.util.ArrayList;
@@ -210,14 +210,14 @@
 
     private void checkSortNotScrollingFor(String name, int index) {
         scrollTo(index, 0);
-        final double initialScrollPos = getScrollBarValue(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true));
+        final double initialScrollPos = getScrollBarValue(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true));
         getTableColumnHeaderWrap(name).mouse().click();
         getTableColumnHeaderWrap(name).mouse().click();
         getTableColumnHeaderWrap(name).mouse().click();
         getTableColumnHeaderWrap(name).mouse().click();
         new Waiter(new Timeout("", 500)).ensureState(new State() {
             public Object reached() {
-                if (Math.abs(initialScrollPos - getScrollBarValue(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true))) < 0.001) {
+                if (Math.abs(initialScrollPos - getScrollBarValue(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true))) < 0.001) {
                     return true;
                 } else {
                     return null;
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/tableview/TableViewTest.java b/functional/ControlsTests/test/javafx/scene/control/test/tableview/TableViewTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/tableview/TableViewTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/tableview/TableViewTest.java
@@ -143,7 +143,6 @@
      * Checks that sort works for the column. According to the spec there are
      * three states of sorting and all of them are checked
      *
-     * http://xdesign.us.oracle.com/projects/javaFX/fxcontrols-ue/specifications/treetable/treetable.html#sorting
      */
     @Smoke
     @Test(timeout = 300000)
@@ -459,4 +458,4 @@
         txtColumnRemoveIndex.type(String.valueOf(pos));
         btnRemoveColumn.mouse().click();
     }
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/tableview/TestBase.java b/functional/ControlsTests/test/javafx/scene/control/test/tableview/TestBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/tableview/TestBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/tableview/TestBase.java
@@ -24,7 +24,7 @@
  */
 package javafx.scene.control.test.tableview;
 
-import com.sun.javafx.scene.control.skin.TableColumnHeader;
+import javafx.scene.control.skin.TableColumnHeader;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/tableview/TestBaseCommon.java b/functional/ControlsTests/test/javafx/scene/control/test/tableview/TestBaseCommon.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/tableview/TestBaseCommon.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/tableview/TestBaseCommon.java
@@ -198,11 +198,11 @@
      * @return wrap of parent container that contains Cells
      */
     static Wrap<? extends javafx.scene.Parent> getContainerWrap(Wrap<? extends Control> parent) {
-        return getParentWrap(parent.as(Parent.class, Node.class), VIRTIAL_FLOW_CLASS_NAME);
+        return getParentWrap((Parent<Node>)parent.as(Parent.class, Node.class), VIRTIAL_FLOW_CLASS_NAME);
     }
 
     static Wrap<? extends javafx.scene.Parent> getClippedContainerWrap(Wrap<? extends Control> parent) {
-        return getParentWrap(parent.as(Parent.class, Node.class), CLIPPED_CONTAINER_CLASS_NAME);
+        return getParentWrap((Parent<Node>)parent.as(Parent.class, Node.class), CLIPPED_CONTAINER_CLASS_NAME);
     }
 
     static private Wrap<? extends javafx.scene.Parent> getParentWrap(Parent<Node> parent, final String className) {
@@ -466,4 +466,4 @@
     }
     private static final String VIRTIAL_FLOW_CLASS_NAME = "VirtualFlow";
     private static final String CLIPPED_CONTAINER_CLASS_NAME = "VirtualFlow$ClippedContainer";
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/tabpane/NewTabPaneTest.java b/functional/ControlsTests/test/javafx/scene/control/test/tabpane/NewTabPaneTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/tabpane/NewTabPaneTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/tabpane/NewTabPaneTest.java
@@ -36,7 +36,6 @@
 import javafx.scene.Node;
 import javafx.scene.control.Label;
 import javafx.scene.control.Tab;
-import javafx.scene.control.TabBuilder;
 import static javafx.scene.control.test.tabpane.NewTabPaneApp.*;
 import javafx.scene.control.test.utils.ptables.AbstractPropertyController.SettingType;
 import javafx.util.StringConverter;
@@ -333,7 +332,9 @@
             @Override public String toString(Tab t) { return t.getText(); }
 
             @Override public Tab fromString(String s) {
-                return TabBuilder.create().text(s).content(new Label("CONTENT!")).build();
+                Tab t = new Tab(s);
+                t.setContent(new Label("CONTENT!"));
+                return t;
             }
         };
 
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/textinput/TextAreaPropertiesTest.java b/functional/ControlsTests/test/javafx/scene/control/test/textinput/TextAreaPropertiesTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/textinput/TextAreaPropertiesTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/textinput/TextAreaPropertiesTest.java
@@ -77,18 +77,18 @@
         addText();
         //There are both scrollBars must exist
 
-        assertEquals(getScrollBarValue(findScrollBar(testedControl.as(Parent.class, Node.class), orientation, true)), 0, 0);
+        assertEquals(getScrollBarValue(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), orientation, true)), 0, 0);
 
         double[] values = {10, 0, 50, 0, 100};
 
         setPropertyBySlider(SettingType.BIDIRECTIONAL, property, 10);
-        double item = getScrollBarValue(findScrollBar(testedControl.as(Parent.class, Node.class), orientation, true)) / 10;
+        double item = getScrollBarValue(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), orientation, true)) / 10;
 
         for (SettingType type : EnumSet.of(SettingType.BIDIRECTIONAL, SettingType.SETTER, SettingType.UNIDIRECTIONAL)) {
             for (double value : values) {
                 setPropertyBySlider(type, property, value);
                 checkTextFieldValue(property, value);
-                assertEquals(getScrollBarValue(findScrollBar(testedControl.as(Parent.class, Node.class), orientation, true)), value * item, 0.1 * item);
+                assertEquals(getScrollBarValue(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), orientation, true)), value * item, 0.1 * item);
             }
         }
 
@@ -133,13 +133,13 @@
         for (SettingType type : EnumSet.of(SettingType.BIDIRECTIONAL, SettingType.SETTER, SettingType.UNIDIRECTIONAL)) {
             setPropertyByToggleClick(type, Properties.wraptext);//true//bind
             checkTextFieldText(Properties.wraptext, "true");//getter
-            Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, false) == null);//behavior
-            Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);//behavior
+            Assert.assertFalse(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, false) == null);//behavior
+            Assert.assertFalse(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true) == null);//behavior
 
             setPropertyByToggleClick(type, Properties.wraptext);//false//bind
             checkTextFieldText(Properties.wraptext, "false");//getter
-            Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);//behavior
-            Assert.assertFalse(findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);//behavior
+            Assert.assertFalse(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.HORIZONTAL, true) == null);//behavior
+            Assert.assertFalse(findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, false) == null);//behavior
         }
     }
 
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/textinput/TextInputBase.java b/functional/ControlsTests/test/javafx/scene/control/test/textinput/TextInputBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/textinput/TextInputBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/textinput/TextInputBase.java
@@ -25,7 +25,7 @@
 package javafx.scene.control.test.textinput;
 
 import client.test.ScreenshotCheck;
-import com.sun.javafx.scene.control.skin.TextInputControlSkin;
+import javafx.scene.control.skin.TextInputControlSkin;
 import java.lang.reflect.Field;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -82,7 +82,7 @@
     }
     private Wrap<? extends TextInputControl> taTesting = null;
 
-    static final KeyboardModifiers CTRL = Utils.isMacOS() ? KeyboardModifiers.META_DOWN_MASK : KeyboardModifiers.CTRL_DOWN_MASK;
+    static final KeyboardModifiers CTRL = Utils.isMacOS() ? KeyboardModifiers.ALT_DOWN_MASK : KeyboardModifiers.CTRL_DOWN_MASK;
 //    /**
 //     * Test for TextInput setMaximumLength API
 //     */
@@ -523,6 +523,7 @@
         } else {
             checkState("Copy", true);
             checkState("Cut", true);
+            getScene().keyboard().pushKey(KeyboardButtons.ESCAPE);
         }
 
         initContext();
@@ -611,12 +612,17 @@
 
         String text = getTextFromControl();
         final String initialText = text;
-        while (!"".equals(text)) {
+        if (isPasswordField()) {
+            taTesting.keyboard().pushKey(Keyboard.KeyboardButtons.BACK_SPACE, CTRL);
+            if (Utils.isMacOS()) {
+                Assert.assertEquals("", getTextFromControl());
+            } else {
+                Assert.assertEquals(initialText, getTextFromControl());
+            }
+        } else {
+            while (!text.isEmpty()) {
             text = deleteLastWord(text);
             taTesting.keyboard().pushKey(Keyboard.KeyboardButtons.BACK_SPACE, CTRL);
-            if (isPasswordField()) {
-                Assert.assertEquals(initialText, getTextFromControl());
-            } else {
                 if (!text.equals(getTextFromControl())) {
                     out(initialText, text);
                 }
@@ -633,7 +639,7 @@
         String text = getTextFromControl();
         final String initialText = text;
         while (!"".equals(text)) {
-            text = deleteFirstWord(text, true);
+            text = deleteFirstWord(text, Utils.isMacOS() ? false : true);
             taTesting.keyboard().pushKey(Keyboard.KeyboardButtons.DELETE, CTRL);
             if (isPasswordField()) {
                 Assert.assertEquals(initialText, getTextFromControl());
@@ -675,13 +681,14 @@
      */
     private String deleteFirstWord(String text, boolean deleteFromBeginning) {
         final String[] punctuation = new String[]{" ", "\n", "\t", "/", ",", ";", "!", "@", "#", "$", "%", "^", "*", "(", ")", "&", "."};
+
         if (!deleteFromBeginning) {
             while (startsWithAnyOf(text, punctuation)) {
                 text = text.substring(1);
             }
             text = removeLeadingChars(text, punctuation);
         } else {
-            if (!Utils.isWindows()) {
+            if (Utils.isLinux()) {
                 if (' ' == text.charAt(0)) {
                     int pos = 0;
                     while(' ' == text.charAt(pos)) ++pos;
@@ -691,12 +698,20 @@
                 }
             }
 
+            if ('\n' == text.charAt(0)) {
+                text = text.substring(1);
+                return text;
+            }
+
             text = removeLeadingChars(text, punctuation);
 
+            if ('\n' == text.charAt(0)) {
+                return text;
+            }
+            if (Utils.isLinux()) {
+                return text;
+            }
             while (startsWithAnyOf(text, punctuation)) {
-                if (!Utils.isWindows()) {
-                    break;
-                }
                 text = text.substring(1);
             }
         }
@@ -737,7 +752,7 @@
         final Wrap<? extends TextInputControl> wrap = getScene().as(Parent.class, Node.class).lookup(TextInputControl.class).wrap();
         wrap.as(Text.class).clear();
         wrap.as(Text.class).type(SAMPLE_STRING);
-        wrap.keyboard().pushKey(KeyboardButtons.A, Utils.isMacOS() ? KeyboardModifiers.META_DOWN_MASK : CTRL);
+        wrap.keyboard().pushKey(KeyboardButtons.A, Utils.isMacOS() ? KeyboardModifiers.META_DOWN_MASK : KeyboardModifiers.CTRL_DOWN_MASK);
         new GetAction() {
             @Override
             public void run(Object... os) throws Exception {
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/treeview/TestBase.java b/functional/ControlsTests/test/javafx/scene/control/test/treeview/TestBase.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/treeview/TestBase.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/treeview/TestBase.java
@@ -321,7 +321,7 @@
     protected void checkScrollingState(final double scrollValue, boolean beginVisible, boolean endVisible, int size) {
         testedControl.waitState(new State() {
             public Object reached() {
-                Wrap<? extends ScrollBar> sb = findScrollBar(testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
+                Wrap<? extends ScrollBar> sb = findScrollBar((Parent<Node>)testedControl.as(Parent.class, Node.class), Orientation.VERTICAL, true);
                 if (Math.abs(sb.getControl().getValue() - scrollValue) < 0.01) {
                     return true;
                 } else {
@@ -773,4 +773,4 @@
         }.dispatch(testedControl.getEnvironment(), handler);
     }
 
-}
\ No newline at end of file
+}
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/treeview/TreeViewTest.java b/functional/ControlsTests/test/javafx/scene/control/test/treeview/TreeViewTest.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/treeview/TreeViewTest.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/treeview/TreeViewTest.java
@@ -27,7 +27,7 @@
 import client.test.Smoke;
 import com.oracle.jdk.sqe.cc.markup.Covers;
 import com.oracle.jdk.sqe.cc.markup.Covers.Level;
-import com.sun.javafx.scene.control.skin.TableHeaderRow;
+import javafx.scene.control.skin.TableHeaderRow;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Map;
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/util/MultipleSelectionHelper.java b/functional/ControlsTests/test/javafx/scene/control/test/util/MultipleSelectionHelper.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/util/MultipleSelectionHelper.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/util/MultipleSelectionHelper.java
@@ -60,6 +60,14 @@
         this.columns = columns;
     }
 
+    public void setColumnsNum(int columns) {
+        this.columns = columns;
+    }
+
+    public void setRowsNum(int rows) {
+        this.rows = rows;
+    }
+
     /**
      * ALARM: must be called before pushing key combination, from code, which
      * knows, how to understand, which area is visible now. And this visible
diff --git a/functional/ControlsTests/test/javafx/scene/control/test/util/UtilTestFunctions.java b/functional/ControlsTests/test/javafx/scene/control/test/util/UtilTestFunctions.java
--- a/functional/ControlsTests/test/javafx/scene/control/test/util/UtilTestFunctions.java
+++ b/functional/ControlsTests/test/javafx/scene/control/test/util/UtilTestFunctions.java
@@ -88,6 +88,8 @@
 import test.javaclient.shared.TestUtil;
 import test.javaclient.shared.Utils;
 
+import com.sun.javafx.scene.NodeHelper;
+
 /**
  * @author Alexander Kirov
  *
@@ -815,10 +817,16 @@
                         setResult(((Node) os[0]).localToScene((Double) os[1], (Double) os[2]));
                     }
                 }.dispatch(Root.ROOT.getEnvironment(), wrap.getControl(), Double.valueOf(wrap.getScreenBounds().width / 4), Double.valueOf(wrap.getScreenBounds().height / 4));
+
+                // The following line requires --add-exports javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED
                 final PickResultChooser result = new PickResultChooser();
 
+                // The following line requires --add-exports javafx.graphics/com.sun.javafx.geom=ALL-UNNAMED
                 //public PickRay(Vec3d origin, Vec3d direction, double nearClip, double farClip) {
-                (((Wrap<? extends Scene>) os[0]).getControl()).getRoot().impl_pickNode(new PickRay(new Vec3d(pointOnScene.getX(), pointOnScene.getY(), -10), new Vec3d(0, 0, 1), 1.0, 100), result);
+                NodeHelper.pickNode(
+                    (((Wrap<? extends Scene>) os[0]).getControl()).getRoot(),
+                    new PickRay(new Vec3d(pointOnScene.getX(), pointOnScene.getY(), -10), new Vec3d(0, 0, 1), 1.0, 100),
+                    result);
                 Node node = result.getIntersectedNode();
                 node.fireEvent(scrollEvent);
             }
diff --git a/functional/FXCssTests/src/test/css/controls/ComplexButtonCssTests.java b/functional/FXCssTests/src/test/css/controls/ComplexButtonCssTests.java
--- a/functional/FXCssTests/src/test/css/controls/ComplexButtonCssTests.java
+++ b/functional/FXCssTests/src/test/css/controls/ComplexButtonCssTests.java
@@ -24,8 +24,8 @@
  */
 package test.css.controls;
 
-import javafx.scene.control.ButtonBuilder;
-import javafx.scene.control.ToolBarBuilder;
+import javafx.scene.control.Button;
+import javafx.scene.control.ToolBar;
 import javafx.scene.layout.Pane;
 import test.javaclient.shared.BasicButtonChooserApp;
 import test.javaclient.shared.PageWithSlots;
@@ -69,17 +69,16 @@
         Pane slot = new Pane();
         slot.setPrefSize(200, 200);
         if (page == Pages.IPHONE_TOOLBAR) {
-            slot.getChildren().add(ToolBarBuilder.create()
-                    .id(page.name().toLowerCase())
-                    .items(
-                    ButtonBuilder.create().text("iPhone").id("iphone").build())
-                    .build());
+            Button b = new Button("iPhone");
+            b.setId("iphone");
+            ToolBar temp = new ToolBar(b);
+            temp.setId(page.name().toLowerCase());
+            slot.getChildren().add(temp);
         } else {
-            slot.getChildren().add(ButtonBuilder.create()
-                    .text("Button")
-                    .id(page.name().toLowerCase())
-                    .minWidth(100)
-                    .build());
+            Button temp = new Button("Button");
+            temp.setId(page.name().toLowerCase());
+            temp.setMinWidth(100);
+            slot.getChildren().add(temp);
         }
         pageWithSlot.add(new TestNodeLeaf(page.name(), slot));
         return pageWithSlot;
diff --git a/functional/FXCssTests/src/test/css/controls/ControlPage.java b/functional/FXCssTests/src/test/css/controls/ControlPage.java
--- a/functional/FXCssTests/src/test/css/controls/ControlPage.java
+++ b/functional/FXCssTests/src/test/css/controls/ControlPage.java
@@ -25,18 +25,19 @@
 package test.css.controls;
 
 import com.sun.javafx.collections.ObservableListWrapper;
-import javafx.css.CssMetaData;
-import com.sun.javafx.scene.control.skin.CellSkinBase;
-import com.sun.javafx.scene.control.skin.ColorPickerSkin;
-import com.sun.javafx.scene.control.skin.PaginationSkin;
-import com.sun.javafx.scene.control.skin.ProgressIndicatorSkin;
-import com.sun.javafx.scene.control.skin.TableColumnHeader;
-import com.sun.javafx.scene.control.skin.TextInputControlSkin;
-import com.sun.javafx.scene.control.skin.TreeCellSkin;
+import javafx.scene.control.skin.CellSkinBase;
+import javafx.scene.control.skin.ColorPickerSkin;
+import javafx.scene.control.skin.PaginationSkin;
+import javafx.scene.control.skin.ProgressIndicatorSkin;
+import javafx.scene.control.skin.TableColumnHeader;
+import javafx.scene.control.skin.TextInputControlSkin;
+import javafx.scene.control.skin.TreeCellSkin;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.time.LocalDate;
 import java.time.Month;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeFormatterBuilder;
 import java.util.*;
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
@@ -44,6 +45,7 @@
 import javafx.beans.value.ObservableValue;
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
+import javafx.css.CssMetaData;
 import javafx.css.Styleable;
 import javafx.geometry.HPos;
 import javafx.geometry.Pos;
@@ -56,52 +58,37 @@
 import javafx.scene.chart.XYChart;
 import javafx.scene.control.Accordion;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.CheckBox;
-import javafx.scene.control.CheckBoxBuilder;
 import javafx.scene.control.ChoiceBox;
 import javafx.scene.control.ColorPicker;
 import javafx.scene.control.ComboBox;
 import javafx.scene.control.Control;
 import javafx.scene.control.DatePicker;
 import javafx.scene.control.Hyperlink;
-import javafx.scene.control.HyperlinkBuilder;
 import javafx.scene.control.Label;
-import javafx.scene.control.LabelBuilder;
 import javafx.scene.control.ListView;
 import javafx.scene.control.Menu;
 import javafx.scene.control.MenuBar;
 import javafx.scene.control.MenuItem;
 import javafx.scene.control.Pagination;
 import javafx.scene.control.PasswordField;
-import javafx.scene.control.PasswordFieldBuilder;
 import javafx.scene.control.ProgressBar;
-import javafx.scene.control.ProgressBarBuilder;
 import javafx.scene.control.ProgressIndicator;
-import javafx.scene.control.ProgressIndicatorBuilder;
 import javafx.scene.control.RadioButton;
-import javafx.scene.control.RadioButtonBuilder;
 import javafx.scene.control.ScrollBar;
-import javafx.scene.control.ScrollBarBuilder;
 import javafx.scene.control.ScrollPane;
 import javafx.scene.control.Separator;
-import javafx.scene.control.SeparatorBuilder;
 import javafx.scene.control.Slider;
-import javafx.scene.control.SliderBuilder;
 import javafx.scene.control.SplitMenuButton;
-import javafx.scene.control.SplitMenuButtonBuilder;
 import javafx.scene.control.SplitPane;
-import javafx.scene.control.SplitPaneBuilder;
 import javafx.scene.control.Tab;
 import javafx.scene.control.TabPane;
 import javafx.scene.control.TableColumn;
 import javafx.scene.control.TableColumn.CellDataFeatures;
 import javafx.scene.control.TableView;
 import javafx.scene.control.TextField;
-import javafx.scene.control.TextFieldBuilder;
 import javafx.scene.control.TitledPane;
 import javafx.scene.control.ToggleButton;
-import javafx.scene.control.ToggleButtonBuilder;
 import javafx.scene.control.ToolBar;
 import javafx.scene.control.TreeItem;
 import javafx.scene.control.TreeView;
@@ -109,7 +96,7 @@
 import javafx.scene.image.ImageView;
 import javafx.scene.layout.FlowPane;
 import javafx.scene.layout.HBox;
-import javafx.scene.layout.StackPaneBuilder;
+import javafx.scene.layout.StackPane;
 import javafx.scene.layout.TilePane;
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
@@ -118,8 +105,6 @@
 import javafx.scene.text.Text;
 import javafx.util.Callback;
 import javafx.util.StringConverter;
-import java.time.format.DateTimeFormatter;
-import java.time.format.DateTimeFormatterBuilder;
 
 /**
  *
@@ -145,7 +130,10 @@
         }
     }, 200), Buttons(Button.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return ButtonBuilder.create().text("Button the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).graphic(new Rectangle(10, 10, Color.RED)).build();
+            Button temp = new Button("Button the first line" + "\nthe sec long line" + "\nthe third line");
+            temp.setFocusTraversable(false);
+            temp.setGraphic(new Rectangle(10, 10, Color.RED));
+            return temp;
         }
     }, 200, 100), ChoiceBoxes(ChoiceBox.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
@@ -159,7 +147,10 @@
         }
     }), CheckBoxes(CheckBox.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return CheckBoxBuilder.create().text("Check box the first line" + "\nthe sec long line" + "\nthe third line").graphic(new Rectangle(20, 20, Color.web("lightblue"))).focusTraversable(false).build();
+            CheckBox temp = new CheckBox("Check box the first line" + "\nthe sec long line" + "\nthe third line");
+            temp.setFocusTraversable(false);
+            temp.setGraphic(new Rectangle(20, 20, Color.web("lightblue")));
+            return temp;
         }
     }, 200, 100), ComboBoxes(ComboBox.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         @Override
@@ -174,7 +165,10 @@
         }
     }), Hyperlinks(Hyperlink.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return HyperlinkBuilder.create().text("Hyperlink the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).graphic(new Circle(10, Color.BLUE)).build();
+            Hyperlink temp = new Hyperlink("Hyperlink the first line" + "\nthe sec long line" + "\nthe third line");
+            temp.setFocusTraversable(false);
+            temp.setGraphic(new Circle(10, Color.BLUE));
+            return temp;
         }
     }, 200, 100), Labels(new ArrayList<CssMetaData<? extends Styleable, ?>>(Label.getClassCssMetaData()) {
         {
@@ -182,7 +176,10 @@
         }
     }, new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return LabelBuilder.create().text("Label the first line" + "\nthe sec longlong line" + "\nthe third line").focusTraversable(false).graphic(new Rectangle(20, 20, Color.web("lightblue"))).build();
+            Label temp = new Label("Label the first line" + "\nthe sec longlong line" + "\nthe third line");
+            temp.setFocusTraversable(false);
+            temp.setGraphic(new Rectangle(20, 20, Color.web("lightblue")));
+            return temp;
         }
     }, 200), ListViews(ListView.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Node createControl() {
@@ -196,11 +193,18 @@
         }
     }, 150), PasswordFields(PasswordField.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return PasswordFieldBuilder.create().promptText("Password box the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).build();
+            PasswordField temp = new PasswordField();
+            temp.setPromptText("Password box the first line" + "\nthe sec long line" + "\nthe third line");
+            temp.setFocusTraversable(false);
+            return temp;
         }
     }), PressedToggleButtons(ToggleButton.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return ToggleButtonBuilder.create().selected(true).text("Button the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).graphic(new Rectangle(10, 10, Color.RED)).build();
+            ToggleButton temp = new ToggleButton("Button the first line" + "\nthe sec long line" + "\nthe third line");
+            temp.setSelected(true);
+            temp.setFocusTraversable(false);
+            temp.setGraphic(new Rectangle(10, 10, Color.RED));
+            return temp;
         }
     }, 200, 120), ProgressIndicators(new ArrayList<CssMetaData<? extends Styleable, ?>>(ProgressIndicator.getClassCssMetaData()) {
         {
@@ -208,15 +212,23 @@
         }
     }, new ControlsCSSApp.ControlFactory() {
         public Node createControl() {
-            return ProgressIndicatorBuilder.create().progress(0.85).prefHeight(100).prefWidth(100).focusTraversable(false).build();
+            ProgressIndicator temp = new ProgressIndicator(0.85);
+            temp.setPrefSize(100, 100);
+            temp.setFocusTraversable(false);
+            return temp;
         }
     }), ProgressBars(ProgressBar.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Node createControl() {
-            return ProgressBarBuilder.create().progress(0.25).focusTraversable(false).build();
+            ProgressBar temp = new ProgressBar(0.25);
+            temp.setFocusTraversable(false);
+            return temp;
         }
     }, 200, 100), RadioButtons(RadioButton.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return RadioButtonBuilder.create().text("Radio the first line" + "\nthe sec long line" + "\nthe third line").graphic(new Rectangle(20, 20, Color.web("lightblue"))).focusTraversable(false).build();
+            RadioButton temp = new RadioButton("Radio the first line" + "\nthe sec long line" + "\nthe third line");
+            temp.setFocusTraversable(false);
+            temp.setGraphic(new Rectangle(20, 20, Color.web("lightblue")));
+            return temp;
         }
     }, 200, 100), TextFields(new ArrayList<CssMetaData<? extends Styleable, ?>>(TextField.getClassCssMetaData()) {
         {
@@ -224,21 +236,34 @@
         }
     }, new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return TextFieldBuilder.create().text("Text box the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).build();
+            TextField temp = new TextField("Text box the first line" + "\nthe sec long line" + "\nthe third line");
+            temp.setFocusTraversable(false);
+            return temp;
         }
     }), Sliders(Slider.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return SliderBuilder.create().min(0).max(100).value(20).focusTraversable(false).build();
+            Slider temp = new Slider();
+            temp.setMin(0);
+            temp.setMax(100);
+            temp.setValue(20);
+            temp.setFocusTraversable(false);
+            return temp;
         }
     }, 200), Separators(Separator.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            Separator sep = SeparatorBuilder.create().halignment(HPos.CENTER).build();
+            Separator sep = new Separator();
+            sep.setHalignment(HPos.CENTER);
             sep.setPrefWidth(80);
             return sep;
         }
     }, 150), ScrollBars(ScrollBar.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return ScrollBarBuilder.create().value(45).min(0).max(100).focusTraversable(false).build();
+            ScrollBar temp = new ScrollBar();
+            temp.setValue(45);
+            temp.setMin(0);
+            temp.setMax(100);
+            temp.setFocusTraversable(false);
+            return temp;
         }
     }, 150), ScrollPanes(ScrollPane.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Node createControl() {
@@ -255,12 +280,18 @@
         }
     }, 150), UnPressedToggleButtons(ToggleButton.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Control createControl() {
-            return ToggleButtonBuilder.create().selected(false).text("Button the first line" + "\nthe sec long line" + "\nthe third line").focusTraversable(false).graphic(new Rectangle(10, 10, Color.RED)).build();
+            ToggleButton temp = new ToggleButton("Button the first line" + "\nthe sec long line" + "\nthe third line");
+            temp.setGraphic(new Rectangle(10, 10, Color.RED));
+            temp.setSelected(false);
+            temp.setFocusTraversable(false);
+            return temp;
         }
     }, 200, 120), Toolbars(ToolBar.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Node createControl() {
             ToolBar toolbar = new ToolBar();
-            toolbar.getItems().addAll(new Button("One"), new Button("Two"), new Separator(), SplitMenuButtonBuilder.create().text("three").build());
+            SplitMenuButton temp = new SplitMenuButton();
+            temp.setText("three");
+            toolbar.getItems().addAll(new Button("One"), new Button("Two"), new Separator(), temp);
             toolbar.setFocusTraversable(false);
             return toolbar;
         }
@@ -287,7 +318,9 @@
         }
     }, 250, 150), SplitMenuButtons(SplitMenuButton.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Node createControl() {
-            SplitMenuButton smb = SplitMenuButtonBuilder.create().text("Split box the first line" + "\nthe sec long line" + "\nthe third line").items(new MenuItem("Split box the first line" + "\nthe sec long line" + "\nthe third line", new Rectangle(10, 10, Color.BLUE))).graphic(new Rectangle(10, 10, Color.RED)).build();
+            SplitMenuButton smb = new SplitMenuButton(new MenuItem("Split box the first line" + "\nthe sec long line" + "\nthe third line", new Rectangle(10, 10, Color.BLUE)));
+            smb.setText("Split box the first line" + "\nthe sec long line" + "\nthe third line");
+            smb.setGraphic(new Rectangle(10, 10, Color.RED));
             smb.setFocusTraversable(false);
             return smb;
         }
@@ -375,7 +408,11 @@
         }
     }, 200, 300), SplitPanes(SplitPane.getClassCssMetaData(), new ControlsCSSApp.ControlFactory() {
         public Node createControl() {
-            SplitPane pane = SplitPaneBuilder.create().items(StackPaneBuilder.create().children(new Rectangle(40, 40, Color.WHITESMOKE)).build(), StackPaneBuilder.create().children(new Rectangle(40, 40, Color.BLUE)).build(), StackPaneBuilder.create().children(new Rectangle(40, 40, Color.RED)).build()).prefWidth(150).prefHeight(150).build();
+            StackPane sp1 = new StackPane(new Rectangle(40, 40, Color.WHITESMOKE));
+            StackPane sp2 = new StackPane(new Rectangle(40, 40, Color.BLUE));
+            StackPane sp3 = new StackPane(new Rectangle(40, 40, Color.RED));
+            SplitPane pane = new SplitPane(sp1, sp2, sp3);
+            pane.setPrefSize(150, 150);
             pane.setDividerPositions(0.33, 0.67);
             pane.setFocusTraversable(false);
             return pane;
diff --git a/functional/FXCssTests/src/test/css/controls/ControlsCSSApp.java b/functional/FXCssTests/src/test/css/controls/ControlsCSSApp.java
--- a/functional/FXCssTests/src/test/css/controls/ControlsCSSApp.java
+++ b/functional/FXCssTests/src/test/css/controls/ControlsCSSApp.java
@@ -102,9 +102,6 @@
         if (control instanceof Text) {
             control.relocate(0, 0); // workaround RT-24670
         }
-        if (showButtons) {
-            style.setStyle(control);
-        }
         pageWithSlot.add(new StyleTestNode(style, control, innerPane));
     }
 
diff --git a/functional/FXCssTests/src/test/css/controls/ControlsCssStylesFactory.java b/functional/FXCssTests/src/test/css/controls/ControlsCssStylesFactory.java
--- a/functional/FXCssTests/src/test/css/controls/ControlsCssStylesFactory.java
+++ b/functional/FXCssTests/src/test/css/controls/ControlsCssStylesFactory.java
@@ -56,7 +56,6 @@
 import javafx.scene.effect.InnerShadow;
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.Pane;
-import javafx.scene.layout.PaneBuilder;
 import javafx.scene.layout.Region;
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
@@ -842,7 +841,9 @@
                                 VBox box = (VBox) control;
                                 box.getChildren().clear();
                                 box.setStyle(box.getStyle() + "-fx-border-color:blue;");
-                                box.getChildren().add(PaneBuilder.create().children(new Rectangle(20, 20, Color.TRANSPARENT)).style("-fx-border-color:red;").build());
+                                Pane temp = new Pane(new Rectangle(20, 20, Color.TRANSPARENT));
+                                temp.setStyle("-fx-border-color:red;");
+                                box.getChildren().add(temp);
                             }
                         }
                     }});
@@ -1025,7 +1026,9 @@
                                 HBox box = (HBox) control;
                                 box.getChildren().clear();
                                 box.setStyle(box.getStyle() + "-fx-border-color:blue;");
-                                box.getChildren().add(PaneBuilder.create().children(new Rectangle(20, 20, Color.TRANSPARENT)).style("-fx-border-color:red;").build());
+                                Pane temp = new Pane(new Rectangle(20, 20, Color.TRANSPARENT));
+                                temp.setStyle("-fx-border-color:red;");
+                                box.getChildren().add(temp);
                             }
                         }
                     }
diff --git a/functional/FXCssTests/src/test/css/controls/api/APIStylesApp.java b/functional/FXCssTests/src/test/css/controls/api/APIStylesApp.java
--- a/functional/FXCssTests/src/test/css/controls/api/APIStylesApp.java
+++ b/functional/FXCssTests/src/test/css/controls/api/APIStylesApp.java
@@ -85,9 +85,6 @@
             innerPane.setPrefSize(page.slotWidth - page.INNER_PANE_SHIFT, page.slotHeight - ControlPage.INNER_PANE_SHIFT);
             innerPane.setMaxSize(page.slotWidth - page.INNER_PANE_SHIFT, page.slotHeight - page.INNER_PANE_SHIFT);
             innerPane.getChildren().add(control);
-            if (showButtons) {
-                stylePage.setStyle(control);
-            }
             rootNode.add(new TestNodeLeaf(stylePage.name().replace("_", "-"), innerPane));
         }
     }
@@ -104,4 +101,4 @@
     public static void main(String[] args) {
         Utils.launch(APIStylesApp.class, args);
     }
-}
\ No newline at end of file
+}
diff --git a/functional/FXCssTests/src/test/css/stylesheets/StylesheetApp.java b/functional/FXCssTests/src/test/css/stylesheets/StylesheetApp.java
--- a/functional/FXCssTests/src/test/css/stylesheets/StylesheetApp.java
+++ b/functional/FXCssTests/src/test/css/stylesheets/StylesheetApp.java
@@ -32,7 +32,7 @@
 import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.Pane;
 import javafx.scene.layout.StackPane;
-import javafx.scene.layout.VBoxBuilder;
+import javafx.scene.layout.VBox;
 import javafx.scene.text.Text;
 import javafx.stage.Stage;
 import test.javaclient.shared.Utils;
@@ -71,7 +71,10 @@
             }
         });
         scene.getStylesheets().add(styles[styleIndex]);
-        pane.getChildren().add(VBoxBuilder.create().alignment(Pos.CENTER).spacing(50).children(golden, button).build());
+        VBox temp = new VBox(golden, button);
+        temp.setAlignment(Pos.CENTER);
+        temp.setSpacing(50);
+        pane.getChildren().add(temp);
         stage.setScene(scene);
         stage.setTitle("Test for RT-17348." + VersionInfo.getRuntimeVersion());
         stage.show();
diff --git a/functional/FXCssTests/src/test/css/utils/StyleGenerator.java b/functional/FXCssTests/src/test/css/utils/StyleGenerator.java
--- a/functional/FXCssTests/src/test/css/utils/StyleGenerator.java
+++ b/functional/FXCssTests/src/test/css/utils/StyleGenerator.java
@@ -26,7 +26,7 @@
 
 import javafx.css.StyleConverter;
 import javafx.css.CssMetaData;
-import com.sun.javafx.css.converters.*;
+import javafx.css.converter.*;
 import com.sun.javafx.scene.layout.region.*;
 import java.util.HashSet;
 import java.util.Set;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesAccordionTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesAccordionTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesAccordionTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesAccordionTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesButtonTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesButtonTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesButtonTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesButtonTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesCheckBoxTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesCheckBoxTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesCheckBoxTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesCheckBoxTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesChoiceBoxTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesChoiceBoxTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesChoiceBoxTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesChoiceBoxTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesColorPickerTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesColorPickerTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesColorPickerTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesColorPickerTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesHyperlinkTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesHyperlinkTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesHyperlinkTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesHyperlinkTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesLabelTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesLabelTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesLabelTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesLabelTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesListCellTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesListCellTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesListCellTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesListCellTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
@@ -96,7 +96,7 @@
         Assert.assertTrue(styleNames.contains("-fx-cell-size"));
         Map<String, CssMetaData> styles = getStyles();
         CssMetaData data = styles.get("-fx-cell-size");
-        Assert.assertEquals(24.0, data.getInitialValue(getControl()));
+        Assert.assertEquals(data.getInitialValue(getControl()), "15");
     }
 
     @Test
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesListViewTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesListViewTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesListViewTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesListViewTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesMenuButtonTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesMenuButtonTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesMenuButtonTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesMenuButtonTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesPaginationTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesPaginationTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesPaginationTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesPaginationTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesPasswordFieldTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesPasswordFieldTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesPasswordFieldTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesPasswordFieldTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesProgressBarTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesProgressBarTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesProgressBarTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesProgressBarTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesProgressIndicatorTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesProgressIndicatorTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesProgressIndicatorTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesProgressIndicatorTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesRadioButtonTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesRadioButtonTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesRadioButtonTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesRadioButtonTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesScrollBarTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesScrollBarTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesScrollBarTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesScrollBarTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesScrollPaneTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesScrollPaneTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesScrollPaneTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesScrollPaneTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesSeparatorTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesSeparatorTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesSeparatorTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesSeparatorTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesSliderTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesSliderTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesSliderTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesSliderTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesSplitMenuButtonTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesSplitMenuButtonTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesSplitMenuButtonTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesSplitMenuButtonTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesSplitPaneTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesSplitPaneTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesSplitPaneTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesSplitPaneTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTabPaneTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTabPaneTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTabPaneTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTabPaneTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTableViewTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTableViewTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTableViewTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTableViewTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTextAreaTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTextAreaTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTextAreaTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTextAreaTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTextFieldTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTextFieldTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTextFieldTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTextFieldTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTitledPaneTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTitledPaneTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTitledPaneTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTitledPaneTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesToggleButtonTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesToggleButtonTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesToggleButtonTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesToggleButtonTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesToolBarTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesToolBarTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesToolBarTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesToolBarTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTreeCellTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTreeCellTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTreeCellTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTreeCellTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
@@ -98,7 +98,7 @@
         Assert.assertTrue(styleNames.contains("-fx-cell-size"));
         Map<String, CssMetaData> styles = getStyles();
         CssMetaData data = styles.get("-fx-cell-size");
-        Assert.assertEquals(24.0, data.getInitialValue(getControl()));
+        Assert.assertEquals(data.getInitialValue(getControl()), "15");
     }
 
     @Test
diff --git a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTreeViewTest.java b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTreeViewTest.java
--- a/functional/FXCssTests/test/test/css/controls/api/styles/StylesTreeViewTest.java
+++ b/functional/FXCssTests/test/test/css/controls/api/styles/StylesTreeViewTest.java
@@ -42,7 +42,7 @@
 import org.jemmy.fx.Root;
 import org.jemmy.action.GetAction;
 import client.test.Keywords;
-import com.sun.javafx.scene.control.skin.*;
+import javafx.scene.control.skin.*;
 import javafx.scene.paint.Paint;
 import javafx.geometry.Insets;
 import com.sun.javafx.scene.layout.region.RepeatStruct;
diff --git a/functional/FxmlTests/src/test/fxmltests/app/LineNumberApp.java b/functional/FxmlTests/src/test/fxmltests/app/LineNumberApp.java
deleted file mode 100644
--- a/functional/FxmlTests/src/test/fxmltests/app/LineNumberApp.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package test.fxmltests.app;
-
-import com.sun.javafx.fxml.LoadListener;
-import com.sun.javafx.runtime.VersionInfo;
-import java.util.ArrayList;
-import java.util.List;
-import javafx.application.Application;
-import javafx.fxml.FXMLLoader;
-import javafx.scene.Node;
-import javafx.scene.Scene;
-import javafx.scene.layout.VBox;
-import javafx.scene.layout.VBoxBuilder;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.Rectangle;
-import javafx.stage.Stage;
-import test.javaclient.shared.BasicButtonChooserApp;
-import test.javaclient.shared.PageWithSlots;
-import test.javaclient.shared.TestNode;
-
-public class LineNumberApp extends BasicButtonChooserApp {
-
-    private static String FXML_MAIN_RESOURCE = "/test/fxmltests/resources/line_number.fxml";
-    private static String FXML_TYPE_RESOURCE = "/test/fxmltests/resources/line_number_type.fxml";
-    private static String FXML_PROPERTY_RESOURCE = "/test/fxmltests/resources/line_number_property.fxml";
-    public static List<Integer> importProcessingInstruction = new ArrayList<Integer>();
-    final public static Integer[] importProcessingInstructionMatrix = new Integer[]{3, 4, 5, 6, 7};
-    public static List<Integer> languageProcessingInstruction = new ArrayList<Integer>();
-    final public static Integer[] languageProcessingInstructionMatrix = new Integer[]{9};
-    public static List<Integer> comment = new ArrayList<Integer>();
-    final public static Integer[] commentMatrix = new Integer[]{12, 15};
-    public static List<Integer> instanceDeclarationElement = new ArrayList<Integer>();
-    final public static Integer[] instanceDeclarationElementMatrix = new Integer[]{25, 26, 27, 31, 32, 34, 37};
-    public static List<Integer> includeElement = new ArrayList<Integer>();
-    final public static Integer[] includeElementMatrix = new Integer[]{35};
-    public static List<Integer> referenceElement = new ArrayList<Integer>();
-    final public static Integer[] referenceElementMatrix = new Integer[]{38};
-    public static int rootElement = 0;
-    final public static int rootElementLine = 11;
-    public static List<Integer> readUnknownStaticProperty = new ArrayList<Integer>();
-    final public static Integer[] readUnknownStaticPropertyMatrix = new Integer[]{5};
-    public static List<Integer> beginUnknowStaticElement = new ArrayList<Integer>();
-    final public static Integer[] beginUnknowStaticElementMatrix = new Integer[]{5};
-    public static List<Integer> beginUnknowStaticPropertyElement = new ArrayList<Integer>();
-    final public static Integer[] beginUnknowStaticPropertyElementMatrix = new Integer[]{6};
-    public static List<Integer> propertyElement = new ArrayList<Integer>();
-    final public static Integer[] propertyElementMatrix = new Integer[]{28};
-    public static List<Integer> scriptElement = new ArrayList<Integer>();
-    final public static Integer[] scriptElementMatrix = new Integer[]{19};
-    public static List<Integer> defineElement = new ArrayList<Integer>();
-    final public static Integer[] defineElementMatrix = new Integer[]{16, 41};
-    public static List<Integer> readPropertyAttribute = new ArrayList<Integer>();
-    final public static Integer[] readPropertyAttributeMatrix = new Integer[]{11, 11, 26, 27, 27, 27, 27, 32};
-    public static List<Integer> readInternalAttribute = new ArrayList<Integer>();
-    final public static Integer[] readInternalAttributeMatrix = new Integer[]{11, 27, 35, 38};
-    public static List<Integer> readEventHandlerAttribute = new ArrayList<Integer>();
-    final public static Integer[] readEventHandlerAttributeMatrix = new Integer[]{32};
-    public static List<Integer> endElement = new ArrayList<Integer>();
-    final public static Integer[] endElementMatrix = new Integer[]{18, 24, 28, 29, 30, 32, 33, 35, 36, 38, 39, 40, 43, 44};
-    public static List<Integer> copyElement = new ArrayList<Integer>();
-    final public static Integer[] copyElementMatrix = new Integer[]{};
-    private static int WIDTH = 300;
-    private static int HEIGHT = 300;
-
-    public enum Pages {
-
-        mainPage, unknownTypePage, unknownPropertyPage
-    }
-
-    public LineNumberApp() {
-        super(WIDTH, HEIGHT, VersionInfo.getRuntimeVersion(), false);
-    }
-
-    @Override
-    protected TestNode setup() {
-        TestNode root = new TestNode();
-
-        PageWithSlots pageMain = new PageWithSlots(LineNumberApp.Pages.mainPage.name(), HEIGHT - 15, WIDTH - 10);
-        pageMain.add(new FxmlLoadPage(FXML_MAIN_RESOURCE), LineNumberApp.Pages.mainPage.name());
-
-        PageWithSlots pageType = new PageWithSlots(LineNumberApp.Pages.unknownTypePage.name(), HEIGHT - 15, WIDTH - 10);
-        pageType.add(new FxmlLoadPage(FXML_TYPE_RESOURCE), LineNumberApp.Pages.mainPage.name());
-
-        PageWithSlots pageProperty = new PageWithSlots(LineNumberApp.Pages.unknownPropertyPage.name(), HEIGHT - 15, WIDTH - 10);
-        pageProperty.add(new FxmlLoadPage(FXML_PROPERTY_RESOURCE), LineNumberApp.Pages.mainPage.name());
-
-        root.add(pageMain);
-        root.add(pageType);
-        root.add(pageProperty);
-
-        return root;
-    }
-
-    private class FxmlLoadPage extends TestNode {
-
-        private String resource;
-
-        public FxmlLoadPage(String resource) {
-            this.resource = resource;
-        }
-
-        @Override
-        public Node drawNode() {
-            LineNumberApp.reset();
-            final FXMLLoader loader = new FXMLLoader(getClass().getResource(resource));
-            loader.impl_setStaticLoad(true);
-            loader.impl_setLoadListener(new LoadListener() {
-
-                @Override
-                public void readImportProcessingInstruction(String string) {
-                    importProcessingInstruction.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void readLanguageProcessingInstruction(String string) {
-                    languageProcessingInstruction.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void readComment(String string) {
-                    comment.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginInstanceDeclarationElement(Class<?> tye) {
-                    instanceDeclarationElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginUnknownTypeElement(String string) {
-                    beginUnknowStaticElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginIncludeElement() {
-                    includeElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginReferenceElement() {
-                    referenceElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginCopyElement() {
-                    copyElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginRootElement() {
-                    rootElement = loader.impl_getLineNumber();
-                }
-
-                @Override
-                public void beginPropertyElement(String string, Class<?> type) {
-                    propertyElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginUnknownStaticPropertyElement(String string) {
-                    beginUnknowStaticPropertyElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginScriptElement() {
-                    scriptElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void beginDefineElement() {
-                    defineElement.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void readInternalAttribute(String string, String string1) {
-                    readInternalAttribute.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void readPropertyAttribute(String string, Class<?> type, String string1) {
-                    readPropertyAttribute.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void readUnknownStaticPropertyAttribute(String string, String string1) {
-                    readUnknownStaticProperty.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void readEventHandlerAttribute(String string, String string1) {
-                    readEventHandlerAttribute.add(loader.impl_getLineNumber());
-                }
-
-                @Override
-                public void endElement(Object o) {
-                    endElement.add(loader.impl_getLineNumber());
-                }
-            });
-            try {
-                loader.setRoot(VBoxBuilder.create().prefHeight(200).prefWidth(200).build());
-                return (Node) loader.load();
-            } catch (Exception exc) {
-                exc.printStackTrace();
-                return new Rectangle(10, 10) {
-
-                    {
-                        setFill(Color.RED);
-                    }
-                };
-            }
-        }
-    }
-
-    public static void main(String[] args) {
-        launch(args);
-    }
-
-    public static void reset() {
-        importProcessingInstruction.clear();
-        languageProcessingInstruction.clear();
-        comment.clear();
-        instanceDeclarationElement.clear();
-        beginUnknowStaticElement.clear();
-        includeElement.clear();
-        referenceElement.clear();
-        copyElement.clear();
-        rootElement = 0;
-        propertyElement.clear();
-        beginUnknowStaticPropertyElement.clear();
-        scriptElement.clear();
-        defineElement.clear();
-        readInternalAttribute.clear();
-        readPropertyAttribute.clear();
-        readUnknownStaticProperty.clear();
-        readEventHandlerAttribute.clear();
-        endElement.clear();
-    }
-}
diff --git a/functional/FxmlTests/src/test/fxmltests/app/LineNumberApp.java.excluded b/functional/FxmlTests/src/test/fxmltests/app/LineNumberApp.java.excluded
new file mode 100644
--- /dev/null
+++ b/functional/FxmlTests/src/test/fxmltests/app/LineNumberApp.java.excluded
@@ -0,0 +1,265 @@
+// https://bugs.openjdk.java.net/browse/INTJDK-7624138
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.fxmltests.app;
+
+import javafx.fxml.LoadListener;
+import com.sun.javafx.runtime.VersionInfo;
+import java.util.ArrayList;
+import java.util.List;
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Node;
+import javafx.scene.Scene;
+import javafx.scene.layout.VBox;
+import javafx.scene.paint.Color;
+import javafx.scene.shape.Rectangle;
+import javafx.stage.Stage;
+import test.javaclient.shared.BasicButtonChooserApp;
+import test.javaclient.shared.PageWithSlots;
+import test.javaclient.shared.TestNode;
+
+public class LineNumberApp extends BasicButtonChooserApp {
+
+    private static String FXML_MAIN_RESOURCE = "/test/fxmltests/resources/line_number.fxml";
+    private static String FXML_TYPE_RESOURCE = "/test/fxmltests/resources/line_number_type.fxml";
+    private static String FXML_PROPERTY_RESOURCE = "/test/fxmltests/resources/line_number_property.fxml";
+    public static List<Integer> importProcessingInstruction = new ArrayList<Integer>();
+    final public static Integer[] importProcessingInstructionMatrix = new Integer[]{3, 4, 5, 6, 7};
+    public static List<Integer> languageProcessingInstruction = new ArrayList<Integer>();
+    final public static Integer[] languageProcessingInstructionMatrix = new Integer[]{9};
+    public static List<Integer> comment = new ArrayList<Integer>();
+    final public static Integer[] commentMatrix = new Integer[]{12, 15};
+    public static List<Integer> instanceDeclarationElement = new ArrayList<Integer>();
+    final public static Integer[] instanceDeclarationElementMatrix = new Integer[]{25, 26, 27, 31, 32, 34, 37};
+    public static List<Integer> includeElement = new ArrayList<Integer>();
+    final public static Integer[] includeElementMatrix = new Integer[]{35};
+    public static List<Integer> referenceElement = new ArrayList<Integer>();
+    final public static Integer[] referenceElementMatrix = new Integer[]{38};
+    public static int rootElement = 0;
+    final public static int rootElementLine = 11;
+    public static List<Integer> readUnknownStaticProperty = new ArrayList<Integer>();
+    final public static Integer[] readUnknownStaticPropertyMatrix = new Integer[]{5};
+    public static List<Integer> beginUnknowStaticElement = new ArrayList<Integer>();
+    final public static Integer[] beginUnknowStaticElementMatrix = new Integer[]{5};
+    public static List<Integer> beginUnknowStaticPropertyElement = new ArrayList<Integer>();
+    final public static Integer[] beginUnknowStaticPropertyElementMatrix = new Integer[]{6};
+    public static List<Integer> propertyElement = new ArrayList<Integer>();
+    final public static Integer[] propertyElementMatrix = new Integer[]{28};
+    public static List<Integer> scriptElement = new ArrayList<Integer>();
+    final public static Integer[] scriptElementMatrix = new Integer[]{19};
+    public static List<Integer> defineElement = new ArrayList<Integer>();
+    final public static Integer[] defineElementMatrix = new Integer[]{16, 41};
+    public static List<Integer> readPropertyAttribute = new ArrayList<Integer>();
+    final public static Integer[] readPropertyAttributeMatrix = new Integer[]{11, 11, 26, 27, 27, 27, 27, 32};
+    public static List<Integer> readInternalAttribute = new ArrayList<Integer>();
+    final public static Integer[] readInternalAttributeMatrix = new Integer[]{11, 27, 35, 38};
+    public static List<Integer> readEventHandlerAttribute = new ArrayList<Integer>();
+    final public static Integer[] readEventHandlerAttributeMatrix = new Integer[]{32};
+    public static List<Integer> endElement = new ArrayList<Integer>();
+    final public static Integer[] endElementMatrix = new Integer[]{18, 24, 28, 29, 30, 32, 33, 35, 36, 38, 39, 40, 43, 44};
+    public static List<Integer> copyElement = new ArrayList<Integer>();
+    final public static Integer[] copyElementMatrix = new Integer[]{};
+    private static int WIDTH = 300;
+    private static int HEIGHT = 300;
+
+    public enum Pages {
+
+        mainPage, unknownTypePage, unknownPropertyPage
+    }
+
+    public LineNumberApp() {
+        super(WIDTH, HEIGHT, VersionInfo.getRuntimeVersion(), false);
+    }
+
+    @Override
+    protected TestNode setup() {
+        TestNode root = new TestNode();
+
+        PageWithSlots pageMain = new PageWithSlots(LineNumberApp.Pages.mainPage.name(), HEIGHT - 15, WIDTH - 10);
+        pageMain.add(new FxmlLoadPage(FXML_MAIN_RESOURCE), LineNumberApp.Pages.mainPage.name());
+
+        PageWithSlots pageType = new PageWithSlots(LineNumberApp.Pages.unknownTypePage.name(), HEIGHT - 15, WIDTH - 10);
+        pageType.add(new FxmlLoadPage(FXML_TYPE_RESOURCE), LineNumberApp.Pages.mainPage.name());
+
+        PageWithSlots pageProperty = new PageWithSlots(LineNumberApp.Pages.unknownPropertyPage.name(), HEIGHT - 15, WIDTH - 10);
+        pageProperty.add(new FxmlLoadPage(FXML_PROPERTY_RESOURCE), LineNumberApp.Pages.mainPage.name());
+
+        root.add(pageMain);
+        root.add(pageType);
+        root.add(pageProperty);
+
+        return root;
+    }
+
+    private class FxmlLoadPage extends TestNode {
+
+        private String resource;
+
+        public FxmlLoadPage(String resource) {
+            this.resource = resource;
+        }
+
+        @Override
+        public Node drawNode() {
+            LineNumberApp.reset();
+            final FXMLLoader loader = new FXMLLoader(getClass().getResource(resource));
+            loader.impl_setStaticLoad(true);
+
+            // The following line requires --add-exports javafx.fxml/com.sun.javafx.fxml=ALL-UNNAMED
+            loader.setLoadListener(new LoadListener() {
+
+                @Override
+                public void readImportProcessingInstruction(String string) {
+                    importProcessingInstruction.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void readLanguageProcessingInstruction(String string) {
+                    languageProcessingInstruction.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void readComment(String string) {
+                    comment.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginInstanceDeclarationElement(Class<?> tye) {
+                    instanceDeclarationElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginUnknownTypeElement(String string) {
+                    beginUnknowStaticElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginIncludeElement() {
+                    includeElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginReferenceElement() {
+                    referenceElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginCopyElement() {
+                    copyElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginRootElement() {
+                    rootElement = loader.impl_getLineNumber();
+                }
+
+                @Override
+                public void beginPropertyElement(String string, Class<?> type) {
+                    propertyElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginUnknownStaticPropertyElement(String string) {
+                    beginUnknowStaticPropertyElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginScriptElement() {
+                    scriptElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void beginDefineElement() {
+                    defineElement.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void readInternalAttribute(String string, String string1) {
+                    readInternalAttribute.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void readPropertyAttribute(String string, Class<?> type, String string1) {
+                    readPropertyAttribute.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void readUnknownStaticPropertyAttribute(String string, String string1) {
+                    readUnknownStaticProperty.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void readEventHandlerAttribute(String string, String string1) {
+                    readEventHandlerAttribute.add(loader.impl_getLineNumber());
+                }
+
+                @Override
+                public void endElement(Object o) {
+                    endElement.add(loader.impl_getLineNumber());
+                }
+            });
+            try {
+                VBox vb = new VBox();
+                vb.setPrefSize(200, 200);
+                loader.setRoot(vb);
+                return (Node) loader.load();
+            } catch (Exception exc) {
+                exc.printStackTrace();
+                return new Rectangle(10, 10) {
+
+                    {
+                        setFill(Color.RED);
+                    }
+                };
+            }
+        }
+    }
+
+    public static void main(String[] args) {
+        launch(args);
+    }
+
+    public static void reset() {
+        importProcessingInstruction.clear();
+        languageProcessingInstruction.clear();
+        comment.clear();
+        instanceDeclarationElement.clear();
+        beginUnknowStaticElement.clear();
+        includeElement.clear();
+        referenceElement.clear();
+        copyElement.clear();
+        rootElement = 0;
+        propertyElement.clear();
+        beginUnknowStaticPropertyElement.clear();
+        scriptElement.clear();
+        defineElement.clear();
+        readInternalAttribute.clear();
+        readPropertyAttribute.clear();
+        readUnknownStaticProperty.clear();
+        readEventHandlerAttribute.clear();
+        endElement.clear();
+    }
+}
diff --git a/functional/FxmlTests/src/test/fxmltests/app/staticPropertyLoadApp.java b/functional/FxmlTests/src/test/fxmltests/app/staticPropertyLoadApp.java
deleted file mode 100644
--- a/functional/FxmlTests/src/test/fxmltests/app/staticPropertyLoadApp.java
+++ /dev/null
@@ -1,2783 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package test.fxmltests.app;
-
-import com.sun.javafx.fxml.LoadListener;
-import com.sun.javafx.fxml.ParseTraceElement;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.ResourceBundle;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javafx.collections.FXCollections;
-import javafx.collections.ObservableList;
-import javafx.css.CssMetaData;
-import javafx.css.ParsedValue;
-import javafx.css.StyleConverter;
-import javafx.css.Styleable;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
-import javafx.fxml.FXMLLoader;
-import javafx.fxml.JavaFXBuilderFactory;
-import javafx.fxml.LoadException;
-import javafx.scene.Group;
-
-
-import javafx.scene.Node;
-import javafx.scene.Scene;
-import javafx.scene.control.Button;
-import javafx.scene.control.Label;
-import javafx.scene.control.Labeled;
-import javafx.scene.control.ListView;
-import javafx.scene.control.Menu;
-import javafx.scene.control.MenuBar;
-import javafx.scene.control.MenuItem;
-import javafx.scene.control.RadioButton;
-import javafx.scene.control.TableColumn;
-import javafx.scene.control.TableView;
-import javafx.scene.control.ToggleGroup;
-import javafx.scene.control.cell.PropertyValueFactory;
-import javafx.scene.input.KeyCombination;
-import javafx.scene.layout.*;
-import javafx.scene.paint.Color;
-import javafx.scene.paint.Paint;
-import javafx.scene.shape.Rectangle;
-import javafx.scene.text.Font;
-import javafx.scene.text.Text;
-import javafx.util.Callback;
-import javafx.util.Pair;
-import org.jemmy.control.Wrap;
-
-import test.javaclient.shared.BasicButtonChooserApp;
-import test.javaclient.shared.JemmyUtils;
-import test.javaclient.shared.PageWithSlots;
-import test.javaclient.shared.TestNode;
-import test.javaclient.shared.Utils;
-
-public class staticPropertyLoadApp extends BasicButtonChooserApp {
-
-    public static final String RESOURCE_BASE = "/test/fxmltests/resources/";
-    public static final String staticPropertyResourcePath = RESOURCE_BASE + "static-property.fxml";
-    public static final String hashmapResourcePath = RESOURCE_BASE + "hashmap.fxml";
-    public static final String customClassLoadResourcePath = RESOURCE_BASE + "include.fxml";
-    public static final String factoryResourcePath = RESOURCE_BASE + "factory.fxml";
-    public static final String builderResourcePath = RESOURCE_BASE + "builder.fxml";
-    public static final String propertyElementsResourcePath = RESOURCE_BASE + "propertyElements.fxml";
-    public static final String referenceResourcePath = RESOURCE_BASE + "reference.fxml";
-    public static final String copyResourcePath = RESOURCE_BASE + "fxcopy.fxml";
-    public static final String propertySetterResourcePath = RESOURCE_BASE + "propertySetter.fxml";
-    public static final String roListResourcePath = RESOURCE_BASE + "rolist.fxml";
-    public static final String roMapResourcePath = RESOURCE_BASE + "romap.fxml";
-    public static final String defaultPropertyResourcePath = RESOURCE_BASE + "defaultProperty.fxml";
-    public static final String fxdefineResourcePath = RESOURCE_BASE + "fxdefine.fxml";
-    public static final String fxdefine2ResourcePath = RESOURCE_BASE + "fxdefine2.fxml";
-    public static final String namespaceBindingResourcePath = RESOURCE_BASE + "namespaceBinding.fxml";
-    public static final String staticPropertiesResourcePath = RESOURCE_BASE + "static-properties.fxml";
-    public static final String rootMethodEventHandlerResourcePath = RESOURCE_BASE + "rootMethodEventHandler.fxml";
-    public static final String scriptEventHandlerResourcePath = RESOURCE_BASE + "scriptEventHandler.fxml";
-    public static final String scriptResourcePath = RESOURCE_BASE + "script.fxml";
-    public static final String menuitemResourcePath = RESOURCE_BASE + "menuitem.fxml";
-    public static final String resourceResourcePath = RESOURCE_BASE + "resourcefxml.fxml";
-    public static final String splitpanebugResourcePath = RESOURCE_BASE + "vt1.fxml";
-    public static final String throw1ResourcePath = RESOURCE_BASE + "throw1.fxml";
-    public static final String throw2ResourcePath = RESOURCE_BASE + "throw2.fxml";
-    public static final String rt19133ResourcePath = RESOURCE_BASE + "rt19133.fxml";
-
-    public static enum Pages {
-        staticProperty,HashMap,customClassAndInclude,factory,simple,
-        propertyElements,reference,copy,prSetter,roList,roMap,
-        defaultProperty,fxdefine,namespaceBinding,staticProperties,rootMethodEventHandler,
-        scriptEventHandler,script,menuItem,resources1,resources2,namespace,
-        splitpanebug,charset, loadExceptions,
-        slotDefaultLabeled, slotDefaultListview, slotDefaultMenu, slotDefaultMenuBar,
-        slotDefaultScrollpane, slotDefaultTabpane, slotDefaultTableView,
-        slotDefaultTextinput,  slotDefaultTitledpane, slotDefaultTreeview,
-        slotDefaultImageview, slotDefaultPane, slotControllerFactory,
-        specificSignatureMethod, loadfontSlot, scenebuilderSlot,
-        scenebuilderNoRoot, references2, apConstraints, coerce, listviewItems, listenerNullArg,
-        gridapplet, csspath, errorFXML, colorValueOF, escapeCharacter, collectionEventsHandlers,
-        noArgControllerMethod, overloadedControllerMethod, customIDProperty, unknownCustomType,
-        baseControllerProperty, relativeStylesheet, FXMLLoaderAPI, fullyQualifiedNames, importPI,
-    beanInstantiation, valueOf, root, fxId, fxController, noDefaultController, lateRoot,
-    lateController, variableResolution, externalScript
-
-    }
-
-    public staticPropertyLoadApp() {
-        super(800, 600, "LoadFXML", false);
-    }
-
-    Rectangle retRec = new Rectangle(10,10){{setFill(Color.GREEN);}};
-    Rectangle redRectangle = new Rectangle(10,10){{setFill(Color.RED);}};
-
-    abstract private class TestNodeWithIOExceptionProcessing extends TestNode {
-
-        abstract protected Node impl_drawNode() throws IOException;
-        protected String impl_getPathToResource() { return null; };
-        protected URL resource = null;
-        protected File f = null;
-
-        @Override
-        public Node drawNode() {
-            Node result = redRectangle;
-
-            VBox vb = null;
-
-            if (null != impl_getPathToResource()) {
-                resource = getClass().getResource(impl_getPathToResource());
-                if (null != resource && null != (f = new File(resource.getFile()))) {
-                    System.out.println("loading " + f.getPath());
-                } else {
-                    String tmpMsg = "resource file error. [" + impl_getPathToResource() + "]";
-                    System.out.println(tmpMsg);
-                    reportGetterFailure(tmpMsg);
-                    return result;
-                }
-            }
-            try {
-                result = impl_drawNode();
-            } catch (IOException ex) {
-                reportGetterFailure("TestNodeWithIOExceptionProcessing: IOException");
-                Logger.getLogger(staticPropertyLoadApp.class.getName()).log(Level.SEVERE, null, ex);
-            } catch (Exception ex) {
-                reportGetterFailure("TestNodeWithIOExceptionProcessing: Exception");
-                Logger.getLogger(staticPropertyLoadApp.class.getName()).log(Level.SEVERE, null, ex);
-            }
-            return result;
-        }
-    }
-
-    private class slotStaticProperty extends TestNodeWithIOExceptionProcessing {
-        @Override
-        protected String impl_getPathToResource() {
-            return staticPropertyResourcePath;
-        }
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return uplevelNode;
-        }
-    }
-
-    private class hashmaptest extends TestNodeWithIOExceptionProcessing {
-
-        HashMap hm = null;
-        String value1;
-        String value2;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return hashmapResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-
-            try {
-                hm = FXMLLoader.load(resource);
-                value1 = (String) hm.get("foo");
-                value2 = (String) hm.get("bar");
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            if (value1.equals("123") && value2.equals("456")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    CustomClass cc;
-    private class customClassLoadSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return customClassLoadResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            FXMLLoader fxmlLoader = new FXMLLoader();
-
-            InputStream is = null;
-            try {
-                fxmlLoader.setLocation(resource);
-                is = resource.openStream();
-                cc = (CustomClass) fxmlLoader.load(is);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-
-//            System.out.println("   includes: " + fxmlLoader.getIncludes());
-            System.out.println("cc.getFld(): " + cc.getFld());
-
-            if (cc.getFld().equals("fine!")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class factorySlot extends TestNodeWithIOExceptionProcessing {
-
-        ObservableList<String> ss = FXCollections.observableArrayList();
-
-        @Override
-        protected String impl_getPathToResource() {
-            return factoryResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            try {
-                ss = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            if (ss.get(0).equals("A") && ss.get(1).equals("B") && ss.get(2).equals("C")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class simpleSlot extends TestNodeWithIOExceptionProcessing {
-
-        Color color = Color.ALICEBLUE;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return builderResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader2 = new FXMLLoader();
-                is = resource.openStream();
-                ClassLoader defaultClassLoader = fxmlLoader2.getClassLoader();
-
-                fxmlLoader2.setBuilderFactory(new JavaFXBuilderFactory(defaultClassLoader));
-                color = (Color) fxmlLoader2.load(is); // see RT-18091
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            System.out.println("color: " + color);
-            if (color.equals(Color.color(1., 0., 0.))) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class propertyElementsSlot extends TestNodeWithIOExceptionProcessing {
-
-        Label label;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return propertyElementsResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                label = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            if (label.getText().equals("label")) {
-                return label;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class referenceSlot extends TestNodeWithIOExceptionProcessing {
-
-        List<Label> lst = new ArrayList();
-
-        @Override
-        protected String impl_getPathToResource() {
-            return referenceResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                lst = FXMLLoader.load(resource); // was: f.toURI().toURL(). does not work with jnlp http://javafx-jira.kenai.com/browse/RT-17736
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            if (lst.get(0).getText().equals(lst.get(1).getText())) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class copySlot extends TestNodeWithIOExceptionProcessing {
-
-        List<Label> lst = new ArrayList();
-
-        @Override
-        protected String impl_getPathToResource() {
-            return copyResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                lst = (List<Label>) FXMLLoader.load(resource);  //inputStream
-            } catch (Exception e) {
-                System.out.println("message2: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            }
-            if (3 == lst.size()) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class propertySetterSlot extends TestNodeWithIOExceptionProcessing {
-
-        Label label;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return propertySetterResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                label = FXMLLoader.load(resource);
-
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            if (label.getText().equals("txt")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class roListSlot extends TestNodeWithIOExceptionProcessing {
-
-        Group gr;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return roListResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                gr = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            }
-            Node n =((Rectangle) gr.getChildren().get(0));
-            String strId = n.getId();
-            if (strId.equals("rectangle1")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class roMapSlot extends TestNodeWithIOExceptionProcessing {
-
-        JavaFXBuilderFactory builderFactory = new JavaFXBuilderFactory();
-        FXMLLoader fxmlLoader = new FXMLLoader();
-        Button btn;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return roMapResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            InputStream is = getClass().getResourceAsStream(impl_getPathToResource());
-
-            try {
-                fxmlLoader.setBuilderFactory(builderFactory);
-                btn = (Button) fxmlLoader.load(is);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            if (builderFactory != fxmlLoader.getBuilderFactory()) {
-                reportGetterFailure("fxmlLoader.getBuilderFactory() failed.");
-            }
-
-            if (btn.getProperties().get("foo").equals("123")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class defaultPropertySlot extends TestNodeWithIOExceptionProcessing {
-
-        Group gr;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                gr = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            if (((Rectangle) gr.getChildren().get(1)).getId().equals("rectangle2")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class fxdefineSlot extends TestNodeWithIOExceptionProcessing {
-
-        VBox vb;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return fxdefineResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                vb = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            if (((RadioButton) vb.getChildren().get(0)).getText().equals("A")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class namespaceBindingSlot extends TestNodeWithIOExceptionProcessing {
-
-        public VBox vb;
-        FXMLLoader fxmlLoader2 = new FXMLLoader();
-
-        @Override
-        protected String impl_getPathToResource() {
-            return namespaceBindingResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            InputStream is = null;
-            try {
-                is = resource.openStream();
-                vb = (VBox) fxmlLoader2.load(is);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            if (null == vb) {
-                System.out.println("Custom class instance is null");
-                reportGetterFailure("failed 1.");
-            }
-
-            Button b = (Button) vb.getChildren().get(0);
-
-            if (null == vb.getChildren().get(0)) {
-                System.out.println("button field  is null");
-                reportGetterFailure("failed 2.");
-            }
-            if (!(null != vb && null != b && null != b.getOnAction())) {
-                reportGetterFailure("failed.");
-            }
-
-            MyRootElement mr = (MyRootElement) fxmlLoader2.getController();
-            System.out.println("mr: " + mr.toString());
-            System.out.println("getController(): " + fxmlLoader2.getController());
-
-            if ((null != mr)
-                    && (mr.toString().contains("MyRootElement"))) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class staticPropertiesSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return staticPropertiesResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-
-            try {
-                FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-                return redRectangle;
-            }
-
-            return retRec;
-        }
-    }
-
-    private class rootMethodEventHandlerSlot extends TestNodeWithIOExceptionProcessing {
-
-        MyRootElement2 mr;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return rootMethodEventHandlerResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                mr = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            }
-
-            Button bbb = (Button) mr.getChildren().get(0);
-            EventHandler<ActionEvent> hndlr = bbb.getOnAction();
-            if (null != hndlr) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class scriptEventHandlerSlot extends TestNodeWithIOExceptionProcessing {
-
-        MyRootElement2 mr;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return scriptEventHandlerResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-
-            try {
-                mr = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            Button bbb = (Button) mr.getChildren().get(0);
-            EventHandler<ActionEvent> hndlr = bbb.getOnAction();
-            if (null != hndlr) {
-                return mr;//retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class scriptSlot extends TestNodeWithIOExceptionProcessing {
-
-        VBox vb;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return scriptResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-
-            try {
-                vb = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-            Button bbb = (Button) vb.getChildren().get(0);
-            EventHandler<ActionEvent> hndlr = bbb.getOnAction();
-            if (null != hndlr) {
-                return vb;//retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-    private class menuitemSlot extends TestNodeWithIOExceptionProcessing {
-        //http://javafx-jira.kenai.com/browse/RT-17715
-
-        MenuItem mi2;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return menuitemResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            /*
-            MenuItem mi = new MenuItem();
-            mi.setText("open...");
-            mi.setGraphic(new ImageView());
-            mi.setAccelerator(KeyCombination.keyCombination("CTRL+N"));
-             */
-
-            try {
-                mi2 = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            }
-            System.out.println("DEBUG: menuItem.getText()=" + ((null != mi2) ? mi2.getText() : "(null)"));
-            if ((null != mi2)
-                    && (0 == "open...".compareTo(mi2.getText()))
-                    && (KeyCombination.keyCombination("CTRL+N").equals(mi2.getAccelerator()))) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-        }
-    }
-
-
-/*
- * localization using setResources()
- */
-    private class resource1Slot extends TestNodeWithIOExceptionProcessing {
-
-        MenuItem mi2;
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                URL resourceURL = getClass().getResource(resourceResourcePath);
-                Locale currentLocale = new Locale("en", "US");
-                ResourceBundle resourceBundle = ResourceBundle.getBundle("test.fxmltests.resources.resource1", currentLocale);
-                FXMLLoader fxmlLoader2 = new FXMLLoader();
-
-                fxmlLoader2.setResources(resourceBundle);
-                System.out.println("resources: " + fxmlLoader2.getResources());
-                fxmlLoader2.setBuilderFactory(new JavaFXBuilderFactory());
-
-                System.out.println("xxx loading " + resourceURL);
-                InputStream is = null;
-                try {
-
-                    is = resourceURL.openStream();
-                    mi2 = (MenuItem) fxmlLoader2.load(is);
-
-                } catch (Exception e) {
-                    System.out.println("message: " + e.getMessage());
-                    e.printStackTrace();
-                    reportGetterFailure("exception thrown.");
-                } finally {
-                    is.close();
-                }
-
-                System.out.println("resources: " + fxmlLoader2.getResources());
-                System.out.println("charset: " + fxmlLoader2.getCharset());
-                System.out.println("location: " + fxmlLoader2.getLocation());
-                System.out.println("bf: " + fxmlLoader2.getBuilderFactory());
-                System.out.println("namespace: " + fxmlLoader2.getNamespace());
-//                System.out.println("includes: " + fxmlLoader2.getIncludes());
-
-
-                System.out.println("DEBUG: menuItem.getText()=" + ((null != mi2) ? mi2.getText() : "(null)"));
-                if ((null != mi2)
-                        && (0 == "close".compareTo(mi2.getText()))) {
-                    boolean pass = true;
-                } else {
-                    reportGetterFailure("failed.");
-                }
-            } catch (IOException ex) {
-                Logger.getLogger(staticPropertyLoadApp.class.getName()).log(Level.SEVERE, null, ex);
-            }
-            return retRec;
-        }
-    }
-
-
-/*
- * localization wirh resources mentioned in load()
- */
-    private class resource2Slot extends TestNodeWithIOExceptionProcessing {
-
-        MenuItem mi2;
-
-        @Override
-        public Node impl_drawNode() {
-            URL resourceURL = getClass().getResource(resourceResourcePath);
-            Locale currentLocale = new Locale("en", "US");
-            ResourceBundle resourceBundle = ResourceBundle.getBundle("test.fxmltests.resources.resource1", currentLocale);
-
-            System.out.println("xxx loading " + resourceURL);
-            try {
-
-                mi2 = (MenuItem) FXMLLoader.load(resourceURL, resourceBundle);
-
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            }
-
-            System.out.println("DEBUG: menuItem.getText()=" + ((null != mi2) ? mi2.getText() : "(null)"));
-            if ((null != mi2)
-                    && (0 == "close".compareTo(mi2.getText()))) {
-                boolean pass = true;
-            } else {
-                reportGetterFailure("failed.");
-            }
-            return retRec;
-        }
-    }
-
-/*
- * getNamespace test
- */
-    private class namespaceSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            URL resourceURL = getClass().getResource(fxdefine2ResourcePath);
-            JavaFXBuilderFactory builderFactory = new JavaFXBuilderFactory();
-            FXMLLoader fxmlLoader = new FXMLLoader();
-            fxmlLoader.setBuilderFactory(builderFactory);
-
-            InputStream is = null;
-            System.out.println("xxx loading " + resourceURL);
-            try {
-                is = resourceURL.openStream();
-                fxmlLoader.load(is);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-
-            System.out.println("namespace: " + fxmlLoader.getNamespace());
-            System.out.println("empty: " + fxmlLoader.getNamespace().isEmpty());
-            System.out.println("nonexisting key vb5: " + fxmlLoader.getNamespace().get("vb5"));
-
-            Node n = (Node)fxmlLoader.getNamespace().get("vb1");
-            String xxx = (null != n)?(n.getId()):"";
-            System.out.println("existing key vb1: " + fxmlLoader.getNamespace().get("vb1") + " / id=" + xxx);
-            System.out.println("getRoot: " + fxmlLoader.getRoot());
-
-            if ((null != (fxmlLoader.getNamespace().get("vb1")))
-                    && (null == (fxmlLoader.getNamespace().get("vb5")))
-                    && (fxmlLoader.getRoot().toString().equals("VBox[id=vb1]"))) {
-                boolean pass = true;
-            } else {
-                reportGetterFailure("failed.");
-            }
-            return retRec;
-        }
-    }
-
-
-    private class splitpanebugSlot extends TestNodeWithIOExceptionProcessing {
-        // http://javafx-jira.kenai.com/browse/RT-16977
-        @Override
-        public Node impl_drawNode() throws IOException {
-            URL resourceURL = getClass().getResource(splitpanebugResourcePath);
-            JavaFXBuilderFactory builderFactory = new JavaFXBuilderFactory();
-            FXMLLoader fxmlLoader = new FXMLLoader();
-            fxmlLoader.setBuilderFactory(builderFactory);
-
-            InputStream is = null;
-            System.out.println("loading " + resourceURL);
-            try {
-                //  fxmlLoader.setLocation(new URL(RESOURCE_BASE));
-                //  ResourceBundle rb = new ResourceBundle();
-                //   fxmlLoader.setResources(rb);
-                is = resourceURL.openStream();
-                fxmlLoader.load(is);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            } catch (Throwable e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            System.out.println("loaded. ");
-            return retRec;
-        }
-    }
-
-    private class charsetSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return "/test/fxmltests/resources/include3.fxml"; // customClassLoadResourcePath
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Charset encoding = Charset.forName("UTF-16");
-            FXMLLoader fxmlLoader = new FXMLLoader(encoding);
-            fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
-
-            //Locale currentLocale = new Locale("en", "US");
-            //ResourceBundle resourceBundle = ResourceBundle.getBundle("test.fxmltests.resources.resource1", currentLocale);
-            //fxmlLoader.setResources(resourceBundle);
-
-            InputStream is = null;
-            try {
-                // fxmlLoader.setLocation(resource);
-                System.out.println("   charset: " + fxmlLoader.getCharset());
-                is = resource.openStream();
-                fxmlLoader.load(is);
-
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-
-            System.out.println("   location: " + fxmlLoader.getLocation());
-            System.out.println("   charset: " + fxmlLoader.getCharset());
-
-            if (fxmlLoader.getCharset().toString().equals("UTF-16")) {
-                return retRec;
-            } else {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            }
-
-        }
-    }
-
-    /*
-     * LoadExceptions test
-     */
-    private class loadExceptionsSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        public Node impl_drawNode() throws IOException{
-
-            URL resourceURL1 = getClass().getResource(throw1ResourcePath);
-            URL resourceURL2 = getClass().getResource(throw2ResourcePath);
-            FXMLLoader fxmlLoader = new FXMLLoader();
-            fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
-            boolean exception1Thrown = false;
-            boolean exception2Thrown = false;
-
-            InputStream is = null;
-            System.out.println("loading RES 1 / " + resourceURL1);
-            try {
-                is = resourceURL1.openStream();
-                fxmlLoader.load(is);
-            } catch (LoadException e) {
-                System.out.println("THROWN   msg: " + e.getMessage());
-                System.out.println("THROWN cause: " + e.getCause());
-                exception1Thrown = true;
-
-                ParseTraceElement ptes[] = fxmlLoader.impl_getParseTrace();
-                for (ParseTraceElement pte: ptes) {
-                    // see rt-19329
-                    System.out.println("trace element: " + pte);
-                }
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-
-            is = null;
-            System.out.println("loading RES 2 / " + resourceURL2);
-            try {
-                is = resourceURL2.openStream();
-                fxmlLoader.load(is);
-            } catch (LoadException e) {
-                exception2Thrown = true;
-                System.out.println("2 THROWN   msg: " + e.getMessage());
-                System.out.println("2 THROWN cause: " + e.getCause());
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-
-
-            if ((true == exception1Thrown) && (true == exception2Thrown)) {
-                boolean pass = true;
-            } else {
-                reportGetterFailure("failed.");
-            }
-            return retRec;
-        }
-    }
-
-
-
-/*
- *
-Class javafx/fxml/FXMLLoader
- *
-+ getBuilderFactory()Ljavafx/util/BuilderFactory;   -   -   -   -   -   -   -   -   -   -   -   -
-+ getCharset()Ljava/nio/charset/Charset;    -   -   -   -   -   -   -   -   -   -   -   -
-+ getController()Ljava/lang/Object;     -   -   -   -   -   -   -   -   -   -   -   -
-+ getIncludes()Ljava/util/List;     -   -   -   -   -   -   -   -   -   -   -   -
-getLoadListener()Lcom/sun/javafx/fxml/LoadListener;     -   -   -   -   -   -   -   -   -   -   -   -
-+ getLocation()Ljava/net/URL;   -   -   -   -   -   -   -   -   -   -   -   -
-+ getNamespace()Ljavafx/collections/ObservableMap;  -   -   -   -   -   -   -   -   -   -   -   -
-+ getResources()Ljava/util/ResourceBundle;  -   -   -   -   -   -   -   -   -   -   -   -
-+ getRoot()Ljava/lang/Object;   -   -   -   -   -   -   -   -   -   -   -   -
-isStaticLoad()Z
- */
- //   Button b;
-
-    public static final String defaultPropertyLabeledResourcePath = RESOURCE_BASE + "rt14879-labeled.fxml";
-
-    private class slotDefaultLabeled extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyLabeledResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyListViewResourcePath = RESOURCE_BASE + "rt14879-listview.fxml";
-
-    private class slotDefaultListview extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyListViewResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            /* DEBUG.   let it be here for a while
-            ListView lv = new ListView();
-            String st = "str";
-            lv.getItems().add(st);
-            lv.getItems().add(st);
-            lv.getItems().add(st);
-             *
-             */
-
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyMenuResourcePath = RESOURCE_BASE + "rt14879-menu.fxml";
-
-    private class slotDefaultMenu extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyMenuResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Menu uplevelNode = null;
-            FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            try {
-                    uplevelNode = (Menu)fxmlLoader.load();
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-                ParseTraceElement ptes[] = fxmlLoader.impl_getParseTrace();
-                for (ParseTraceElement pte: ptes) {
-                    // see rt-19329
-                    System.out.println("trace element: " + pte);
-                }
-
-            }
-            MenuBar mb = new MenuBar();
-            mb.getMenus().add(uplevelNode);
-            // debug: uplevelNode.getItems().add(new MenuItem("open!!"));
-            return mb;
-        }
-    }
-
-    public static final String defaultPropertyMenuBarResourcePath = RESOURCE_BASE + "rt14879-menubar.fxml";
-
-    private class slotDefaultMenuBar extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyMenuBarResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyScrollpaneResourcePath = RESOURCE_BASE + "rt14879-scrollpane.fxml";
-
-    private class slotDefaultScrollpane extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyScrollpaneResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyTabpaneResourcePath = RESOURCE_BASE + "rt14879-tabpane.fxml";
-
-    private class slotDefaultTabpane extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyTabpaneResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyTableViewResourcePath = RESOURCE_BASE + "rt14879-tableview.fxml";
-
-    private class slotDefaultTableview extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyTableViewResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            TableView<Text> table = new TableView<Text>();
-
-            try {
-                table =
-                        FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            TableColumn<Text, String> firstNameCol = new TableColumn<Text, String>("First Name");
-            firstNameCol.setCellValueFactory(new PropertyValueFactory("text"));
-            table.getColumns().setAll(firstNameCol);
-
-            Object o = table.getItems().get(0);
-            System.out.println("item0 type: " + o.getClass().getName());
-            System.out.println("item0 text: " + table.getItems().get(0).getText());
-
-            return table;
-        }
-    }
-
-    public static final String defaultPropertyTextinputResourcePath = RESOURCE_BASE + "rt14879-textinput.fxml";
-
-    private class slotDefaultTextinput extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyTextinputResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyTitledpaneResourcePath = RESOURCE_BASE + "rt14879-titledpane.fxml";
-
-    private class slotDefaultTitledpane extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyTitledpaneResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyTreeviewResourcePath = RESOURCE_BASE + "rt14879-treeview.fxml";
-
-    private class slotDefaultTreeview extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyTreeviewResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            //Font f = null;
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyImageviewResourcePath = RESOURCE_BASE + "rt14879-imageview.fxml";
-
-    private class slotDefaultImageview extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyImageviewResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return uplevelNode;
-        }
-    }
-
-    public static final String defaultPropertyPaneResourcePath = RESOURCE_BASE + "rt14879-pane.fxml";
-
-    private class slotDefaultPane extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return defaultPropertyPaneResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Node uplevelNode = null;
-            try {
-                uplevelNode = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return uplevelNode;
-        }
-    }
-
-    public static final String controllerFactoryPath = RESOURCE_BASE + "rt_16724.fxml";
-
-    private class controllerFactoryPane extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return controllerFactoryPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            LoadableEntity uplevelNode = null;
-            boolean cntrlrFctryInvoked = false;
-            boolean cntrlrInvoked = false;
-            FXMLLoader fxmlLoader2 = new FXMLLoader();
-            Callback cfViaGetter = null;
-
-            RT_16724ControllerFactory cf = new RT_16724ControllerFactory();
-            try {
-
-                uplevelNode =
-                    FXMLLoader.load(resource, null, null,  cf);
-
-                cntrlrFctryInvoked = cf.isInvoked();
-                RT_16724Controller cntrlr = cf.getCntrlr();
-                cntrlrInvoked = cntrlr.isInvoked();
-
-                fxmlLoader2.setControllerFactory(cf);
-                cfViaGetter = fxmlLoader2.getControllerFactory();
-
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            System.out.println("name: " + uplevelNode.getName());
-
-            if ( cf != cfViaGetter ){
-                reportGetterFailure("cf via getter failed");
-            }
-
-            if ( 0 != "nameLoadedViaDefaultProperty".compareTo(uplevelNode.getName())) {
-                reportGetterFailure("load using defaultProperty in custom class failed");
-            }
-            if ( false == cntrlrFctryInvoked || false == cntrlrInvoked ) {
-                reportGetterFailure("failed.");
-                return redRectangle;
-            } else {
-                return retRec;
-            }
-
-        }
-    }
-
-
-    public static final String specificSignatureMethodPath = RESOURCE_BASE + "rt_18229.fxml";
-
-    private class specificSignatureMethodPane extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return specificSignatureMethodPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-        FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            try {
-                    fxmlLoader.load();
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-        RT_18229Controller controller = (RT_18229Controller)fxmlLoader.getController();
-        if ( 0 != "abc".compareTo(controller.getRootName1())) {
-            reportGetterFailure("compare 1");
-        }
-        if ( 0 != "def".compareTo(controller.getRootName2())) {
-            reportGetterFailure("compare 2");
-        }
-
-        final String rootName1 = "123";
-        controller.getRoot().setName1(rootName1);
-        if ( 0 != rootName1.compareTo(controller.getRootName1())) {
-            reportGetterFailure("compare 3");
-        }
-
-        final String rootName2 = "456";
-        controller.getRoot().setName2(rootName2);
-
-        if ( 0 != rootName2.compareTo(controller.getRootName2())) {
-            reportGetterFailure("compare 4");
-        }
-
-            return retRec;
-        }
-    }
-
-    public static final String loadfontPath = RESOURCE_BASE + "fontload.fxml";
-
-    private class loadfontSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return loadfontPath ;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Font fnt = null;
-            FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            try {
-                 fnt = (Font) fxmlLoader.load();
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            System.out.println("font name: " + fnt.getName());
-            if ( 0 != "Lucida Bright Demibold".compareTo(fnt.getName())) {
-                reportGetterFailure("font name check failed");
-            }
-
-            return retRec;
-        }
-    }
-
-    public static final String scenebuilderPath = RESOURCE_BASE + "scenebuilder.fxml";
-
-    private class scenebuilderSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return scenebuilderPath ;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Scene tmpScene = null;
-            FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            try {
-                 tmpScene = (Scene) fxmlLoader.load();
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            if ( 150 != tmpScene.getHeight()) {
-                reportGetterFailure("sceneHeight check failed");
-            }
-            if ( 100 != tmpScene.getWidth()) {
-                reportGetterFailure("sceneWidth check failed");
-            }
-
-            return tmpScene.getRoot();
-        }
-    }
-
-
-    public static final String rt18299ResourcePath = RESOURCE_BASE + "rt18299-scene-without-root.fxml";
-    private class scenebuilderNoRootSlot extends scenebuilderSlot
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt18299ResourcePath;
-        }
-
-    }
-
-    public static final String rt19329ResourcePath = RESOURCE_BASE + "rt19329-error-FXML.fxml";
-    public static final String ERROR_INFO_ID = "error_info";
-    //public static final String FXML_ERROR_LOCATION = "<ErrorTag is not a valid type.>fxml:12";
-    private class errorFXMLLoader extends TestNodeWithIOExceptionProcessing
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt19329ResourcePath;
-        }
-
-        @Override
-        protected Node impl_drawNode() throws IOException
-        {
-            final Label label = new Label();
-            label.setId(ERROR_INFO_ID);
-            FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            try
-            {
-                 fxmlLoader.load();
-            }
-            catch(IOException e)
-            {
-                boolean lineNumberPresentAndCorrect = false;
-                System.out.println("Exception text=" + e.getMessage());
-                if (e.getMessage().contains("ErrorTag") &&
-                     e.getMessage().contains("fxml:12"))
-                {
-                    return retRec;
-                }
-            }
-            reportGetterFailure("wrong error message");
-            return label;
-        }
-
-    }
-
-    public static final String rt18218ResourcePath = RESOURCE_BASE + "rt18218-unknown-custom-type.fxml";
-    public static final String LOADER_LOG_ID = "loader_log";
-    public static final String SUCCESSFUL_STATIC_LOAD = "success";
-    private class UnknownCustomType extends TestNodeWithIOExceptionProcessing
-    {
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt18218ResourcePath;
-        }
-
-        @Override
-        protected Node impl_drawNode() throws IOException
-        {
-            final Label label = new Label();
-            label.setId(LOADER_LOG_ID);
-            FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            fxmlLoader.impl_setStaticLoad(true);
-            try
-            {
-                 fxmlLoader.load();
-                 label.setText(SUCCESSFUL_STATIC_LOAD);
-            }
-            catch(LoadException e)
-            {
-                e.printStackTrace();
-                for(ParseTraceElement trace: fxmlLoader.impl_getParseTrace())
-                {
-                    label.setText(label.getText() + trace.toString() + '\n');
-                }
-            }
-
-            return label;
-        }
-
-    }
-
-    public static final String rt14345ResourcePath = RESOURCE_BASE + "rt14345-color-valueOf.fxml";
-    private class ColorValueOf extends TestNodeWithIOExceptionProcessing
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt14345ResourcePath;
-        }
-
-        @Override
-        protected Node impl_drawNode() throws IOException
-        {
-            FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            Node node = null;
-            try
-            {
-                 node = (Node) fxmlLoader.load();
-            }
-            catch(Exception e)
-            {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            return node;
-        }
-
-    }
-
-    public static final String rt18680ResourcePath = RESOURCE_BASE + "rt18680-escape-character.fxml";
-    private class EscapeCharacter extends TestNodeWithIOExceptionProcessing
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt18680ResourcePath;
-        }
-
-        @Override
-        protected Node impl_drawNode() throws IOException
-        {
-            FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            VBox node = null;
-            try
-            {
-                 node = (VBox) fxmlLoader.load();
-                 for(Node child: node.getChildren())
-                 {
-                     if((child.getId().equals("label_1")
-                             || child.getId().equals("label_2"))
-                         && !((Label) child).getText().equals("${foo}"))
-                     {
-                         reportGetterFailure(child.getId() + " text check failed");
-                     }
-                     if((child.getId().equals("label_3")
-                             || child.getId().equals("label_4"))
-                         && !((Label) child).getText().equals("@{foo}"))
-                     {
-                         reportGetterFailure(child.getId() + " text check failed");
-                     }
-                     if((child.getId().equals("label_5")
-                             || child.getId().equals("label_6"))
-                         && !((Label) child).getText().equals("%{foo}"))
-                     {
-                         reportGetterFailure(child.getId() + " text check failed");
-                     }
-                 }
-            }
-            catch(Exception e)
-            {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            return node;
-        }
-
-    }
-
-    public static final String rt17714ResourcePath = RESOURCE_BASE + "rt17714-collection-events-handlers.fxml";
-    private class CollectionEventsHandlers extends TestNodeWithIOExceptionProcessing
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt17714ResourcePath;
-        }
-
-        @Override
-        protected Node impl_drawNode() throws IOException
-        {
-            FXMLLoader fxmlLoader = new FXMLLoader(resource);
-            ObservableList<String> observableArrayList = null;
-            //javafx.collections.FXCollections.observableArrayList();
-            try
-            {
-                 observableArrayList = (ObservableList<String>) fxmlLoader.load();
-                 System.out.println(fxmlLoader.getController().getClass());
-                 observableArrayList.add("New added string");
-            }
-            catch(Exception e)
-            {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-
-            if(1 != CollectionController.callCount)
-            {
-                reportGetterFailure("Controller didn't handle event");
-            }
-
-            return new Label(observableArrayList.get(0).toString());
-        }
-
-    }
-
-    public static final String rt18229ResourcePath = RESOURCE_BASE + "rt18229-no-args-controller-method.fxml";
-    private class NoArgsControllerMethod extends TestNodeWithIOExceptionProcessing
-    {
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt18229ResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException
-        {
-            FXMLLoader loader = new FXMLLoader(resource);
-            Button button = null;
-            try
-            {
-                button = (Button) loader.load();
-                System.out.println(button.getId());
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return button;
-        }
-    }
-
-    public static final String rt18229OverloadedResourcePath = RESOURCE_BASE + "rt18229-overloaded-controller-method.fxml";
-    private class OverloadedControllerMethod extends TestNodeWithIOExceptionProcessing
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt18229OverloadedResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException
-        {
-            FXMLLoader loader = new FXMLLoader(resource);
-            Button button = null;
-            try
-            {
-                button = (Button) loader.load();
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return button;
-        }
-
-    }
-
-    public static final String rt17657ResourcePath = RESOURCE_BASE + "rt17657-custom-id-property.fxml";
-    private class CustomIDProperty extends TestNodeWithIOExceptionProcessing
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt17657ResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException
-        {
-            FXMLLoader loader = new FXMLLoader(resource);
-            CustomIDButton button = null;
-            try
-            {
-                button = (CustomIDButton) loader.load();
-                System.out.println(button.getCustomID());
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return button;
-
-        }
-
-    }
-
-    public static final String rt16722ResourcePath = RESOURCE_BASE + "rt16722-base-controller-properties.fxml";
-    private class BaseColntrollerProperty extends TestNodeWithIOExceptionProcessing
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt16722ResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException
-        {
-            FXMLLoader loader = new FXMLLoader(resource);
-            VBox vBox = null;
-            try
-            {
-                vBox = (VBox) loader.load();
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return vBox;
-
-        }
-
-    }
-
-    public static final String rt18956ResourcePath = RESOURCE_BASE + "rt18956-relative-stylesheets.fxml";
-    private class RelativeStylesheet extends TestNodeWithIOExceptionProcessing
-    {
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt18956ResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException
-        {
-            FXMLLoader loader = new FXMLLoader(resource);
-            Label label = null;
-            try
-            {
-                label = (Label) loader.load();
-                System.out.println("font:" + label.getFont().toString());
-
-                System.out.println("Style:");
-                System.out.println(label.getStyle());
-                final ObservableList<String> sheets = label.getStylesheets();
-                for (String str : sheets)
-                    System.out.println("sheet:" + str);
-                if (null != label.getBackground()) {
-                final List<BackgroundFill> lbf =
-                    label.getBackground().getFills();
-
-
-                for (BackgroundFill bf : lbf)
-                    System.out.println("fill:" + bf.toString());
-                } else {
-                    System.out.println("null == label.getBackground() ");
-                }
-                final List<CssMetaData<? extends Styleable, ?>> ls =
-                    label.getControlCssMetaData();
-
-
-                for (CssMetaData<? extends Styleable, ?> md : ls)
-                {
-                    System.out.println("css:" + md.toString());
-                    if (md.getProperty().equals("-fx-region-background")){
-                        final List<CssMetaData<? extends Styleable, ?>> subList =
-                            md.getSubProperties();
-                            for (CssMetaData<? extends Styleable, ?> smd : subList){
-                                System.out.println("   subcss:" + smd.toString());
-                                if (smd.getProperty().equals("-fx-background-color")){
-
-                                }
-                            }
-                    }
-
-                }
-
-
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return label;
-
-        }
-
-    }
-
-    public static final String rt16815ResourcePath = RESOURCE_BASE + "FXMLLoaderAPI.fxml";
-    private class FXMLLoaderAPI extends TestNodeWithIOExceptionProcessing
-    {
-
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return rt16815ResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException
-        {
-            FXMLLoader loader = new FXMLLoader(resource);
-            ResourceBundle rb = ResourceBundle.getBundle("test.fxmltests.resources.resource1",  new Locale("en", "US"));
-            FXMLLoader loader2 = new FXMLLoader(resource, rb);
-            FXMLLoader loader3 = new FXMLLoader(resource, rb, new JavaFXBuilderFactory());
-            ObservableList<Labeled> list = FXCollections.observableArrayList();
-            try
-            {
-                list.add((Labeled) loader.load());
-//                System.out.println(label.getStyle());
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            try
-            {
-                list.add((Labeled) loader2.load());
-//                System.out.println(label.getStyle());
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            try
-            {
-                list.add((Labeled) loader3.load());
-//                System.out.println(label.getStyle());
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return VBoxBuilder.create().children(list).build();
-
-        }
-
-    }
-
-    public static final String references2Path = RESOURCE_BASE + "ref_test.fxml";
-    private class references2Slot extends TestNodeWithIOExceptionProcessing {
-        // RT-18178
-        AnchorPane anchorPane = null;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return references2Path;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader2 = new FXMLLoader();
-                is = resource.openStream();
-                anchorPane = (AnchorPane) fxmlLoader2.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-
-
-            Button button = null;
-            Label label = null;
-            for (Node node : anchorPane.getChildren()) {
-                if (node instanceof Button) {
-                    button = (Button)node;
-                }
-                if (node instanceof Label) {
-                    label = (Label)node;
-                }
-            }
-
-            if ( null != label && null != button ) {
-                System.out.println("label: " + label.getFont() + " / " + label.getTextFill());
-                System.out.println("button: " + button.getFont() + " / " + button.getTextFill());
-
-                if (label.getTextFill().equals(button.getTextFill()) &&
-                    label.getFont().equals(button.getFont())) {
-                        return retRec;
-                }
-            }
-            reportGetterFailure("failed.");
-            return redRectangle;
-        }
-    }
-
-
-
-    public static final String apConstraintsPath = RESOURCE_BASE + "project-with-all-AnchorPane-constraints.fxml";
-    private class apConstraintsSlot extends TestNodeWithIOExceptionProcessing {
-        // RT-18178
-        AnchorPane anchorPane = null;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return apConstraintsPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader2 = new FXMLLoader();
-                is = resource.openStream();
-                anchorPane = (AnchorPane) fxmlLoader2.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-
-                        return retRec;
-        }
-    }
-
-
-
-
-    public static final String coercePath = RESOURCE_BASE + "project-with-all-p2-components.fxml";
-    private class coerceSlot extends TestNodeWithIOExceptionProcessing {
-        // RT-18178
-        AnchorPane anchorPane = null;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return coercePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader2 = new FXMLLoader();
-                is = resource.openStream();
-                anchorPane = (AnchorPane) fxmlLoader2.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            return retRec;
-        }
-    }
-
-    public static final String gridappletPath = RESOURCE_BASE + "rt19752.fxml";
-    private class gridappletSlot extends TestNodeWithIOExceptionProcessing {
-        // RT-18178
-        GridPane gridPane = null;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return gridappletPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader2 = new FXMLLoader();
-                is = resource.openStream();
-                gridPane = (GridPane) fxmlLoader2.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            return retRec;
-        }
-    }
-
-    /*
-    public static final String csspathPath = RESOURCE_BASE + "rt18956.xml";
-    private class csspathSlot extends TestNodeWithIOExceptionProcessing {
-        // RT-18956
-        BorderPane gridPane = null;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return csspathPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader2 = new FXMLLoader();
-                fxmlLoader2.setLocation(resource);
-
-                is = resource.openStream();
-                URL ggg;
-                AnchorPane sc = (AnchorPane) fxmlLoader2.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            return retRec;
-        }
-    }
-    */
-
-    public static final String listviewPath = RESOURCE_BASE + "listview-items.fxml";
-    private class listviewSlot extends TestNodeWithIOExceptionProcessing {
-        // RT-18178
-        AnchorPane anchorPane = null;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return listviewPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader2 = new FXMLLoader();
-                is = resource.openStream();
-                anchorPane = (AnchorPane) fxmlLoader2.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-
-            ListView lv = null;
-            for (Node node : anchorPane.getChildren()) {
-                System.out.println("anchorpane child: " + node);
-                if (node instanceof ListView) {
-                    lv = (ListView)node;
-                }
-            }
-
-            int hboxcount = 0;
-            if (null != lv) {
-                for (Object node : lv.getItems()) {
-                    if (node  instanceof HBox) {
-                        hboxcount = hboxcount + 1;
-                    }
-                    System.out.println("listview child: " + node);
-                }
-
-            }
-
-            if ( 3 != hboxcount ) {
-                reportGetterFailure("wrong items/items count.");
-                return redRectangle;
-            } else {
-                return retRec;
-            }
-        }
-    }
-
-    private class listenerNullArgSlot extends TestNodeWithIOExceptionProcessing {
-        // RT-19133
-
-        @Override
-        protected String impl_getPathToResource() {
-            return rt19133ResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            //InputStream is = null;
-            try {
-                //is = resource.openStream();
-                FXMLLoader fxmlLoader = new FXMLLoader(resource);
-
-                fxmlLoader.impl_setStaticLoad(true);
-                fxmlLoader.impl_setLoadListener(new LoadListener() {
-
-                    @Override
-                    public void readImportProcessingInstruction(String target) {
-                    }
-
-                    @Override
-                    public void readLanguageProcessingInstruction(String language) {
-                    }
-
-                    @Override
-                    public void readComment(String comment) {
-                    }
-
-                    @Override
-                    public void beginInstanceDeclarationElement(Class<?> type) {
-                    }
-
-                    @Override
-                    public void beginUnknownTypeElement(String name) {
-                    }
-
-                    @Override
-                    public void beginIncludeElement() {
-                    }
-
-                    @Override
-                    public void beginReferenceElement() {
-                    }
-
-                    @Override
-                    public void beginCopyElement() {
-                    }
-
-                    @Override
-                    public void beginPropertyElement(String name, Class<?> sourceType) {
-                    }
-
-                    @Override
-                    public void beginUnknownStaticPropertyElement(String name) {
-                    }
-
-                    @Override
-                    public void beginScriptElement() {
-                    }
-
-                    @Override
-                    public void beginDefineElement() {
-                    }
-
-                    @Override
-                    public void readInternalAttribute(String name, String value) {
-                    }
-
-                    @Override
-                    public void readPropertyAttribute(String name, Class<?> sourceType, String value) {
-                    }
-
-                    @Override
-                    public void readUnknownStaticPropertyAttribute(String name, String value) {
-                    }
-
-                    @Override
-                    public void readEventHandlerAttribute(String name, String value) {
-                    }
-
-                    @Override
-                    public void endElement(Object value) {
-                        if (null == value) {
-                            System.out.println("endElement() arg is null: rt-19133");
-                            reportGetterFailure("endElement() arg is null: rt-19133");
-                        } else {
-                            System.out.println("endElement() arg:" + value);
-                        }
-                    }
-
-                    @Override
-                    public void beginRootElement() {
-                        throw new UnsupportedOperationException("Not supported yet.");
-                    }
-                });
-
-
-                fxmlLoader.load();
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                //is.close();
-            }
-            return retRec;
-        }
-    }
-
-    public static final String fullyQualifiedNamesResPath = RESOURCE_BASE + "fully-qualified-name.fxml";
-    private class FullyQualifiedNamesSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return fullyQualifiedNamesResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Label label = null;
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader = new FXMLLoader();
-                is = resource.openStream();
-                label = (Label) fxmlLoader.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            return label;
-        }
-    }
-
-    public static final String importResPath = RESOURCE_BASE + "import.fxml";
-    private class ImportSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return importResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Label label = null;
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader = new FXMLLoader();
-                is = resource.openStream();
-                label = (Label) fxmlLoader.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            return label;
-        }
-    }
-
-    public static final String beanInstantiationResPath = RESOURCE_BASE + "bean-instantiation.fxml";
-    private class BeanInstantiationSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return beanInstantiationResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Label label = new Label();
-        label.setId("label_from_bean");
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader = new FXMLLoader();
-                is = resource.openStream();
-        SimpleBean bean = (SimpleBean) fxmlLoader.load(is);
-                label.setText(bean.getContent());
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            return label;
-        }
-    }
-
-    public static final String valueOfResPath = RESOURCE_BASE + "value-of.fxml";
-    private class ValueOfSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return valueOfResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-            Label label = new Label();
-        label.setId("value_of_label");
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader = new FXMLLoader();
-                is = resource.openStream();
-        Double d = (Double) fxmlLoader.load(is);
-                label.setText(d.toString());
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            return label;
-        }
-    }
-
-    public static final String rootResPath = RESOURCE_BASE + "root.fxml";
-    private class RootSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return rootResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-        VBox vb = new VBox();
-        vb.setId("vb_root");
-            InputStream is = null;
-            try {
-                FXMLLoader fxmlLoader = new FXMLLoader();
-        fxmlLoader.setRoot(vb);
-                is = resource.openStream();
-        fxmlLoader.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-            return vb;
-        }
-    }
-
-    public static final String fxIdResPath = RESOURCE_BASE + "fx-id.fxml";
-    private class FxIdSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return fxIdResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-        AnchorPane ap = null;
-            InputStream is = null;
-        FXMLLoader fxmlLoader = null;
-            try {
-                fxmlLoader = new FXMLLoader();
-        is = resource.openStream();
-        ap = (AnchorPane) fxmlLoader.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-        Object label = fxmlLoader.getNamespace().get("cat_o_dog_label");
-        if(label == null || !(label instanceof Label))
-        {
-        reportGetterFailure("no label with id cat_o_dog_label");
-        }
-        if(label instanceof Label && !((Label) label).getText().equals("cat-o-dog"))
-        {
-        reportGetterFailure("invalid text in label");
-        }
-            return ap;
-        }
-    }
-
-    private class controllerAttributeSlot extends TestNodeWithIOExceptionProcessing {
-
-        MyRootElement2 mr;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return rootMethodEventHandlerResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-        FXMLLoader loader = new FXMLLoader();
-            try {
-                // https://javafx-jira.kenai.com/browse/RT-26774
-        //mr = (MyRootElement2) FXMLLoader.load(resource);
-                loader.setLocation(resource);
-                mr = (MyRootElement2)loader.load();
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                e.printStackTrace();
-                reportGetterFailure("exception thrown.");
-            }
-
-            if(!(loader.getController() instanceof MyRootElement2))
-        {
-        reportGetterFailure("wrong controller");
-        }
-
-        return mr;
-        }
-    }
-
-    public static final String noDefControllerResPath = RESOURCE_BASE + "no-default-controller.fxml";
-    private class NoDefaultControllerSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return noDefControllerResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-        Button button = null;
-        InputStream is = null;
-        FXMLLoader fxmlLoader = null;
-        MyRootElement myRootElement = new MyRootElement();
-            try {
-                fxmlLoader = new FXMLLoader();
-        fxmlLoader.setController(myRootElement);
-                is = resource.openStream();
-        button = (Button) fxmlLoader.load(is);
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-        if(fxmlLoader.getController() != myRootElement)
-        {
-        reportGetterFailure("Wrong controller");
-        }
-            return button;
-        }
-    }
-
-    private class LateRootSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return rootResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-        VBox vb = new VBox();
-        vb.setId("vb_root");
-        Node node = null;
-        FXMLLoader fxmlLoader = new FXMLLoader();
-            InputStream is = null;
-            try {
-        is = resource.openStream();
-        node = (Node) fxmlLoader.load(is);
-        fxmlLoader.setRoot(vb);
-            } catch (LoadException e) {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                return retRec;
-            } catch (Exception exc) {
-                exc.printStackTrace();
-                System.out.println("message: " + exc.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-//      if(node.getId() == null || !node.getId().equals("default_root"))
-//      {
-//      reportGetterFailure("Root id: " + node.getId());
-//      }
-        return redRectangle;
-        }
-    }
-
-    private class LateControllerSlot extends TestNodeWithIOExceptionProcessing {
-
-        @Override
-        protected String impl_getPathToResource() {
-            return noDefControllerResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException {
-        Button button = null;
-        InputStream is = null;
-        FXMLLoader fxmlLoader = new FXMLLoader();
-        MyRootElement myRootElement = new MyRootElement();
-            try {
-        is = resource.openStream();
-        fxmlLoader.load(is);
-        fxmlLoader.setController(myRootElement);
-            } catch (Exception e) {
-
-        if(e instanceof LoadException && e.getMessage().contains("No controller specified."))
-        {
-            return retRec;
-        }
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            } finally {
-                is.close();
-            }
-        reportGetterFailure("Controller is not null.");
-        return redRectangle;
-        }
-    }
-
-    private class VariableResolutionSlot extends TestNodeWithIOExceptionProcessing {
-
-        VBox vb;
-
-        @Override
-        protected String impl_getPathToResource() {
-            return fxdefineResourcePath;
-        }
-
-        @Override
-        public Node impl_drawNode() {
-            try {
-                vb = FXMLLoader.load(resource);
-            } catch (Exception e) {
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("exception thrown.");
-            }
-        LinkedList<ToggleGroup> toggleGroups = new LinkedList<ToggleGroup>();
-        for(Node child: vb.getChildren())
-        {
-        toggleGroups.add(((RadioButton) child).getToggleGroup());
-        }
-        for(int i = 0; i < toggleGroups.size() - 2; i ++)
-        {
-        if(!toggleGroups.get(i).equals(toggleGroups.get(i + 1)))
-        {
-            reportGetterFailure("failed.");
-            return redRectangle;
-        }
-        }
-            return retRec;
-        }
-    }
-
-    public static final String externalScriptResPath = RESOURCE_BASE + "external-script.fxml";
-    private class ExternalScriptCodeSlot extends TestNodeWithIOExceptionProcessing
-    {
-        @Override
-        protected String impl_getPathToResource()
-        {
-            return externalScriptResPath;
-        }
-
-        @Override
-        public Node impl_drawNode() throws IOException
-        {
-            FXMLLoader loader = new FXMLLoader(resource);
-            VBox vb = null;
-            try
-            {
-                vb = (VBox) loader.load();
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-                System.out.println("message: " + e.getMessage());
-                reportGetterFailure("message: " + e.getMessage());
-            }
-            return vb;
-        }
-    }
-
-
-    @Override
-    public TestNode setup() {
-        System.out.println("java.library.path=" + System.getProperty("java.library.path"));
-        TestNode rootTestNode = new TestNode();
-
-        final int heightPageContentPane = 800;
-        final int widthPageContentPane = 800;
-
-        List<Pair<String, TestNode>> hm = new ArrayList();
-
-        hm.add(new Pair<String, TestNode>(Pages.staticProperty.name(), new slotStaticProperty()));
-        hm.add(new Pair<String, TestNode>(Pages.HashMap.name(), new hashmaptest()));
-        hm.add(new Pair<String, TestNode>(Pages.customClassAndInclude.name(), new customClassLoadSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.factory.name(), new factorySlot()));
-        hm.add(new Pair<String, TestNode>(Pages.simple.name(), new simpleSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.propertyElements.name(), new propertyElementsSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.reference.name(), new referenceSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.copy.name(), new copySlot()));
-        hm.add(new Pair<String, TestNode>(Pages.prSetter.name(), new propertySetterSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.roList.name(), new roListSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.roMap.name(), new roMapSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.defaultProperty.name(), new defaultPropertySlot()));
-        hm.add(new Pair<String, TestNode>(Pages.fxdefine.name(), new fxdefineSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.namespaceBinding.name(), new namespaceBindingSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.staticProperties.name(), new staticPropertiesSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.rootMethodEventHandler.name(), new rootMethodEventHandlerSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.scriptEventHandler.name(), new scriptEventHandlerSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.script.name(), new scriptSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.menuItem.name(), new menuitemSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.resources1.name(), new resource1Slot()));
-        hm.add(new Pair<String, TestNode>(Pages.resources2.name(), new resource2Slot()));
-        hm.add(new Pair<String, TestNode>(Pages.namespace.name(), new namespaceSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.splitpanebug.name(), new splitpanebugSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.charset.name(), new charsetSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.loadExceptions.name(), new loadExceptionsSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultLabeled.name(), new slotDefaultLabeled()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultListview.name(), new   slotDefaultListview()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultMenu.name(), new   slotDefaultMenu()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultMenuBar.name(), new   slotDefaultMenuBar()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultScrollpane.name(), new   slotDefaultScrollpane()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTabpane.name(), new   slotDefaultTabpane()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTableView.name(), new   slotDefaultTableview()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTextinput.name(), new   slotDefaultTextinput()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTitledpane.name(), new   slotDefaultTitledpane()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTreeview.name(), new   slotDefaultTreeview()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultImageview.name(), new   slotDefaultImageview()));
-        hm.add(new Pair<String, TestNode>(Pages.slotDefaultPane.name(), new   slotDefaultPane()));
-        hm.add(new Pair<String, TestNode>(Pages.slotControllerFactory.name(), new  controllerFactoryPane()));
-        hm.add(new Pair<String, TestNode>(Pages.specificSignatureMethod.name(), new  specificSignatureMethodPane()));
-        hm.add(new Pair<String, TestNode>(Pages.loadfontSlot.name(), new  loadfontSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.scenebuilderSlot.name(), new  scenebuilderSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.references2.name(), new  references2Slot()));
-        hm.add(new Pair<String, TestNode>(Pages.apConstraints.name(), new  apConstraintsSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.coerce.name(), new  coerceSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.listviewItems.name(), new listviewSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.listenerNullArg.name(), new listenerNullArgSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.gridapplet.name(), new gridappletSlot()));
-        //hm.add(new Pair<String, TestNode>(Pages.csspath.name(), new csspathSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.scenebuilderNoRoot.name(), new scenebuilderNoRootSlot()));
-        hm.add(new Pair<String, TestNode>(Pages.errorFXML.name(), new errorFXMLLoader()));
-        hm.add(new Pair<String, TestNode>(Pages.colorValueOF.name(), new ColorValueOf()));
-        hm.add(new Pair<String, TestNode>(Pages.escapeCharacter.name(), new EscapeCharacter()));
-        hm.add(new Pair<String, TestNode>(Pages.collectionEventsHandlers.name(), new CollectionEventsHandlers()));
-        hm.add(new Pair<String, TestNode>(Pages.noArgControllerMethod.name(), new NoArgsControllerMethod()));
-        hm.add(new Pair<String, TestNode>(Pages.overloadedControllerMethod.name(), new OverloadedControllerMethod()));
-        hm.add(new Pair<String, TestNode>(Pages.customIDProperty.name(), new CustomIDProperty()));
-        hm.add(new Pair<String, TestNode>(Pages.unknownCustomType.name(), new UnknownCustomType()));
-        hm.add(new Pair<String, TestNode>(Pages.baseControllerProperty.name(), new BaseColntrollerProperty()));
-        hm.add(new Pair<String, TestNode>(Pages.relativeStylesheet.name(), new RelativeStylesheet()));
-        hm.add(new Pair<String, TestNode>(Pages.FXMLLoaderAPI.name(), new FXMLLoaderAPI()));
-        hm.add(new Pair<String, TestNode>(Pages.fullyQualifiedNames.name(), new FullyQualifiedNamesSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.importPI.name(), new ImportSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.beanInstantiation.name(), new BeanInstantiationSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.valueOf.name(), new ValueOfSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.root.name(), new RootSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.fxId.name(), new FxIdSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.fxController.name(), new controllerAttributeSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.noDefaultController.name(), new NoDefaultControllerSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.lateRoot.name(), new LateRootSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.lateController.name(), new LateControllerSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.variableResolution.name(), new VariableResolutionSlot()));
-    hm.add(new Pair<String, TestNode>(Pages.externalScript.name(), new ExternalScriptCodeSlot()));
-
-
-        for (Pair<String, TestNode> tn : hm) {
-            final PageWithSlots xPage = new PageWithSlots(tn.getKey(), heightPageContentPane, widthPageContentPane);
-            xPage.setSlotSize(240, 180);
-            xPage.add(tn.getValue(), tn.getKey());
-            rootTestNode.add(xPage);
-
-        }
-        return rootTestNode;
-
-    }
-
-    public static void main(String[] args) {
-        Utils.launch(staticPropertyLoadApp.class, args);
-    }
-
-}
diff --git a/functional/FxmlTests/src/test/fxmltests/app/staticPropertyLoadApp.java.excluded b/functional/FxmlTests/src/test/fxmltests/app/staticPropertyLoadApp.java.excluded
new file mode 100644
--- /dev/null
+++ b/functional/FxmlTests/src/test/fxmltests/app/staticPropertyLoadApp.java.excluded
@@ -0,0 +1,2781 @@
+// https://bugs.openjdk.java.net/browse/INTJDK-7624138
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.fxmltests.app;
+
+import javafx.fxml.LoadListener;
+import com.sun.javafx.fxml.ParseTraceElement;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+import javafx.css.CssMetaData;
+import javafx.css.Styleable;
+import javafx.event.ActionEvent;
+import javafx.event.EventHandler;
+import javafx.fxml.FXMLLoader;
+import javafx.fxml.JavaFXBuilderFactory;
+import javafx.fxml.LoadException;
+import javafx.scene.Group;
+
+
+import javafx.scene.Node;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.Labeled;
+import javafx.scene.control.ListView;
+import javafx.scene.control.Menu;
+import javafx.scene.control.MenuBar;
+import javafx.scene.control.MenuItem;
+import javafx.scene.control.RadioButton;
+import javafx.scene.control.TableColumn;
+import javafx.scene.control.TableView;
+import javafx.scene.control.ToggleGroup;
+import javafx.scene.control.cell.PropertyValueFactory;
+import javafx.scene.input.KeyCombination;
+import javafx.scene.layout.*;
+import javafx.scene.paint.Color;
+import javafx.scene.shape.Rectangle;
+import javafx.scene.text.Font;
+import javafx.scene.text.Text;
+import javafx.util.Callback;
+import javafx.util.Pair;
+
+import test.javaclient.shared.BasicButtonChooserApp;
+import test.javaclient.shared.PageWithSlots;
+import test.javaclient.shared.TestNode;
+import test.javaclient.shared.Utils;
+
+public class staticPropertyLoadApp extends BasicButtonChooserApp {
+
+    public static final String RESOURCE_BASE = "/test/fxmltests/resources/";
+    public static final String staticPropertyResourcePath = RESOURCE_BASE + "static-property.fxml";
+    public static final String hashmapResourcePath = RESOURCE_BASE + "hashmap.fxml";
+    public static final String customClassLoadResourcePath = RESOURCE_BASE + "include.fxml";
+    public static final String factoryResourcePath = RESOURCE_BASE + "factory.fxml";
+    public static final String builderResourcePath = RESOURCE_BASE + "builder.fxml";
+    public static final String propertyElementsResourcePath = RESOURCE_BASE + "propertyElements.fxml";
+    public static final String referenceResourcePath = RESOURCE_BASE + "reference.fxml";
+    public static final String copyResourcePath = RESOURCE_BASE + "fxcopy.fxml";
+    public static final String propertySetterResourcePath = RESOURCE_BASE + "propertySetter.fxml";
+    public static final String roListResourcePath = RESOURCE_BASE + "rolist.fxml";
+    public static final String roMapResourcePath = RESOURCE_BASE + "romap.fxml";
+    public static final String defaultPropertyResourcePath = RESOURCE_BASE + "defaultProperty.fxml";
+    public static final String fxdefineResourcePath = RESOURCE_BASE + "fxdefine.fxml";
+    public static final String fxdefine2ResourcePath = RESOURCE_BASE + "fxdefine2.fxml";
+    public static final String namespaceBindingResourcePath = RESOURCE_BASE + "namespaceBinding.fxml";
+    public static final String staticPropertiesResourcePath = RESOURCE_BASE + "static-properties.fxml";
+    public static final String rootMethodEventHandlerResourcePath = RESOURCE_BASE + "rootMethodEventHandler.fxml";
+    public static final String scriptEventHandlerResourcePath = RESOURCE_BASE + "scriptEventHandler.fxml";
+    public static final String scriptResourcePath = RESOURCE_BASE + "script.fxml";
+    public static final String menuitemResourcePath = RESOURCE_BASE + "menuitem.fxml";
+    public static final String resourceResourcePath = RESOURCE_BASE + "resourcefxml.fxml";
+    public static final String splitpanebugResourcePath = RESOURCE_BASE + "vt1.fxml";
+    public static final String throw1ResourcePath = RESOURCE_BASE + "throw1.fxml";
+    public static final String throw2ResourcePath = RESOURCE_BASE + "throw2.fxml";
+    public static final String rt19133ResourcePath = RESOURCE_BASE + "rt19133.fxml";
+
+    public static enum Pages {
+        staticProperty,HashMap,customClassAndInclude,factory,simple,
+        propertyElements,reference,copy,prSetter,roList,roMap,
+        defaultProperty,fxdefine,namespaceBinding,staticProperties,rootMethodEventHandler,
+        scriptEventHandler,script,menuItem,resources1,resources2,namespace,
+        splitpanebug,charset, loadExceptions,
+        slotDefaultLabeled, slotDefaultListview, slotDefaultMenu, slotDefaultMenuBar,
+        slotDefaultScrollpane, slotDefaultTabpane, slotDefaultTableView,
+        slotDefaultTextinput,  slotDefaultTitledpane, slotDefaultTreeview,
+        slotDefaultImageview, slotDefaultPane, slotControllerFactory,
+        specificSignatureMethod, loadfontSlot, scenebuilderSlot,
+        scenebuilderNoRoot, references2, apConstraints, coerce, listviewItems, listenerNullArg,
+        gridapplet, csspath, errorFXML, colorValueOF, escapeCharacter, collectionEventsHandlers,
+        noArgControllerMethod, overloadedControllerMethod, customIDProperty, unknownCustomType,
+        baseControllerProperty, relativeStylesheet, FXMLLoaderAPI, fullyQualifiedNames, importPI,
+    beanInstantiation, valueOf, root, fxId, fxController, noDefaultController, lateRoot,
+    lateController, variableResolution, externalScript
+
+    }
+
+    public staticPropertyLoadApp() {
+        super(800, 600, "LoadFXML", false);
+    }
+
+    Rectangle retRec = new Rectangle(10,10){{setFill(Color.GREEN);}};
+    Rectangle redRectangle = new Rectangle(10,10){{setFill(Color.RED);}};
+
+    abstract private class TestNodeWithIOExceptionProcessing extends TestNode {
+
+        abstract protected Node impl_drawNode() throws IOException;
+        protected String impl_getPathToResource() { return null; };
+        protected URL resource = null;
+        protected File f = null;
+
+        @Override
+        public Node drawNode() {
+            Node result = redRectangle;
+
+            VBox vb = null;
+
+            if (null != impl_getPathToResource()) {
+                resource = getClass().getResource(impl_getPathToResource());
+                if (null != resource && null != (f = new File(resource.getFile()))) {
+                    System.out.println("loading " + f.getPath());
+                } else {
+                    String tmpMsg = "resource file error. [" + impl_getPathToResource() + "]";
+                    System.out.println(tmpMsg);
+                    reportGetterFailure(tmpMsg);
+                    return result;
+                }
+            }
+            try {
+                result = impl_drawNode();
+            } catch (IOException ex) {
+                reportGetterFailure("TestNodeWithIOExceptionProcessing: IOException");
+                Logger.getLogger(staticPropertyLoadApp.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (Exception ex) {
+                reportGetterFailure("TestNodeWithIOExceptionProcessing: Exception");
+                Logger.getLogger(staticPropertyLoadApp.class.getName()).log(Level.SEVERE, null, ex);
+            }
+            return result;
+        }
+    }
+
+    private class slotStaticProperty extends TestNodeWithIOExceptionProcessing {
+        @Override
+        protected String impl_getPathToResource() {
+            return staticPropertyResourcePath;
+        }
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return uplevelNode;
+        }
+    }
+
+    private class hashmaptest extends TestNodeWithIOExceptionProcessing {
+
+        HashMap hm = null;
+        String value1;
+        String value2;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return hashmapResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+
+            try {
+                hm = FXMLLoader.load(resource);
+                value1 = (String) hm.get("foo");
+                value2 = (String) hm.get("bar");
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            if (value1.equals("123") && value2.equals("456")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    CustomClass cc;
+    private class customClassLoadSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return customClassLoadResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            FXMLLoader fxmlLoader = new FXMLLoader();
+
+            InputStream is = null;
+            try {
+                fxmlLoader.setLocation(resource);
+                is = resource.openStream();
+                cc = (CustomClass) fxmlLoader.load(is);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+
+//            System.out.println("   includes: " + fxmlLoader.getIncludes());
+            System.out.println("cc.getFld(): " + cc.getFld());
+
+            if (cc.getFld().equals("fine!")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class factorySlot extends TestNodeWithIOExceptionProcessing {
+
+        ObservableList<String> ss = FXCollections.observableArrayList();
+
+        @Override
+        protected String impl_getPathToResource() {
+            return factoryResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            try {
+                ss = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            if (ss.get(0).equals("A") && ss.get(1).equals("B") && ss.get(2).equals("C")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class simpleSlot extends TestNodeWithIOExceptionProcessing {
+
+        Color color = Color.ALICEBLUE;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return builderResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader2 = new FXMLLoader();
+                is = resource.openStream();
+                ClassLoader defaultClassLoader = fxmlLoader2.getClassLoader();
+
+                fxmlLoader2.setBuilderFactory(new JavaFXBuilderFactory(defaultClassLoader));
+                color = (Color) fxmlLoader2.load(is); // see RT-18091
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            System.out.println("color: " + color);
+            if (color.equals(Color.color(1., 0., 0.))) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class propertyElementsSlot extends TestNodeWithIOExceptionProcessing {
+
+        Label label;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return propertyElementsResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                label = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            if (label.getText().equals("label")) {
+                return label;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class referenceSlot extends TestNodeWithIOExceptionProcessing {
+
+        List<Label> lst = new ArrayList();
+
+        @Override
+        protected String impl_getPathToResource() {
+            return referenceResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                lst = FXMLLoader.load(resource); // was: f.toURI().toURL(). does not work with jnlp http://javafx-jira.kenai.com/browse/RT-17736
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            if (lst.get(0).getText().equals(lst.get(1).getText())) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class copySlot extends TestNodeWithIOExceptionProcessing {
+
+        List<Label> lst = new ArrayList();
+
+        @Override
+        protected String impl_getPathToResource() {
+            return copyResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                lst = (List<Label>) FXMLLoader.load(resource);  //inputStream
+            } catch (Exception e) {
+                System.out.println("message2: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            }
+            if (3 == lst.size()) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class propertySetterSlot extends TestNodeWithIOExceptionProcessing {
+
+        Label label;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return propertySetterResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                label = FXMLLoader.load(resource);
+
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            if (label.getText().equals("txt")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class roListSlot extends TestNodeWithIOExceptionProcessing {
+
+        Group gr;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return roListResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                gr = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            }
+            Node n =((Rectangle) gr.getChildren().get(0));
+            String strId = n.getId();
+            if (strId.equals("rectangle1")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class roMapSlot extends TestNodeWithIOExceptionProcessing {
+
+        JavaFXBuilderFactory builderFactory = new JavaFXBuilderFactory();
+        FXMLLoader fxmlLoader = new FXMLLoader();
+        Button btn;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return roMapResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            InputStream is = getClass().getResourceAsStream(impl_getPathToResource());
+
+            try {
+                fxmlLoader.setBuilderFactory(builderFactory);
+                btn = (Button) fxmlLoader.load(is);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            if (builderFactory != fxmlLoader.getBuilderFactory()) {
+                reportGetterFailure("fxmlLoader.getBuilderFactory() failed.");
+            }
+
+            if (btn.getProperties().get("foo").equals("123")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class defaultPropertySlot extends TestNodeWithIOExceptionProcessing {
+
+        Group gr;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                gr = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            if (((Rectangle) gr.getChildren().get(1)).getId().equals("rectangle2")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class fxdefineSlot extends TestNodeWithIOExceptionProcessing {
+
+        VBox vb;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return fxdefineResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                vb = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            if (((RadioButton) vb.getChildren().get(0)).getText().equals("A")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class namespaceBindingSlot extends TestNodeWithIOExceptionProcessing {
+
+        public VBox vb;
+        FXMLLoader fxmlLoader2 = new FXMLLoader();
+
+        @Override
+        protected String impl_getPathToResource() {
+            return namespaceBindingResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            InputStream is = null;
+            try {
+                is = resource.openStream();
+                vb = (VBox) fxmlLoader2.load(is);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            if (null == vb) {
+                System.out.println("Custom class instance is null");
+                reportGetterFailure("failed 1.");
+            }
+
+            Button b = (Button) vb.getChildren().get(0);
+
+            if (null == vb.getChildren().get(0)) {
+                System.out.println("button field  is null");
+                reportGetterFailure("failed 2.");
+            }
+            if (!(null != vb && null != b && null != b.getOnAction())) {
+                reportGetterFailure("failed.");
+            }
+
+            MyRootElement mr = (MyRootElement) fxmlLoader2.getController();
+            System.out.println("mr: " + mr.toString());
+            System.out.println("getController(): " + fxmlLoader2.getController());
+
+            if ((null != mr)
+                    && (mr.toString().contains("MyRootElement"))) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class staticPropertiesSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return staticPropertiesResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+
+            try {
+                FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+                return redRectangle;
+            }
+
+            return retRec;
+        }
+    }
+
+    private class rootMethodEventHandlerSlot extends TestNodeWithIOExceptionProcessing {
+
+        MyRootElement2 mr;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return rootMethodEventHandlerResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                mr = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            }
+
+            Button bbb = (Button) mr.getChildren().get(0);
+            EventHandler<ActionEvent> hndlr = bbb.getOnAction();
+            if (null != hndlr) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class scriptEventHandlerSlot extends TestNodeWithIOExceptionProcessing {
+
+        MyRootElement2 mr;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return scriptEventHandlerResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+
+            try {
+                mr = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            Button bbb = (Button) mr.getChildren().get(0);
+            EventHandler<ActionEvent> hndlr = bbb.getOnAction();
+            if (null != hndlr) {
+                return mr;//retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class scriptSlot extends TestNodeWithIOExceptionProcessing {
+
+        VBox vb;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return scriptResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+
+            try {
+                vb = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+            Button bbb = (Button) vb.getChildren().get(0);
+            EventHandler<ActionEvent> hndlr = bbb.getOnAction();
+            if (null != hndlr) {
+                return vb;//retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+    private class menuitemSlot extends TestNodeWithIOExceptionProcessing {
+        //http://javafx-jira.kenai.com/browse/RT-17715
+
+        MenuItem mi2;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return menuitemResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            /*
+            MenuItem mi = new MenuItem();
+            mi.setText("open...");
+            mi.setGraphic(new ImageView());
+            mi.setAccelerator(KeyCombination.keyCombination("CTRL+N"));
+             */
+
+            try {
+                mi2 = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            }
+            System.out.println("DEBUG: menuItem.getText()=" + ((null != mi2) ? mi2.getText() : "(null)"));
+            if ((null != mi2)
+                    && (0 == "open...".compareTo(mi2.getText()))
+                    && (KeyCombination.keyCombination("CTRL+N").equals(mi2.getAccelerator()))) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+        }
+    }
+
+
+/*
+ * localization using setResources()
+ */
+    private class resource1Slot extends TestNodeWithIOExceptionProcessing {
+
+        MenuItem mi2;
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                URL resourceURL = getClass().getResource(resourceResourcePath);
+                Locale currentLocale = new Locale("en", "US");
+                ResourceBundle resourceBundle = ResourceBundle.getBundle("test.fxmltests.resources.resource1", currentLocale);
+                FXMLLoader fxmlLoader2 = new FXMLLoader();
+
+                fxmlLoader2.setResources(resourceBundle);
+                System.out.println("resources: " + fxmlLoader2.getResources());
+                fxmlLoader2.setBuilderFactory(new JavaFXBuilderFactory());
+
+                System.out.println("xxx loading " + resourceURL);
+                InputStream is = null;
+                try {
+
+                    is = resourceURL.openStream();
+                    mi2 = (MenuItem) fxmlLoader2.load(is);
+
+                } catch (Exception e) {
+                    System.out.println("message: " + e.getMessage());
+                    e.printStackTrace();
+                    reportGetterFailure("exception thrown.");
+                } finally {
+                    is.close();
+                }
+
+                System.out.println("resources: " + fxmlLoader2.getResources());
+                System.out.println("charset: " + fxmlLoader2.getCharset());
+                System.out.println("location: " + fxmlLoader2.getLocation());
+                System.out.println("bf: " + fxmlLoader2.getBuilderFactory());
+                System.out.println("namespace: " + fxmlLoader2.getNamespace());
+//                System.out.println("includes: " + fxmlLoader2.getIncludes());
+
+
+                System.out.println("DEBUG: menuItem.getText()=" + ((null != mi2) ? mi2.getText() : "(null)"));
+                if ((null != mi2)
+                        && (0 == "close".compareTo(mi2.getText()))) {
+                    boolean pass = true;
+                } else {
+                    reportGetterFailure("failed.");
+                }
+            } catch (IOException ex) {
+                Logger.getLogger(staticPropertyLoadApp.class.getName()).log(Level.SEVERE, null, ex);
+            }
+            return retRec;
+        }
+    }
+
+
+/*
+ * localization wirh resources mentioned in load()
+ */
+    private class resource2Slot extends TestNodeWithIOExceptionProcessing {
+
+        MenuItem mi2;
+
+        @Override
+        public Node impl_drawNode() {
+            URL resourceURL = getClass().getResource(resourceResourcePath);
+            Locale currentLocale = new Locale("en", "US");
+            ResourceBundle resourceBundle = ResourceBundle.getBundle("test.fxmltests.resources.resource1", currentLocale);
+
+            System.out.println("xxx loading " + resourceURL);
+            try {
+
+                mi2 = (MenuItem) FXMLLoader.load(resourceURL, resourceBundle);
+
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            }
+
+            System.out.println("DEBUG: menuItem.getText()=" + ((null != mi2) ? mi2.getText() : "(null)"));
+            if ((null != mi2)
+                    && (0 == "close".compareTo(mi2.getText()))) {
+                boolean pass = true;
+            } else {
+                reportGetterFailure("failed.");
+            }
+            return retRec;
+        }
+    }
+
+/*
+ * getNamespace test
+ */
+    private class namespaceSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            URL resourceURL = getClass().getResource(fxdefine2ResourcePath);
+            JavaFXBuilderFactory builderFactory = new JavaFXBuilderFactory();
+            FXMLLoader fxmlLoader = new FXMLLoader();
+            fxmlLoader.setBuilderFactory(builderFactory);
+
+            InputStream is = null;
+            System.out.println("xxx loading " + resourceURL);
+            try {
+                is = resourceURL.openStream();
+                fxmlLoader.load(is);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+
+            System.out.println("namespace: " + fxmlLoader.getNamespace());
+            System.out.println("empty: " + fxmlLoader.getNamespace().isEmpty());
+            System.out.println("nonexisting key vb5: " + fxmlLoader.getNamespace().get("vb5"));
+
+            Node n = (Node)fxmlLoader.getNamespace().get("vb1");
+            String xxx = (null != n)?(n.getId()):"";
+            System.out.println("existing key vb1: " + fxmlLoader.getNamespace().get("vb1") + " / id=" + xxx);
+            System.out.println("getRoot: " + fxmlLoader.getRoot());
+
+            if ((null != (fxmlLoader.getNamespace().get("vb1")))
+                    && (null == (fxmlLoader.getNamespace().get("vb5")))
+                    && (fxmlLoader.getRoot().toString().equals("VBox[id=vb1]"))) {
+                boolean pass = true;
+            } else {
+                reportGetterFailure("failed.");
+            }
+            return retRec;
+        }
+    }
+
+
+    private class splitpanebugSlot extends TestNodeWithIOExceptionProcessing {
+        // http://javafx-jira.kenai.com/browse/RT-16977
+        @Override
+        public Node impl_drawNode() throws IOException {
+            URL resourceURL = getClass().getResource(splitpanebugResourcePath);
+            JavaFXBuilderFactory builderFactory = new JavaFXBuilderFactory();
+            FXMLLoader fxmlLoader = new FXMLLoader();
+            fxmlLoader.setBuilderFactory(builderFactory);
+
+            InputStream is = null;
+            System.out.println("loading " + resourceURL);
+            try {
+                //  fxmlLoader.setLocation(new URL(RESOURCE_BASE));
+                //  ResourceBundle rb = new ResourceBundle();
+                //   fxmlLoader.setResources(rb);
+                is = resourceURL.openStream();
+                fxmlLoader.load(is);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            } catch (Throwable e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            System.out.println("loaded. ");
+            return retRec;
+        }
+    }
+
+    private class charsetSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return "/test/fxmltests/resources/include3.fxml"; // customClassLoadResourcePath
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Charset encoding = Charset.forName("UTF-16");
+            FXMLLoader fxmlLoader = new FXMLLoader(encoding);
+            fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
+
+            //Locale currentLocale = new Locale("en", "US");
+            //ResourceBundle resourceBundle = ResourceBundle.getBundle("test.fxmltests.resources.resource1", currentLocale);
+            //fxmlLoader.setResources(resourceBundle);
+
+            InputStream is = null;
+            try {
+                // fxmlLoader.setLocation(resource);
+                System.out.println("   charset: " + fxmlLoader.getCharset());
+                is = resource.openStream();
+                fxmlLoader.load(is);
+
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+
+            System.out.println("   location: " + fxmlLoader.getLocation());
+            System.out.println("   charset: " + fxmlLoader.getCharset());
+
+            if (fxmlLoader.getCharset().toString().equals("UTF-16")) {
+                return retRec;
+            } else {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            }
+
+        }
+    }
+
+    /*
+     * LoadExceptions test
+     */
+    private class loadExceptionsSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        public Node impl_drawNode() throws IOException{
+
+            URL resourceURL1 = getClass().getResource(throw1ResourcePath);
+            URL resourceURL2 = getClass().getResource(throw2ResourcePath);
+            FXMLLoader fxmlLoader = new FXMLLoader();
+            fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
+            boolean exception1Thrown = false;
+            boolean exception2Thrown = false;
+
+            InputStream is = null;
+            System.out.println("loading RES 1 / " + resourceURL1);
+            try {
+                is = resourceURL1.openStream();
+                fxmlLoader.load(is);
+            } catch (LoadException e) {
+                System.out.println("THROWN   msg: " + e.getMessage());
+                System.out.println("THROWN cause: " + e.getCause());
+                exception1Thrown = true;
+
+                ParseTraceElement ptes[] = fxmlLoader.impl_getParseTrace();
+                for (ParseTraceElement pte: ptes) {
+                    // see rt-19329
+                    System.out.println("trace element: " + pte);
+                }
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+
+            is = null;
+            System.out.println("loading RES 2 / " + resourceURL2);
+            try {
+                is = resourceURL2.openStream();
+                fxmlLoader.load(is);
+            } catch (LoadException e) {
+                exception2Thrown = true;
+                System.out.println("2 THROWN   msg: " + e.getMessage());
+                System.out.println("2 THROWN cause: " + e.getCause());
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+
+
+            if ((true == exception1Thrown) && (true == exception2Thrown)) {
+                boolean pass = true;
+            } else {
+                reportGetterFailure("failed.");
+            }
+            return retRec;
+        }
+    }
+
+
+
+/*
+ *
+Class javafx/fxml/FXMLLoader
+ *
++ getBuilderFactory()Ljavafx/util/BuilderFactory;     -     -     -     -     -     -     -     -     -     -     -     -
++ getCharset()Ljava/nio/charset/Charset;     -     -     -     -     -     -     -     -     -     -     -     -
++ getController()Ljava/lang/Object;     -     -     -     -     -     -     -     -     -     -     -     -
++ getIncludes()Ljava/util/List;     -     -     -     -     -     -     -     -     -     -     -     -
+getLoadListener()Lcom/sun/javafx/fxml/LoadListener;     -     -     -     -     -     -     -     -     -     -     -     -
++ getLocation()Ljava/net/URL;     -     -     -     -     -     -     -     -     -     -     -     -
++ getNamespace()Ljavafx/collections/ObservableMap;     -     -     -     -     -     -     -     -     -     -     -     -
++ getResources()Ljava/util/ResourceBundle;     -     -     -     -     -     -     -     -     -     -     -     -
++ getRoot()Ljava/lang/Object;     -     -     -     -     -     -     -     -     -     -     -     -
+isStaticLoad()Z
+ */
+ //   Button b;
+
+    public static final String defaultPropertyLabeledResourcePath = RESOURCE_BASE + "rt14879-labeled.fxml";
+
+    private class slotDefaultLabeled extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyLabeledResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyListViewResourcePath = RESOURCE_BASE + "rt14879-listview.fxml";
+
+    private class slotDefaultListview extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyListViewResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            /* DEBUG.   let it be here for a while
+            ListView lv = new ListView();
+            String st = "str";
+            lv.getItems().add(st);
+            lv.getItems().add(st);
+            lv.getItems().add(st);
+             *
+             */
+
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyMenuResourcePath = RESOURCE_BASE + "rt14879-menu.fxml";
+
+    private class slotDefaultMenu extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyMenuResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Menu uplevelNode = null;
+            FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            try {
+                    uplevelNode = (Menu)fxmlLoader.load();
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+                ParseTraceElement ptes[] = fxmlLoader.impl_getParseTrace();
+                for (ParseTraceElement pte: ptes) {
+                    // see rt-19329
+                    System.out.println("trace element: " + pte);
+                }
+
+            }
+            MenuBar mb = new MenuBar();
+            mb.getMenus().add(uplevelNode);
+            // debug: uplevelNode.getItems().add(new MenuItem("open!!"));
+            return mb;
+        }
+    }
+
+    public static final String defaultPropertyMenuBarResourcePath = RESOURCE_BASE + "rt14879-menubar.fxml";
+
+    private class slotDefaultMenuBar extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyMenuBarResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyScrollpaneResourcePath = RESOURCE_BASE + "rt14879-scrollpane.fxml";
+
+    private class slotDefaultScrollpane extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyScrollpaneResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyTabpaneResourcePath = RESOURCE_BASE + "rt14879-tabpane.fxml";
+
+    private class slotDefaultTabpane extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyTabpaneResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyTableViewResourcePath = RESOURCE_BASE + "rt14879-tableview.fxml";
+
+    private class slotDefaultTableview extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyTableViewResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            TableView<Text> table = new TableView<Text>();
+
+            try {
+                table =
+                        FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            TableColumn<Text, String> firstNameCol = new TableColumn<Text, String>("First Name");
+            firstNameCol.setCellValueFactory(new PropertyValueFactory("text"));
+            table.getColumns().setAll(firstNameCol);
+
+            Object o = table.getItems().get(0);
+            System.out.println("item0 type: " + o.getClass().getName());
+            System.out.println("item0 text: " + table.getItems().get(0).getText());
+
+            return table;
+        }
+    }
+
+    public static final String defaultPropertyTextinputResourcePath = RESOURCE_BASE + "rt14879-textinput.fxml";
+
+    private class slotDefaultTextinput extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyTextinputResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyTitledpaneResourcePath = RESOURCE_BASE + "rt14879-titledpane.fxml";
+
+    private class slotDefaultTitledpane extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyTitledpaneResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyTreeviewResourcePath = RESOURCE_BASE + "rt14879-treeview.fxml";
+
+    private class slotDefaultTreeview extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyTreeviewResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            //Font f = null;
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyImageviewResourcePath = RESOURCE_BASE + "rt14879-imageview.fxml";
+
+    private class slotDefaultImageview extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyImageviewResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return uplevelNode;
+        }
+    }
+
+    public static final String defaultPropertyPaneResourcePath = RESOURCE_BASE + "rt14879-pane.fxml";
+
+    private class slotDefaultPane extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return defaultPropertyPaneResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Node uplevelNode = null;
+            try {
+                uplevelNode = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return uplevelNode;
+        }
+    }
+
+    public static final String controllerFactoryPath = RESOURCE_BASE + "rt_16724.fxml";
+
+    private class controllerFactoryPane extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return controllerFactoryPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            LoadableEntity uplevelNode = null;
+            boolean cntrlrFctryInvoked = false;
+            boolean cntrlrInvoked = false;
+            FXMLLoader fxmlLoader2 = new FXMLLoader();
+            Callback cfViaGetter = null;
+
+            RT_16724ControllerFactory cf = new RT_16724ControllerFactory();
+            try {
+
+                uplevelNode =
+                    FXMLLoader.load(resource, null, null,  cf);
+
+                cntrlrFctryInvoked = cf.isInvoked();
+                RT_16724Controller cntrlr = cf.getCntrlr();
+                cntrlrInvoked = cntrlr.isInvoked();
+
+                fxmlLoader2.setControllerFactory(cf);
+                cfViaGetter = fxmlLoader2.getControllerFactory();
+
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            System.out.println("name: " + uplevelNode.getName());
+
+            if ( cf != cfViaGetter ){
+                reportGetterFailure("cf via getter failed");
+            }
+
+            if ( 0 != "nameLoadedViaDefaultProperty".compareTo(uplevelNode.getName())) {
+                reportGetterFailure("load using defaultProperty in custom class failed");
+            }
+            if ( false == cntrlrFctryInvoked || false == cntrlrInvoked ) {
+                reportGetterFailure("failed.");
+                return redRectangle;
+            } else {
+                return retRec;
+            }
+
+        }
+    }
+
+
+    public static final String specificSignatureMethodPath = RESOURCE_BASE + "rt_18229.fxml";
+
+    private class specificSignatureMethodPane extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return specificSignatureMethodPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+        FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            try {
+                    fxmlLoader.load();
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+        RT_18229Controller controller = (RT_18229Controller)fxmlLoader.getController();
+        if ( 0 != "abc".compareTo(controller.getRootName1())) {
+            reportGetterFailure("compare 1");
+        }
+        if ( 0 != "def".compareTo(controller.getRootName2())) {
+            reportGetterFailure("compare 2");
+        }
+
+        final String rootName1 = "123";
+        controller.getRoot().setName1(rootName1);
+        if ( 0 != rootName1.compareTo(controller.getRootName1())) {
+            reportGetterFailure("compare 3");
+        }
+
+        final String rootName2 = "456";
+        controller.getRoot().setName2(rootName2);
+
+        if ( 0 != rootName2.compareTo(controller.getRootName2())) {
+            reportGetterFailure("compare 4");
+        }
+
+            return retRec;
+        }
+    }
+
+    public static final String loadfontPath = RESOURCE_BASE + "fontload.fxml";
+
+    private class loadfontSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return loadfontPath ;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Font fnt = null;
+            FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            try {
+                 fnt = (Font) fxmlLoader.load();
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            System.out.println("font name: " + fnt.getName());
+            if ( 0 != "Lucida Bright Demibold".compareTo(fnt.getName())) {
+                reportGetterFailure("font name check failed");
+            }
+
+            return retRec;
+        }
+    }
+
+    public static final String scenebuilderPath = RESOURCE_BASE + "scenebuilder.fxml";
+
+    private class scenebuilderSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return scenebuilderPath ;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Scene tmpScene = null;
+            FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            try {
+                 tmpScene = (Scene) fxmlLoader.load();
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            if ( 150 != tmpScene.getHeight()) {
+                reportGetterFailure("sceneHeight check failed");
+            }
+            if ( 100 != tmpScene.getWidth()) {
+                reportGetterFailure("sceneWidth check failed");
+            }
+
+            return tmpScene.getRoot();
+        }
+    }
+
+
+    public static final String rt18299ResourcePath = RESOURCE_BASE + "rt18299-scene-without-root.fxml";
+    private class scenebuilderNoRootSlot extends scenebuilderSlot
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt18299ResourcePath;
+        }
+
+    }
+
+    public static final String rt19329ResourcePath = RESOURCE_BASE + "rt19329-error-FXML.fxml";
+    public static final String ERROR_INFO_ID = "error_info";
+    //public static final String FXML_ERROR_LOCATION = "<ErrorTag is not a valid type.>fxml:12";
+    private class errorFXMLLoader extends TestNodeWithIOExceptionProcessing
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt19329ResourcePath;
+        }
+
+        @Override
+        protected Node impl_drawNode() throws IOException
+        {
+            final Label label = new Label();
+            label.setId(ERROR_INFO_ID);
+            FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            try
+            {
+                 fxmlLoader.load();
+            }
+            catch(IOException e)
+            {
+                boolean lineNumberPresentAndCorrect = false;
+                System.out.println("Exception text=" + e.getMessage());
+                if (e.getMessage().contains("ErrorTag") &&
+                     e.getMessage().contains("fxml:12"))
+                {
+                    return retRec;
+                }
+            }
+            reportGetterFailure("wrong error message");
+            return label;
+        }
+
+    }
+
+    public static final String rt18218ResourcePath = RESOURCE_BASE + "rt18218-unknown-custom-type.fxml";
+    public static final String LOADER_LOG_ID = "loader_log";
+    public static final String SUCCESSFUL_STATIC_LOAD = "success";
+    private class UnknownCustomType extends TestNodeWithIOExceptionProcessing
+    {
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt18218ResourcePath;
+        }
+
+        @Override
+        protected Node impl_drawNode() throws IOException
+        {
+            final Label label = new Label();
+            label.setId(LOADER_LOG_ID);
+            FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            fxmlLoader.impl_setStaticLoad(true);
+            try
+            {
+                 fxmlLoader.load();
+                 label.setText(SUCCESSFUL_STATIC_LOAD);
+            }
+            catch(LoadException e)
+            {
+                e.printStackTrace();
+                for(ParseTraceElement trace: fxmlLoader.impl_getParseTrace())
+                {
+                    label.setText(label.getText() + trace.toString() + '\n');
+                }
+            }
+
+            return label;
+        }
+
+    }
+
+    public static final String rt14345ResourcePath = RESOURCE_BASE + "rt14345-color-valueOf.fxml";
+    private class ColorValueOf extends TestNodeWithIOExceptionProcessing
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt14345ResourcePath;
+        }
+
+        @Override
+        protected Node impl_drawNode() throws IOException
+        {
+            FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            Node node = null;
+            try
+            {
+                 node = (Node) fxmlLoader.load();
+            }
+            catch(Exception e)
+            {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            return node;
+        }
+
+    }
+
+    public static final String rt18680ResourcePath = RESOURCE_BASE + "rt18680-escape-character.fxml";
+    private class EscapeCharacter extends TestNodeWithIOExceptionProcessing
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt18680ResourcePath;
+        }
+
+        @Override
+        protected Node impl_drawNode() throws IOException
+        {
+            FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            VBox node = null;
+            try
+            {
+                 node = (VBox) fxmlLoader.load();
+                 for(Node child: node.getChildren())
+                 {
+                     if((child.getId().equals("label_1")
+                             || child.getId().equals("label_2"))
+                         && !((Label) child).getText().equals("${foo}"))
+                     {
+                         reportGetterFailure(child.getId() + " text check failed");
+                     }
+                     if((child.getId().equals("label_3")
+                             || child.getId().equals("label_4"))
+                         && !((Label) child).getText().equals("@{foo}"))
+                     {
+                         reportGetterFailure(child.getId() + " text check failed");
+                     }
+                     if((child.getId().equals("label_5")
+                             || child.getId().equals("label_6"))
+                         && !((Label) child).getText().equals("%{foo}"))
+                     {
+                         reportGetterFailure(child.getId() + " text check failed");
+                     }
+                 }
+            }
+            catch(Exception e)
+            {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            return node;
+        }
+
+    }
+
+    public static final String rt17714ResourcePath = RESOURCE_BASE + "rt17714-collection-events-handlers.fxml";
+    private class CollectionEventsHandlers extends TestNodeWithIOExceptionProcessing
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt17714ResourcePath;
+        }
+
+        @Override
+        protected Node impl_drawNode() throws IOException
+        {
+            FXMLLoader fxmlLoader = new FXMLLoader(resource);
+            ObservableList<String> observableArrayList = null;
+            //javafx.collections.FXCollections.observableArrayList();
+            try
+            {
+                 observableArrayList = (ObservableList<String>) fxmlLoader.load();
+                 System.out.println(fxmlLoader.getController().getClass());
+                 observableArrayList.add("New added string");
+            }
+            catch(Exception e)
+            {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+
+            if(1 != CollectionController.callCount)
+            {
+                reportGetterFailure("Controller didn't handle event");
+            }
+
+            return new Label(observableArrayList.get(0).toString());
+        }
+
+    }
+
+    public static final String rt18229ResourcePath = RESOURCE_BASE + "rt18229-no-args-controller-method.fxml";
+    private class NoArgsControllerMethod extends TestNodeWithIOExceptionProcessing
+    {
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt18229ResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException
+        {
+            FXMLLoader loader = new FXMLLoader(resource);
+            Button button = null;
+            try
+            {
+                button = (Button) loader.load();
+                System.out.println(button.getId());
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return button;
+        }
+    }
+
+    public static final String rt18229OverloadedResourcePath = RESOURCE_BASE + "rt18229-overloaded-controller-method.fxml";
+    private class OverloadedControllerMethod extends TestNodeWithIOExceptionProcessing
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt18229OverloadedResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException
+        {
+            FXMLLoader loader = new FXMLLoader(resource);
+            Button button = null;
+            try
+            {
+                button = (Button) loader.load();
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return button;
+        }
+
+    }
+
+    public static final String rt17657ResourcePath = RESOURCE_BASE + "rt17657-custom-id-property.fxml";
+    private class CustomIDProperty extends TestNodeWithIOExceptionProcessing
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt17657ResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException
+        {
+            FXMLLoader loader = new FXMLLoader(resource);
+            CustomIDButton button = null;
+            try
+            {
+                button = (CustomIDButton) loader.load();
+                System.out.println(button.getCustomID());
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return button;
+
+        }
+
+    }
+
+    public static final String rt16722ResourcePath = RESOURCE_BASE + "rt16722-base-controller-properties.fxml";
+    private class BaseColntrollerProperty extends TestNodeWithIOExceptionProcessing
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt16722ResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException
+        {
+            FXMLLoader loader = new FXMLLoader(resource);
+            VBox vBox = null;
+            try
+            {
+                vBox = (VBox) loader.load();
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return vBox;
+
+        }
+
+    }
+
+    public static final String rt18956ResourcePath = RESOURCE_BASE + "rt18956-relative-stylesheets.fxml";
+    private class RelativeStylesheet extends TestNodeWithIOExceptionProcessing
+    {
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt18956ResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException
+        {
+            FXMLLoader loader = new FXMLLoader(resource);
+            Label label = null;
+            try
+            {
+                label = (Label) loader.load();
+                System.out.println("font:" + label.getFont().toString());
+
+                System.out.println("Style:");
+                System.out.println(label.getStyle());
+                final ObservableList<String> sheets = label.getStylesheets();
+                for (String str : sheets)
+                    System.out.println("sheet:" + str);
+                if (null != label.getBackground()) {
+                final List<BackgroundFill> lbf =
+                    label.getBackground().getFills();
+
+
+                for (BackgroundFill bf : lbf)
+                    System.out.println("fill:" + bf.toString());
+                } else {
+                    System.out.println("null == label.getBackground() ");
+                }
+                final List<CssMetaData<? extends Styleable, ?>> ls =
+                    label.getControlCssMetaData();
+
+
+                for (CssMetaData<? extends Styleable, ?> md : ls)
+                {
+                    System.out.println("css:" + md.toString());
+                    if (md.getProperty().equals("-fx-region-background")){
+                        final List<CssMetaData<? extends Styleable, ?>> subList =
+                            md.getSubProperties();
+                            for (CssMetaData<? extends Styleable, ?> smd : subList){
+                                System.out.println("   subcss:" + smd.toString());
+                                if (smd.getProperty().equals("-fx-background-color")){
+
+                                }
+                            }
+                    }
+
+                }
+
+
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return label;
+
+        }
+
+    }
+
+    public static final String rt16815ResourcePath = RESOURCE_BASE + "FXMLLoaderAPI.fxml";
+    private class FXMLLoaderAPI extends TestNodeWithIOExceptionProcessing
+    {
+
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return rt16815ResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException
+        {
+            FXMLLoader loader = new FXMLLoader(resource);
+            ResourceBundle rb = ResourceBundle.getBundle("test.fxmltests.resources.resource1",  new Locale("en", "US"));
+            FXMLLoader loader2 = new FXMLLoader(resource, rb);
+            FXMLLoader loader3 = new FXMLLoader(resource, rb, new JavaFXBuilderFactory());
+            ObservableList<Labeled> list = FXCollections.observableArrayList();
+            try
+            {
+                list.add((Labeled) loader.load());
+//                System.out.println(label.getStyle());
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            try
+            {
+                list.add((Labeled) loader2.load());
+//                System.out.println(label.getStyle());
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            try
+            {
+                list.add((Labeled) loader3.load());
+//                System.out.println(label.getStyle());
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            VBox vb = new VBox();
+            vb.getChildren().addAll(list);
+            return vb;
+
+        }
+
+    }
+
+    public static final String references2Path = RESOURCE_BASE + "ref_test.fxml";
+    private class references2Slot extends TestNodeWithIOExceptionProcessing {
+        // RT-18178
+        AnchorPane anchorPane = null;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return references2Path;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader2 = new FXMLLoader();
+                is = resource.openStream();
+                anchorPane = (AnchorPane) fxmlLoader2.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+
+
+            Button button = null;
+            Label label = null;
+            for (Node node : anchorPane.getChildren()) {
+                if (node instanceof Button) {
+                    button = (Button)node;
+                }
+                if (node instanceof Label) {
+                    label = (Label)node;
+                }
+            }
+
+            if ( null != label && null != button ) {
+                System.out.println("label: " + label.getFont() + " / " + label.getTextFill());
+                System.out.println("button: " + button.getFont() + " / " + button.getTextFill());
+
+                if (label.getTextFill().equals(button.getTextFill()) &&
+                    label.getFont().equals(button.getFont())) {
+                        return retRec;
+                }
+            }
+            reportGetterFailure("failed.");
+            return redRectangle;
+        }
+    }
+
+
+
+    public static final String apConstraintsPath = RESOURCE_BASE + "project-with-all-AnchorPane-constraints.fxml";
+    private class apConstraintsSlot extends TestNodeWithIOExceptionProcessing {
+        // RT-18178
+        AnchorPane anchorPane = null;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return apConstraintsPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader2 = new FXMLLoader();
+                is = resource.openStream();
+                anchorPane = (AnchorPane) fxmlLoader2.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+
+                        return retRec;
+        }
+    }
+
+
+
+
+    public static final String coercePath = RESOURCE_BASE + "project-with-all-p2-components.fxml";
+    private class coerceSlot extends TestNodeWithIOExceptionProcessing {
+        // RT-18178
+        AnchorPane anchorPane = null;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return coercePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader2 = new FXMLLoader();
+                is = resource.openStream();
+                anchorPane = (AnchorPane) fxmlLoader2.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            return retRec;
+        }
+    }
+
+    public static final String gridappletPath = RESOURCE_BASE + "rt19752.fxml";
+    private class gridappletSlot extends TestNodeWithIOExceptionProcessing {
+        // RT-18178
+        GridPane gridPane = null;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return gridappletPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader2 = new FXMLLoader();
+                is = resource.openStream();
+                gridPane = (GridPane) fxmlLoader2.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            return retRec;
+        }
+    }
+
+    /*
+    public static final String csspathPath = RESOURCE_BASE + "rt18956.xml";
+    private class csspathSlot extends TestNodeWithIOExceptionProcessing {
+        // RT-18956
+        BorderPane gridPane = null;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return csspathPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader2 = new FXMLLoader();
+                fxmlLoader2.setLocation(resource);
+
+                is = resource.openStream();
+                URL ggg;
+                AnchorPane sc = (AnchorPane) fxmlLoader2.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            return retRec;
+        }
+    }
+    */
+
+    public static final String listviewPath = RESOURCE_BASE + "listview-items.fxml";
+    private class listviewSlot extends TestNodeWithIOExceptionProcessing {
+        // RT-18178
+        AnchorPane anchorPane = null;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return listviewPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader2 = new FXMLLoader();
+                is = resource.openStream();
+                anchorPane = (AnchorPane) fxmlLoader2.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+
+            ListView lv = null;
+            for (Node node : anchorPane.getChildren()) {
+                System.out.println("anchorpane child: " + node);
+                if (node instanceof ListView) {
+                    lv = (ListView)node;
+                }
+            }
+
+            int hboxcount = 0;
+            if (null != lv) {
+                for (Object node : lv.getItems()) {
+                    if (node  instanceof HBox) {
+                        hboxcount = hboxcount + 1;
+                    }
+                    System.out.println("listview child: " + node);
+                }
+
+            }
+
+            if ( 3 != hboxcount ) {
+                reportGetterFailure("wrong items/items count.");
+                return redRectangle;
+            } else {
+                return retRec;
+            }
+        }
+    }
+
+    private class listenerNullArgSlot extends TestNodeWithIOExceptionProcessing {
+        // RT-19133
+
+        @Override
+        protected String impl_getPathToResource() {
+            return rt19133ResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            //InputStream is = null;
+            try {
+                //is = resource.openStream();
+                FXMLLoader fxmlLoader = new FXMLLoader(resource);
+
+                fxmlLoader.impl_setStaticLoad(true);
+                fxmlLoader.setLoadListener(new LoadListener() {
+
+                    @Override
+                    public void readImportProcessingInstruction(String target) {
+                    }
+
+                    @Override
+                    public void readLanguageProcessingInstruction(String language) {
+                    }
+
+                    @Override
+                    public void readComment(String comment) {
+                    }
+
+                    @Override
+                    public void beginInstanceDeclarationElement(Class<?> type) {
+                    }
+
+                    @Override
+                    public void beginUnknownTypeElement(String name) {
+                    }
+
+                    @Override
+                    public void beginIncludeElement() {
+                    }
+
+                    @Override
+                    public void beginReferenceElement() {
+                    }
+
+                    @Override
+                    public void beginCopyElement() {
+                    }
+
+                    @Override
+                    public void beginPropertyElement(String name, Class<?> sourceType) {
+                    }
+
+                    @Override
+                    public void beginUnknownStaticPropertyElement(String name) {
+                    }
+
+                    @Override
+                    public void beginScriptElement() {
+                    }
+
+                    @Override
+                    public void beginDefineElement() {
+                    }
+
+                    @Override
+                    public void readInternalAttribute(String name, String value) {
+                    }
+
+                    @Override
+                    public void readPropertyAttribute(String name, Class<?> sourceType, String value) {
+                    }
+
+                    @Override
+                    public void readUnknownStaticPropertyAttribute(String name, String value) {
+                    }
+
+                    @Override
+                    public void readEventHandlerAttribute(String name, String value) {
+                    }
+
+                    @Override
+                    public void endElement(Object value) {
+                        if (null == value) {
+                            System.out.println("endElement() arg is null: rt-19133");
+                            reportGetterFailure("endElement() arg is null: rt-19133");
+                        } else {
+                            System.out.println("endElement() arg:" + value);
+                        }
+                    }
+
+                    @Override
+                    public void beginRootElement() {
+                        throw new UnsupportedOperationException("Not supported yet.");
+                    }
+                });
+
+
+                fxmlLoader.load();
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                //is.close();
+            }
+            return retRec;
+        }
+    }
+
+    public static final String fullyQualifiedNamesResPath = RESOURCE_BASE + "fully-qualified-name.fxml";
+    private class FullyQualifiedNamesSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return fullyQualifiedNamesResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Label label = null;
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader = new FXMLLoader();
+                is = resource.openStream();
+                label = (Label) fxmlLoader.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            return label;
+        }
+    }
+
+    public static final String importResPath = RESOURCE_BASE + "import.fxml";
+    private class ImportSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return importResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Label label = null;
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader = new FXMLLoader();
+                is = resource.openStream();
+                label = (Label) fxmlLoader.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            return label;
+        }
+    }
+
+    public static final String beanInstantiationResPath = RESOURCE_BASE + "bean-instantiation.fxml";
+    private class BeanInstantiationSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return beanInstantiationResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Label label = new Label();
+        label.setId("label_from_bean");
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader = new FXMLLoader();
+                is = resource.openStream();
+        SimpleBean bean = (SimpleBean) fxmlLoader.load(is);
+                label.setText(bean.getContent());
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            return label;
+        }
+    }
+
+    public static final String valueOfResPath = RESOURCE_BASE + "value-of.fxml";
+    private class ValueOfSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return valueOfResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+            Label label = new Label();
+        label.setId("value_of_label");
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader = new FXMLLoader();
+                is = resource.openStream();
+        Double d = (Double) fxmlLoader.load(is);
+                label.setText(d.toString());
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            return label;
+        }
+    }
+
+    public static final String rootResPath = RESOURCE_BASE + "root.fxml";
+    private class RootSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return rootResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+        VBox vb = new VBox();
+        vb.setId("vb_root");
+            InputStream is = null;
+            try {
+                FXMLLoader fxmlLoader = new FXMLLoader();
+        fxmlLoader.setRoot(vb);
+                is = resource.openStream();
+        fxmlLoader.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+            return vb;
+        }
+    }
+
+    public static final String fxIdResPath = RESOURCE_BASE + "fx-id.fxml";
+    private class FxIdSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return fxIdResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+        AnchorPane ap = null;
+            InputStream is = null;
+        FXMLLoader fxmlLoader = null;
+            try {
+                fxmlLoader = new FXMLLoader();
+        is = resource.openStream();
+        ap = (AnchorPane) fxmlLoader.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+        Object label = fxmlLoader.getNamespace().get("cat_o_dog_label");
+        if(label == null || !(label instanceof Label))
+        {
+        reportGetterFailure("no label with id cat_o_dog_label");
+        }
+        if(label instanceof Label && !((Label) label).getText().equals("cat-o-dog"))
+        {
+        reportGetterFailure("invalid text in label");
+        }
+            return ap;
+        }
+    }
+
+    private class controllerAttributeSlot extends TestNodeWithIOExceptionProcessing {
+
+        MyRootElement2 mr;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return rootMethodEventHandlerResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+        FXMLLoader loader = new FXMLLoader();
+            try {
+                // https://javafx-jira.kenai.com/browse/RT-26774
+        //mr = (MyRootElement2) FXMLLoader.load(resource);
+                loader.setLocation(resource);
+                mr = (MyRootElement2)loader.load();
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                e.printStackTrace();
+                reportGetterFailure("exception thrown.");
+            }
+
+            if(!(loader.getController() instanceof MyRootElement2))
+        {
+        reportGetterFailure("wrong controller");
+        }
+
+        return mr;
+        }
+    }
+
+    public static final String noDefControllerResPath = RESOURCE_BASE + "no-default-controller.fxml";
+    private class NoDefaultControllerSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return noDefControllerResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+        Button button = null;
+        InputStream is = null;
+        FXMLLoader fxmlLoader = null;
+        MyRootElement myRootElement = new MyRootElement();
+            try {
+                fxmlLoader = new FXMLLoader();
+        fxmlLoader.setController(myRootElement);
+                is = resource.openStream();
+        button = (Button) fxmlLoader.load(is);
+            } catch (Exception e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+        if(fxmlLoader.getController() != myRootElement)
+        {
+        reportGetterFailure("Wrong controller");
+        }
+            return button;
+        }
+    }
+
+    private class LateRootSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return rootResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+        VBox vb = new VBox();
+        vb.setId("vb_root");
+        Node node = null;
+        FXMLLoader fxmlLoader = new FXMLLoader();
+            InputStream is = null;
+            try {
+        is = resource.openStream();
+        node = (Node) fxmlLoader.load(is);
+        fxmlLoader.setRoot(vb);
+            } catch (LoadException e) {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                return retRec;
+            } catch (Exception exc) {
+                exc.printStackTrace();
+                System.out.println("message: " + exc.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+//        if(node.getId() == null || !node.getId().equals("default_root"))
+//        {
+//        reportGetterFailure("Root id: " + node.getId());
+//        }
+        return redRectangle;
+        }
+    }
+
+    private class LateControllerSlot extends TestNodeWithIOExceptionProcessing {
+
+        @Override
+        protected String impl_getPathToResource() {
+            return noDefControllerResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException {
+        Button button = null;
+        InputStream is = null;
+        FXMLLoader fxmlLoader = new FXMLLoader();
+        MyRootElement myRootElement = new MyRootElement();
+            try {
+        is = resource.openStream();
+        fxmlLoader.load(is);
+        fxmlLoader.setController(myRootElement);
+            } catch (Exception e) {
+
+        if(e instanceof LoadException && e.getMessage().contains("No controller specified."))
+        {
+            return retRec;
+        }
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            } finally {
+                is.close();
+            }
+        reportGetterFailure("Controller is not null.");
+        return redRectangle;
+        }
+    }
+
+    private class VariableResolutionSlot extends TestNodeWithIOExceptionProcessing {
+
+        VBox vb;
+
+        @Override
+        protected String impl_getPathToResource() {
+            return fxdefineResourcePath;
+        }
+
+        @Override
+        public Node impl_drawNode() {
+            try {
+                vb = FXMLLoader.load(resource);
+            } catch (Exception e) {
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("exception thrown.");
+            }
+        LinkedList<ToggleGroup> toggleGroups = new LinkedList<ToggleGroup>();
+        for(Node child: vb.getChildren())
+        {
+        toggleGroups.add(((RadioButton) child).getToggleGroup());
+        }
+        for(int i = 0; i < toggleGroups.size() - 2; i ++)
+        {
+        if(!toggleGroups.get(i).equals(toggleGroups.get(i + 1)))
+        {
+            reportGetterFailure("failed.");
+            return redRectangle;
+        }
+        }
+            return retRec;
+        }
+    }
+
+    public static final String externalScriptResPath = RESOURCE_BASE + "external-script.fxml";
+    private class ExternalScriptCodeSlot extends TestNodeWithIOExceptionProcessing
+    {
+        @Override
+        protected String impl_getPathToResource()
+        {
+            return externalScriptResPath;
+        }
+
+        @Override
+        public Node impl_drawNode() throws IOException
+        {
+            FXMLLoader loader = new FXMLLoader(resource);
+            VBox vb = null;
+            try
+            {
+                vb = (VBox) loader.load();
+            }
+            catch(Exception e)
+            {
+                e.printStackTrace();
+                System.out.println("message: " + e.getMessage());
+                reportGetterFailure("message: " + e.getMessage());
+            }
+            return vb;
+        }
+    }
+
+
+    @Override
+    public TestNode setup() {
+        System.out.println("java.library.path=" + System.getProperty("java.library.path"));
+        TestNode rootTestNode = new TestNode();
+
+        final int heightPageContentPane = 800;
+        final int widthPageContentPane = 800;
+
+        List<Pair<String, TestNode>> hm = new ArrayList();
+
+        hm.add(new Pair<String, TestNode>(Pages.staticProperty.name(), new slotStaticProperty()));
+        hm.add(new Pair<String, TestNode>(Pages.HashMap.name(), new hashmaptest()));
+        hm.add(new Pair<String, TestNode>(Pages.customClassAndInclude.name(), new customClassLoadSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.factory.name(), new factorySlot()));
+        hm.add(new Pair<String, TestNode>(Pages.simple.name(), new simpleSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.propertyElements.name(), new propertyElementsSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.reference.name(), new referenceSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.copy.name(), new copySlot()));
+        hm.add(new Pair<String, TestNode>(Pages.prSetter.name(), new propertySetterSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.roList.name(), new roListSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.roMap.name(), new roMapSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.defaultProperty.name(), new defaultPropertySlot()));
+        hm.add(new Pair<String, TestNode>(Pages.fxdefine.name(), new fxdefineSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.namespaceBinding.name(), new namespaceBindingSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.staticProperties.name(), new staticPropertiesSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.rootMethodEventHandler.name(), new rootMethodEventHandlerSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.scriptEventHandler.name(), new scriptEventHandlerSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.script.name(), new scriptSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.menuItem.name(), new menuitemSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.resources1.name(), new resource1Slot()));
+        hm.add(new Pair<String, TestNode>(Pages.resources2.name(), new resource2Slot()));
+        hm.add(new Pair<String, TestNode>(Pages.namespace.name(), new namespaceSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.splitpanebug.name(), new splitpanebugSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.charset.name(), new charsetSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.loadExceptions.name(), new loadExceptionsSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultLabeled.name(), new slotDefaultLabeled()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultListview.name(), new   slotDefaultListview()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultMenu.name(), new   slotDefaultMenu()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultMenuBar.name(), new   slotDefaultMenuBar()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultScrollpane.name(), new   slotDefaultScrollpane()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTabpane.name(), new   slotDefaultTabpane()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTableView.name(), new   slotDefaultTableview()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTextinput.name(), new   slotDefaultTextinput()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTitledpane.name(), new   slotDefaultTitledpane()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultTreeview.name(), new   slotDefaultTreeview()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultImageview.name(), new   slotDefaultImageview()));
+        hm.add(new Pair<String, TestNode>(Pages.slotDefaultPane.name(), new   slotDefaultPane()));
+        hm.add(new Pair<String, TestNode>(Pages.slotControllerFactory.name(), new  controllerFactoryPane()));
+        hm.add(new Pair<String, TestNode>(Pages.specificSignatureMethod.name(), new  specificSignatureMethodPane()));
+        hm.add(new Pair<String, TestNode>(Pages.loadfontSlot.name(), new  loadfontSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.scenebuilderSlot.name(), new  scenebuilderSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.references2.name(), new  references2Slot()));
+        hm.add(new Pair<String, TestNode>(Pages.apConstraints.name(), new  apConstraintsSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.coerce.name(), new  coerceSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.listviewItems.name(), new listviewSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.listenerNullArg.name(), new listenerNullArgSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.gridapplet.name(), new gridappletSlot()));
+        //hm.add(new Pair<String, TestNode>(Pages.csspath.name(), new csspathSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.scenebuilderNoRoot.name(), new scenebuilderNoRootSlot()));
+        hm.add(new Pair<String, TestNode>(Pages.errorFXML.name(), new errorFXMLLoader()));
+        hm.add(new Pair<String, TestNode>(Pages.colorValueOF.name(), new ColorValueOf()));
+        hm.add(new Pair<String, TestNode>(Pages.escapeCharacter.name(), new EscapeCharacter()));
+        hm.add(new Pair<String, TestNode>(Pages.collectionEventsHandlers.name(), new CollectionEventsHandlers()));
+        hm.add(new Pair<String, TestNode>(Pages.noArgControllerMethod.name(), new NoArgsControllerMethod()));
+        hm.add(new Pair<String, TestNode>(Pages.overloadedControllerMethod.name(), new OverloadedControllerMethod()));
+        hm.add(new Pair<String, TestNode>(Pages.customIDProperty.name(), new CustomIDProperty()));
+        hm.add(new Pair<String, TestNode>(Pages.unknownCustomType.name(), new UnknownCustomType()));
+        hm.add(new Pair<String, TestNode>(Pages.baseControllerProperty.name(), new BaseColntrollerProperty()));
+        hm.add(new Pair<String, TestNode>(Pages.relativeStylesheet.name(), new RelativeStylesheet()));
+        hm.add(new Pair<String, TestNode>(Pages.FXMLLoaderAPI.name(), new FXMLLoaderAPI()));
+        hm.add(new Pair<String, TestNode>(Pages.fullyQualifiedNames.name(), new FullyQualifiedNamesSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.importPI.name(), new ImportSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.beanInstantiation.name(), new BeanInstantiationSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.valueOf.name(), new ValueOfSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.root.name(), new RootSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.fxId.name(), new FxIdSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.fxController.name(), new controllerAttributeSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.noDefaultController.name(), new NoDefaultControllerSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.lateRoot.name(), new LateRootSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.lateController.name(), new LateControllerSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.variableResolution.name(), new VariableResolutionSlot()));
+    hm.add(new Pair<String, TestNode>(Pages.externalScript.name(), new ExternalScriptCodeSlot()));
+
+
+        for (Pair<String, TestNode> tn : hm) {
+            final PageWithSlots xPage = new PageWithSlots(tn.getKey(), heightPageContentPane, widthPageContentPane);
+            xPage.setSlotSize(240, 180);
+            xPage.add(tn.getValue(), tn.getKey());
+            rootTestNode.add(xPage);
+
+        }
+        return rootTestNode;
+
+    }
+
+    public static void main(String[] args) {
+        Utils.launch(staticPropertyLoadApp.class, args);
+    }
+
+}
diff --git a/functional/FxmlTests/test/test/fxmltests/functional/LineNumberTest.java b/functional/FxmlTests/test/test/fxmltests/functional/LineNumberTest.java
deleted file mode 100644
--- a/functional/FxmlTests/test/test/fxmltests/functional/LineNumberTest.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package test.fxmltests.functional;
-
-import junit.framework.Assert;
-import org.jemmy.env.Timeout;
-import org.jemmy.timing.State;
-import org.jemmy.timing.Waiter;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import test.fxmltests.app.LineNumberApp;
-import test.javaclient.shared.TestBase;
-import test.javaclient.shared.Utils;
-
-public class LineNumberTest extends TestBase {
-
-    private static final long WAITER_TIMEOUT = 5000;
-
-    @BeforeClass
-    public static void runUI() {
-        Utils.launch(LineNumberApp.class, null);
-    }
-
-    /**
-     * testing LoadListener#readImportProcessingInstruction
-     */
-    @Test
-    public void testImportProcessingInstruction() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.importProcessingInstructionMatrix.length == LineNumberApp.importProcessingInstruction.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.importProcessingInstructionMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.importProcessingInstructionMatrix[i], LineNumberApp.importProcessingInstruction.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#readLanguageProcessingInstruction
-     */
-    @Test
-    public void testLanguageProcessingInstruction() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.languageProcessingInstructionMatrix.length == LineNumberApp.languageProcessingInstruction.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.languageProcessingInstructionMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.languageProcessingInstructionMatrix[i], LineNumberApp.languageProcessingInstruction.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#readComment
-     */
-    @Test
-    public void testComment() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.commentMatrix.length == LineNumberApp.comment.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.commentMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.commentMatrix[i], LineNumberApp.comment.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#beginInstanceDeclarationElement
-     */
-    @Test
-    public void testBeginInstanceDeclarationElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.instanceDeclarationElementMatrix.length == LineNumberApp.instanceDeclarationElement.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.instanceDeclarationElementMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.instanceDeclarationElementMatrix[i], LineNumberApp.instanceDeclarationElement.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#beginIncludeElement
-     */
-    @Test
-    public void testIncludeElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.includeElementMatrix.length == LineNumberApp.includeElement.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.includeElementMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.includeElementMatrix[i], LineNumberApp.includeElement.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#beginReferenceElement
-     */
-    @Test
-    public void testReferenceElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.referenceElementMatrix.length == LineNumberApp.referenceElement.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.referenceElementMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.referenceElementMatrix[i], LineNumberApp.referenceElement.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#beginCopyElement
-     */
-    @Test
-    public void testCopyElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.copyElementMatrix.length == LineNumberApp.copyElement.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.copyElementMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.copyElementMatrix[i], LineNumberApp.copyElement.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#beginRootElement
-     */
-    @Test
-    public void testRootElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.rootElement > 0;
-            }
-        });
-        Assert.assertEquals(LineNumberApp.rootElementLine, LineNumberApp.rootElement);
-    }
-
-    /**
-     * testing LoadListener#beginPropertyElement
-     */
-    @Test
-    public void testPropertyElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.propertyElementMatrix.length == LineNumberApp.propertyElement.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.propertyElementMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.propertyElementMatrix[i], LineNumberApp.propertyElement.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#beginScriptElement
-     */
-    @Test
-    public void testScriptElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.propertyElementMatrix.length == LineNumberApp.propertyElement.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.propertyElementMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.propertyElementMatrix[i], LineNumberApp.propertyElement.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#beginDefineElement
-     */
-    @Test
-    public void testDefineElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.defineElementMatrix.length == LineNumberApp.defineElement.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.defineElementMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.defineElementMatrix[i], LineNumberApp.defineElement.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#readInternalAttribute
-     */
-    @Test
-    public void testReadInternalProperty() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.readInternalAttributeMatrix.length == LineNumberApp.readInternalAttribute.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.readInternalAttributeMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.readInternalAttributeMatrix[i], LineNumberApp.readInternalAttribute.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#readPropertyAttribute
-     */
-    @Test
-    public void testReadPropertyAttribute() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.readPropertyAttributeMatrix.length == LineNumberApp.readPropertyAttribute.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.readPropertyAttributeMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.readPropertyAttributeMatrix[i], LineNumberApp.readPropertyAttribute.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#readEventHandlerAttribute
-     */
-    @Test
-    public void testReadEventHandlerAttribute() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.readEventHandlerAttributeMatrix.length == LineNumberApp.readEventHandlerAttribute.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.readEventHandlerAttributeMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.readEventHandlerAttributeMatrix[i], LineNumberApp.readEventHandlerAttribute.get(i));
-        }
-    }
-
-    /**
-     * testing LoadListener#endElement
-     */
-    @Test
-    public void testEndElement() {
-        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
-        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
-            @Override
-            public Boolean reached() {
-                return LineNumberApp.endElementMatrix.length == LineNumberApp.endElement.size();
-            }
-        });
-        for (int i = 0; i < LineNumberApp.endElementMatrix.length; i++) {
-            Assert.assertEquals(LineNumberApp.endElementMatrix[i], LineNumberApp.endElement.get(i));
-        }
-    }
-}
diff --git a/functional/FxmlTests/test/test/fxmltests/functional/LineNumberTest.java.excluded b/functional/FxmlTests/test/test/fxmltests/functional/LineNumberTest.java.excluded
new file mode 100644
--- /dev/null
+++ b/functional/FxmlTests/test/test/fxmltests/functional/LineNumberTest.java.excluded
@@ -0,0 +1,301 @@
+// https://bugs.openjdk.java.net/browse/INTJDK-7624138
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.fxmltests.functional;
+
+import client.test.AddExports;
+import junit.framework.Assert;
+import org.jemmy.env.Timeout;
+import org.jemmy.timing.State;
+import org.jemmy.timing.Waiter;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import test.fxmltests.app.LineNumberApp;
+import test.javaclient.shared.TestBase;
+import test.javaclient.shared.Utils;
+
+@AddExports(value = "javafx.fxml/com.sun.javafx.fxml=ALL-UNNAMED")
+public class LineNumberTest extends TestBase {
+
+    private static final long WAITER_TIMEOUT = 5000;
+
+    @BeforeClass
+    public static void runUI() {
+        Utils.launch(LineNumberApp.class, null);
+    }
+
+    /**
+     * testing LoadListener#readImportProcessingInstruction
+     */
+    @Test
+    public void testImportProcessingInstruction() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.importProcessingInstructionMatrix.length == LineNumberApp.importProcessingInstruction.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.importProcessingInstructionMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.importProcessingInstructionMatrix[i], LineNumberApp.importProcessingInstruction.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#readLanguageProcessingInstruction
+     */
+    @Test
+    public void testLanguageProcessingInstruction() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.languageProcessingInstructionMatrix.length == LineNumberApp.languageProcessingInstruction.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.languageProcessingInstructionMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.languageProcessingInstructionMatrix[i], LineNumberApp.languageProcessingInstruction.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#readComment
+     */
+    @Test
+    public void testComment() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.commentMatrix.length == LineNumberApp.comment.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.commentMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.commentMatrix[i], LineNumberApp.comment.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#beginInstanceDeclarationElement
+     */
+    @Test
+    public void testBeginInstanceDeclarationElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.instanceDeclarationElementMatrix.length == LineNumberApp.instanceDeclarationElement.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.instanceDeclarationElementMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.instanceDeclarationElementMatrix[i], LineNumberApp.instanceDeclarationElement.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#beginIncludeElement
+     */
+    @Test
+    public void testIncludeElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.includeElementMatrix.length == LineNumberApp.includeElement.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.includeElementMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.includeElementMatrix[i], LineNumberApp.includeElement.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#beginReferenceElement
+     */
+    @Test
+    public void testReferenceElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.referenceElementMatrix.length == LineNumberApp.referenceElement.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.referenceElementMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.referenceElementMatrix[i], LineNumberApp.referenceElement.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#beginCopyElement
+     */
+    @Test
+    public void testCopyElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.copyElementMatrix.length == LineNumberApp.copyElement.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.copyElementMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.copyElementMatrix[i], LineNumberApp.copyElement.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#beginRootElement
+     */
+    @Test
+    public void testRootElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.rootElement > 0;
+            }
+        });
+        Assert.assertEquals(LineNumberApp.rootElementLine, LineNumberApp.rootElement);
+    }
+
+    /**
+     * testing LoadListener#beginPropertyElement
+     */
+    @Test
+    public void testPropertyElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.propertyElementMatrix.length == LineNumberApp.propertyElement.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.propertyElementMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.propertyElementMatrix[i], LineNumberApp.propertyElement.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#beginScriptElement
+     */
+    @Test
+    public void testScriptElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.propertyElementMatrix.length == LineNumberApp.propertyElement.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.propertyElementMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.propertyElementMatrix[i], LineNumberApp.propertyElement.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#beginDefineElement
+     */
+    @Test
+    public void testDefineElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.defineElementMatrix.length == LineNumberApp.defineElement.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.defineElementMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.defineElementMatrix[i], LineNumberApp.defineElement.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#readInternalAttribute
+     */
+    @Test
+    public void testReadInternalProperty() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.readInternalAttributeMatrix.length == LineNumberApp.readInternalAttribute.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.readInternalAttributeMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.readInternalAttributeMatrix[i], LineNumberApp.readInternalAttribute.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#readPropertyAttribute
+     */
+    @Test
+    public void testReadPropertyAttribute() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.readPropertyAttributeMatrix.length == LineNumberApp.readPropertyAttribute.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.readPropertyAttributeMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.readPropertyAttributeMatrix[i], LineNumberApp.readPropertyAttribute.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#readEventHandlerAttribute
+     */
+    @Test
+    public void testReadEventHandlerAttribute() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.readEventHandlerAttributeMatrix.length == LineNumberApp.readEventHandlerAttribute.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.readEventHandlerAttributeMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.readEventHandlerAttributeMatrix[i], LineNumberApp.readEventHandlerAttribute.get(i));
+        }
+    }
+
+    /**
+     * testing LoadListener#endElement
+     */
+    @Test
+    public void testEndElement() {
+        testCommon(LineNumberApp.Pages.mainPage.name(), null, false, false);
+        new Waiter(new Timeout("", WAITER_TIMEOUT)).ensureValue(true, new State<Boolean>() {
+            @Override
+            public Boolean reached() {
+                return LineNumberApp.endElementMatrix.length == LineNumberApp.endElement.size();
+            }
+        });
+        for (int i = 0; i < LineNumberApp.endElementMatrix.length; i++) {
+            Assert.assertEquals(LineNumberApp.endElementMatrix[i], LineNumberApp.endElement.get(i));
+        }
+    }
+}
diff --git a/functional/FxmlTests/test/test/fxmltests/functional/staticPropertyLoadTest.java b/functional/FxmlTests/test/test/fxmltests/functional/staticPropertyLoadTest.java
deleted file mode 100644
--- a/functional/FxmlTests/test/test/fxmltests/functional/staticPropertyLoadTest.java
+++ /dev/null
@@ -1,842 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package test.fxmltests.functional;
-
-import javafx.scene.Parent;
-import javafx.scene.control.Label;
-import junit.framework.Assert;
-import org.jemmy.control.Wrap;
-import org.jemmy.env.Environment;
-import org.jemmy.fx.NodeDock;
-import org.jemmy.fx.SceneDock;
-import org.jemmy.fx.control.LabeledDock;
-import org.jemmy.image.GlassImage;
-import org.jemmy.image.Image;
-import org.jemmy.timing.State;
-import org.junit.Test;
-import org.junit.BeforeClass;
-import test.fxmltests.app.NoArgsController;
-import test.fxmltests.app.OverloadedController;
-
-import test.javaclient.shared.TestBase;
-import test.fxmltests.app.staticPropertyLoadApp;
-import static test.fxmltests.app.staticPropertyLoadApp.Pages;
-import static test.javaclient.shared.TestUtil.isEmbedded;
-
-public class staticPropertyLoadTest extends TestBase {
-
-/**
- *
- * test HashMap reading
- * @testableAssertId map_instantiaton
- */
-    @Test
-    public void HashMap() throws InterruptedException {
-        testCommon(Pages.HashMap.name(),null,false,true);
-    }
-
-/**
- *
- * "load()" method smoke test
- * @testableAssertId instantiation_builder
- */
-    @Test
-    public void simple() throws InterruptedException {
-        testCommon(Pages.simple.name(),null,false,true);
-    }
-
-/**
- *
- * test fx:copy feature
- * @testableAssertId copy
- */
-    @Test
-    public void copy() throws InterruptedException {
-        testCommon(Pages.copy.name(),null,false,true);
-    }
-
-/**
- *
- * test "include" feature
- * @testableAssertId include_no_leading_slash_character
- */
-    @Test
-    public void customClassAndInclude() throws InterruptedException {
-        testCommon(Pages.customClassAndInclude.name(),null,false,true);
-    }
-
-/**
- *
- * test "default property" feature
- */
-    @Test
-    public void defaultProperty() throws InterruptedException {
-        testCommon(Pages.defaultProperty.name(),null,false,true);
-    }
-
-/**
- *
- * test factory class usage
- * @testableAssertId instantiation_factory
- */
-    @Test
-    public void factory() throws InterruptedException {
-        testCommon(Pages.factory.name(),null,false,true);
-    }
-
-/**
- *
- * test fx:define feature
- * @testableAssertId define
- */
-    @Test
-    public void fxdefine() throws InterruptedException {
-        testCommon(Pages.fxdefine.name(),null,false,true);
-    }
-
-/**
- *
- * test fxml namespace binding feature
- * @testableAssertId controller_method_event_handler_specification
- */
-    @Test
-    public void namespaceBinding() throws InterruptedException {
-        testCommon(Pages.namespaceBinding.name(),null,false,true);
-    }
-
-/**
- *
- * test property setter feature
- * @testableAssertId property_setter
- */
-    @Test
-    public void prSetter() throws InterruptedException {
-        testCommon(Pages.prSetter.name(),null,false,true);
-    }
-
-/**
- *
- * test property element reading
- * @testableAssertId instance_properties
- */
-    @Test
-    public void propertyElements() throws InterruptedException {
-        testCommon(Pages.propertyElements.name(),null,false,true);
-    }
-
-/**
- *
- * test fx:reference> element
- * @testableAssertId reference
- */
-    @Test
-    public void reference() throws InterruptedException {
-        testCommon(Pages.reference.name(),null,false,true);
-    }
-
-/**
- *
- * test read-only list reading feature
- * @testableAssertId read_only_list_property
- */
-    @Test
-    public void roList() throws InterruptedException {
-        testCommon(Pages.roList.name(),null,false,true);
-    }
-
-/**
- *
- * test read-only map reading feature
- * @testableAssertId read_only_map_property
- */
-    @Test
-    public void roMap() throws InterruptedException {
-        testCommon(Pages.roMap.name(),null,false,true);
-    }
-
-/**
- *
- * test root method event handler
- */
-    @Test
-    public void rootMethodEventHandler() throws InterruptedException {
-        testCommon(Pages.rootMethodEventHandler.name(),null,false,true);
-    }
-
-/**
- *
- * test script handler
- * @testableAssertId script_event_handlers
- */
-    @Test
-    public void scriptEventHandler() throws InterruptedException {
-        testCommon(Pages.scriptEventHandler.name(),null,false,true);
-    }
-
-/**
- *
- * test "static" property represented as xml attribute
- * @testableAssertId static_property_attributes
- */
-    @Test
-    public void staticProperties() throws InterruptedException {
-        testCommon(Pages.staticProperties.name(),null,false,true);
-    }
-
-/**
- *
- * test "static" property represented as xml element
- * @testableAssertId static_property
- */
-    @Test
-    public void staticProperty() throws InterruptedException {
-        testCommon(Pages.staticProperty.name(),null,false,true);
-    }
-
-/**
- *
- * dedicated test for http://javafx-jira.kenai.com/browse/RT-17715
- */
-    @Test
-    public void menuItem() throws InterruptedException {
-        testCommon(Pages.menuItem.name(),null,false,true);
-    }
-
-/**
- *
- * test fxmlLoader.resources() method (part 1)
- */
-    @Test
-    public void resources1() throws InterruptedException {
-        testCommon(Pages.resources1.name(),null,false,true);
-    }
-
-/**
- *
- * test fxmlLoader.resources() method (part 2)
- * @testableAssertId resource_resolution
- */
-    @Test
-    public void resources2() throws InterruptedException {
-        testCommon(Pages.resources2.name(),null,false,true);
-    }
-
-/**
- *
- * test fxmlLoader.getNamespace() method
- */
-    @Test
-    public void namespace() throws InterruptedException {
-        testCommon(Pages.namespace.name(),null,false,true);
-    }
-
-/**
- *
- * dedicated test for http://javafx-jira.kenai.com/browse/RT-16977
- */
-    @Test
-    public void splitpanebug() throws InterruptedException {
-        testCommon(Pages.splitpanebug.name(),null,false,true);
-    }
-
-/**
- *
- * test reading xml with non-default encoding
- */
-    @Test
-    public void charset() throws InterruptedException {
-        testCommon(Pages.charset.name(),null,false,true);
-    }
-
-/**
- *
- * test exceptions throwing during xml load
- */
-    @Test
-    public void exceptions() throws InterruptedException {
-        testCommon(Pages.loadExceptions.name(),null,false,true);
-    }
-
-    @Test
-    public void slotDefaultLabeled() throws InterruptedException {
-        testCommon(Pages.slotDefaultLabeled.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in ListView class
- */
-    @Test
-    public void slotDefaultListview() throws InterruptedException {
-        testCommon(Pages.slotDefaultListview.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in Menu class
- */
-    @Test
-    public void slotDefaultMenu() throws InterruptedException {
-        testCommon(Pages.slotDefaultMenu.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in ListView
- */
-    @Test
-    public void slotDefaultMenuBar() throws InterruptedException {
-        testCommon(Pages.slotDefaultMenuBar.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in ScrollPane
- */
-    @Test
-    public void slotDefaultScrollpane() throws InterruptedException {
-        testCommon(Pages.slotDefaultScrollpane.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in TabPane
- */
-    @Test
-    public void slotDefaultTabpane() throws InterruptedException {
-        testCommon(Pages.slotDefaultTabpane.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in TableView
- */
-    @Test
-    public void slotDefaultTableView() throws InterruptedException {
-        testCommon(Pages.slotDefaultTableView.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in TextInput
- */
-    @Test
-    public void slotDefaultTextinput() throws InterruptedException {
-        testCommon(Pages.slotDefaultTextinput.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in TitledPane
- */
-    @Test
-    public void slotDefaultTitledpane() throws InterruptedException {
-        testCommon(Pages.slotDefaultTitledpane.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in TreeView
- */
-    @Test
-    public void slotDefaultTreeview() throws InterruptedException {
-        testCommon(Pages.slotDefaultTreeview.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in ImageView
- * @testableAssertId location_resolution
- */
-    @Test
-    public void slotDefaultImageview() throws InterruptedException {
-        testCommon(Pages.slotDefaultImageview.name(),null,false,true);
-    }
-
-/**
- *
- * test @DefaultProperty in Pane
- * @testableAssertId default_property
- */
-    @Test
-    public void slotDefaultPane() throws InterruptedException {
-        testCommon(Pages.slotDefaultPane.name(),null,false,true);
-    }
-
-/**
- *
- * test custom controller factory usage
- */
-    @Test
-    public void slotControllerFactory() throws InterruptedException {
-        testCommon(Pages.slotControllerFactory.name(),null,false,true);
-    }
-
-/**
- *
- * test handler selection based on method signature
- */
-    @Test
-    public void slotSpecificSignatureMethod() throws InterruptedException {
-        testCommon(Pages.specificSignatureMethod.name(),null,false,true);
-    }
-
-/**
- *
- * fxml fontbuilder test
- */
-    @Test
-    public void loadfontSlot() throws InterruptedException {
-        testCommon(Pages.loadfontSlot.name(),null,false,true);
-    }
-
-/**
- *
- * fxml scenebuilder test
- * @testableAssertId expression_binding
- */
-    @Test
-    public void scenebuilderSlot() throws InterruptedException {
-        testCommon(Pages.scenebuilderSlot.name(),null,false,true);
-    }
-
-
-/**
- *
- * fxml  RT-18178 test
- */
-    @Test
-    public void references2Slot() throws InterruptedException {
-        testCommon(Pages.references2.name(),null,false,true);
-    }
-
-/**
- *
- * fxml  http://javafx-jira.kenai.com/browse/RT-19112 test
- */
-    @Test
-    public void apConstraintsSlot() throws InterruptedException {
-        testCommon(Pages.apConstraints.name(),null,false,true);
-    }
-
-/**
- *
- * fxml  http://javafx-jira.kenai.com/browse/RT-19142 test
- * @testableAssertId coercion
- */
-    @Test
-    public void coerceSlot() throws InterruptedException {
-        testCommon(Pages.coerce.name(),null,false,true);
-    }
-
-/**
- *
- * fxml  http://javafx-jira.kenai.com/browse/RT-19139 test
- */
-    @Test
-    public void listviewItemsSlot() throws InterruptedException {
-        testCommon(Pages.listviewItems.name(),null,false,true);
-    }
-
-/**
- *
- * fxml  http://javafx-jira.kenai.com/browse/RT-19752 test
- */
-    @Test
-    public void gridappletSlot() throws InterruptedException {
-        testCommon(Pages.gridapplet.name(),null,false,true);
-    }
-
-/**
- *
- * fxml  http://javafx-jira.kenai.com/browse/RT-18956 test
- */
-    /*
-    @Test
-    public void csspathSlot() throws InterruptedException {
-        testCommon(Pages.csspath.name(),null,false,true);
-    }
-    *
-    */
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-18299 test
-    */
-    @Test
-    public void scenebuilderNoRootSlot() throws InterruptedException {
-        testCommon(Pages.scenebuilderNoRoot.name(),null,false,true);
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-14345 test
-    */
-    @Test
-    public void colorValueOfSlot() throws InterruptedException {
-        testCommon(Pages.colorValueOF.name(),null,false,true);
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-18680 test
-    * @testableAssertId escape_sequences
-    */
-    @Test
-    public void escapeCharacterSlot() throws InterruptedException {
-        testCommon(Pages.escapeCharacter.name(),null,false,true);
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-17714 test
-    */
-    @Test
-    public void collectionEventsSlot() throws InterruptedException {
-        testCommon(Pages.collectionEventsHandlers.name(),null,false,true);
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-18229 test
-    * @testableAssertId handler_method_opt_arg
-    */
-    @Test
-    public void noArgsControllerMethod() throws InterruptedException {
-        testCommon(Pages.noArgControllerMethod.name(),null,false,true);
-        int count = NoArgsController.counter;
-        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "btn_no_args_handler");
-        ld.mouse().click();
-        ld.wrap().waitState(new State<Integer>() {
-
-            @Override
-            public Integer reached() {
-                return NoArgsController.counter;
-            }
-        }, count + 1);
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-18229 test
-    */
-    @Test
-    public void overloadedControllerMethod() throws InterruptedException {
-        testCommon(Pages.overloadedControllerMethod.name(),null,false,true);
-        int noArgsCount = OverloadedController.getNoArgsCounter();
-        int eventCount = OverloadedController.getEventCounter();
-        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "btn_overloaded_handler");
-        ld.mouse().click();
-        ld.wrap().waitState(new State<Integer>() {
-
-            @Override
-            public Integer reached() {
-                return OverloadedController.getNoArgsCounter();
-            }
-        }, noArgsCount);
-        ld.wrap().waitState(new State<Integer>() {
-
-            @Override
-            public Integer reached() {
-                return OverloadedController.getEventCounter();
-            }
-        }, eventCount + 1);
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-18218 test
-    */
-    @Test
-    public void unknownCustopTypesSlot() throws InterruptedException {
-        testCommon(Pages.unknownCustomType.name(),null,false,true);
-        final LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(),
-                staticPropertyLoadApp.LOADER_LOG_ID);
-        ld.wrap().waitState(new State<String>() {
-
-            @Override
-            public String reached() {
-                return ld.getText();
-            }
-        }, staticPropertyLoadApp.SUCCESSFUL_STATIC_LOAD);
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-19329 test
-    */
-    @Test
-    public void fxmlErrorSlot() throws InterruptedException {
-        testCommon(Pages.errorFXML.name(),null,false,true);
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-16722 test
-    */
-    @Test
-    public void baseControllerPropertySlot() throws InterruptedException {
-        testCommon(Pages.baseControllerProperty.name(),null,false,true);
-        final LabeledDock ld1 = new LabeledDock(new SceneDock(getScene()).asParent(),
-                "button1_base_controller");
-        final LabeledDock ld2 = new LabeledDock(new SceneDock(getScene()).asParent(),
-                "button2_child_controller");
-        ld1.mouse().click();
-        ld2.mouse().click();
-        ld1.wrap().waitState(new State<String>() {
-
-            @Override
-            public String reached() {
-                return ld1.getText();
-            }
-        }, "button1BaseHandler");
-        ld2.wrap().waitState(new State<String>() {
-
-            @Override
-            public String reached() {
-                return ld2.getText();
-            }
-        }, "button2ChildHandler");
-    }
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-18956 test
-    */
- @Test
-    public void relativeStylesheetsSlot() throws InterruptedException {
-        testCommon(Pages.relativeStylesheet.name(),null,false,true);
-        final LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(),
-                "relative-stylesheet-label");
-        ld.wrap().waitState(new State<String>() {
-
-            @Override
-            public String reached() {
-                boolean isRed = false;
-                Image image = ld.wrap().getScreenImage();
-                if (image instanceof org.jemmy.image.AWTImage) {
-                    final double[] vv = test.javaclient.shared.SwingAWTUtils.getColors(image);
-                    System.err.println("=");
-                    for (double n : vv){
-                        System.err.print("/" + n + "/");
-                    }
-                    if ((3==vv.length) && (255==vv[0]) && (0==vv[1]) && (0==vv[2]))
-                        isRed = true;
-                } else {
-                    System.err.println("Glass! image!");
-                    final double[] vv = new double[((GlassImage)image).getSupported().length];
-                    ((GlassImage)image).getColors(((GlassImage)image).getSize().width /2, ((GlassImage)image).getSize().height/2, vv);
-                    System.err.println("=");
-                    for (double n : vv){
-                        System.err.print("/" + n + "/");
-                    }
-                    if ((4==vv.length) && (0==vv[0]) && (0==vv[1]) && (1==vv[2]) && (1==vv[3]))
-                        isRed = true;
-
-                }
-
-
-                return isRed?"red":"nonred";
-            }
-        }, "red");
-    }
-
-
-    /**
-    *
-    * fxml http://javafx-jira.kenai.com/browse/RT-16815 test
-    */
-    @Test
-    public void FXMLLoaderAPISlot() throws InterruptedException {
-        testCommon(Pages.FXMLLoaderAPI.name(),null,false,true);
-    }
-
-    /**
-     *
-     * @testableAssertId fully_qualified_name
-     */
-    @Test
-    public void FullyQualifiedNamesSlot() throws InterruptedException
-    {
-        testCommon(Pages.fullyQualifiedNames.name(),null,false,true);
-        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "fully-qualified-label-id");
-        Assert.assertTrue(ld.control() instanceof Label);
-    }
-
-    /**
-     *
-     * @testableAssertId import
-     */
-    @Test
-    public void ImportSlot() throws InterruptedException
-    {
-        testCommon(Pages.importPI.name(),null,false,true);
-        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "import-label-id");
-        Assert.assertTrue(ld.control() instanceof Label);
-    }
-
-    /**
-     *
-     * @testableAssertId instantiation_java_bean
-     */
-    @Test
-    public void BeanInstantiationSlot() throws InterruptedException
-    {
-        testCommon(Pages.beanInstantiation.name(),null,false,true);
-        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "label_from_bean");
-        Assert.assertEquals(ld.getText(), "Just string");
-    }
-
-    /**
-     *
-     * @testableAssertId instantiation_no_default_constructor
-     */
-    @Test
-    public void ValueOfSlot() throws InterruptedException
-    {
-        testCommon(Pages.valueOf.name(),null,false,true);
-        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "value_of_label");
-        Assert.assertEquals(ld.getText(), "1.0");
-    }
-
-    /**
-     *
-     * @testableAssertId root
-     */
-    @Test
-    public void RootSlot() throws InterruptedException
-    {
-        testCommon(Pages.root.name(),null,false,true);
-        NodeDock vBoxDock = new NodeDock(new SceneDock(getScene()).asParent(), "vb_root");
-    LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "boxed_label");
-        Assert.assertEquals(ld.control().getParent(), vBoxDock.control());
-    }
-
-    /**
-     *
-     * @testableAssertId assigning_id
-     */
-    @Test
-    public void FxIdSlot() throws InterruptedException
-    {
-        testCommon(Pages.fxId.name(),null,false,true);
-    }
-
-    /**
-     *
-     * @testableAssertId controller_attribute
-     */
-    @Test
-    public void FxControllerSlot() throws InterruptedException
-    {
-        testCommon(Pages.fxController.name(),null,false,true);
-    }
-
-    /**
-     *
-     * @testableAssertId loader_setRoot
-     */
-    @Test
-    public void setRootSlot() throws InterruptedException
-    {
-        testCommon(Pages.root.name(),null,false,true);
-    NodeDock node = new NodeDock(new SceneDock(getScene()).asParent(), "boxed_label");
-    Parent root = node.control().getParent();
-    Assert.assertEquals("vb_root", root.getId());
-    }
-
-    /**
-     *
-     * @testableAssertId loader_setController
-     */
-    @Test
-    public void setControllerSlot() throws InterruptedException
-    {
-        testCommon(Pages.noDefaultController.name(),null,false,true);
-    }
-
-    /**
-     *
-     * @testableAssertId loader_setRoot_sequence
-     */
-    @Test
-    public void setRootSequenceSlot() throws InterruptedException
-    {
-        testCommon(Pages.lateRoot.name(),null,false,true);
-    }
-
-    /**
-     *
-     * @testableAssertId loader_setController_sequence
-     */
-    @Test
-    public void setControllerSequenceSlot() throws InterruptedException
-    {
-    testCommon(Pages.lateController.name(),null,false,true);
-    }
-
-    /**
-     *
-     * @testableAssertId variable_resolution
-     */
-    @Test
-    public void variableResolutionSlot() throws InterruptedException
-    {
-    testCommon(Pages.variableResolution.name(),null,false,true);
-    }
-
-    /**
-    *
-    * @testableAssertId external_script_code
-    */
-    @Test
-    public void externalScriptCodeSlot() throws InterruptedException {
-        testCommon(Pages.externalScript.name(),null,false,true);
-        final LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "button_external_script");
-        ld.mouse().click();
-        ld.wrap().waitState(new State<String>() {
-
-            @Override
-            public String reached() {
-                return ld.getText();
-            }
-        }, "Clicked");
-    }
-
-    //Util
-    @BeforeClass
-    public static void runUI() {
-        staticPropertyLoadApp.main(null);
-        if(isEmbedded()) {
-            Environment.getEnvironment().setTimeout(Wrap.WAIT_STATE_TIMEOUT, 5000);
-        }
-    }
-
-    @Override
-    protected String getName() {
-        return "staticPropertyLoad";
-    }
-
-}
diff --git a/functional/FxmlTests/test/test/fxmltests/functional/staticPropertyLoadTest.java.excluded b/functional/FxmlTests/test/test/fxmltests/functional/staticPropertyLoadTest.java.excluded
new file mode 100644
--- /dev/null
+++ b/functional/FxmlTests/test/test/fxmltests/functional/staticPropertyLoadTest.java.excluded
@@ -0,0 +1,842 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.fxmltests.functional;
+
+import javafx.scene.Parent;
+import javafx.scene.control.Label;
+import junit.framework.Assert;
+import org.jemmy.control.Wrap;
+import org.jemmy.env.Environment;
+import org.jemmy.fx.NodeDock;
+import org.jemmy.fx.SceneDock;
+import org.jemmy.fx.control.LabeledDock;
+import org.jemmy.image.GlassImage;
+import org.jemmy.image.Image;
+import org.jemmy.timing.State;
+import org.junit.Test;
+import org.junit.BeforeClass;
+import test.fxmltests.app.NoArgsController;
+import test.fxmltests.app.OverloadedController;
+
+import test.javaclient.shared.TestBase;
+import test.fxmltests.app.staticPropertyLoadApp;
+import static test.fxmltests.app.staticPropertyLoadApp.Pages;
+import static test.javaclient.shared.TestUtil.isEmbedded;
+
+public class staticPropertyLoadTest extends TestBase {
+
+/**
+ *
+ * test HashMap reading
+ * @testableAssertId map_instantiaton
+ */
+    @Test
+    public void HashMap() throws InterruptedException {
+        testCommon(Pages.HashMap.name(),null,false,true);
+    }
+
+/**
+ *
+ * "load()" method smoke test
+ * @testableAssertId instantiation_builder
+ */
+    @Test
+    public void simple() throws InterruptedException {
+        testCommon(Pages.simple.name(),null,false,true);
+    }
+
+/**
+ *
+ * test fx:copy feature
+ * @testableAssertId copy
+ */
+    @Test
+    public void copy() throws InterruptedException {
+        testCommon(Pages.copy.name(),null,false,true);
+    }
+
+/**
+ *
+ * test "include" feature
+ * @testableAssertId include_no_leading_slash_character
+ */
+    @Test
+    public void customClassAndInclude() throws InterruptedException {
+        testCommon(Pages.customClassAndInclude.name(),null,false,true);
+    }
+
+/**
+ *
+ * test "default property" feature
+ */
+    @Test
+    public void defaultProperty() throws InterruptedException {
+        testCommon(Pages.defaultProperty.name(),null,false,true);
+    }
+
+/**
+ *
+ * test factory class usage
+ * @testableAssertId instantiation_factory
+ */
+    @Test
+    public void factory() throws InterruptedException {
+        testCommon(Pages.factory.name(),null,false,true);
+    }
+
+/**
+ *
+ * test fx:define feature
+ * @testableAssertId define
+ */
+    @Test
+    public void fxdefine() throws InterruptedException {
+        testCommon(Pages.fxdefine.name(),null,false,true);
+    }
+
+/**
+ *
+ * test fxml namespace binding feature
+ * @testableAssertId controller_method_event_handler_specification
+ */
+    @Test
+    public void namespaceBinding() throws InterruptedException {
+        testCommon(Pages.namespaceBinding.name(),null,false,true);
+    }
+
+/**
+ *
+ * test property setter feature
+ * @testableAssertId property_setter
+ */
+    @Test
+    public void prSetter() throws InterruptedException {
+        testCommon(Pages.prSetter.name(),null,false,true);
+    }
+
+/**
+ *
+ * test property element reading
+ * @testableAssertId instance_properties
+ */
+    @Test
+    public void propertyElements() throws InterruptedException {
+        testCommon(Pages.propertyElements.name(),null,false,true);
+    }
+
+/**
+ *
+ * test fx:reference> element
+ * @testableAssertId reference
+ */
+    @Test
+    public void reference() throws InterruptedException {
+        testCommon(Pages.reference.name(),null,false,true);
+    }
+
+/**
+ *
+ * test read-only list reading feature
+ * @testableAssertId read_only_list_property
+ */
+    @Test
+    public void roList() throws InterruptedException {
+        testCommon(Pages.roList.name(),null,false,true);
+    }
+
+/**
+ *
+ * test read-only map reading feature
+ * @testableAssertId read_only_map_property
+ */
+    @Test
+    public void roMap() throws InterruptedException {
+        testCommon(Pages.roMap.name(),null,false,true);
+    }
+
+/**
+ *
+ * test root method event handler
+ */
+    @Test
+    public void rootMethodEventHandler() throws InterruptedException {
+        testCommon(Pages.rootMethodEventHandler.name(),null,false,true);
+    }
+
+/**
+ *
+ * test script handler
+ * @testableAssertId script_event_handlers
+ */
+    @Test
+    public void scriptEventHandler() throws InterruptedException {
+        testCommon(Pages.scriptEventHandler.name(),null,false,true);
+    }
+
+/**
+ *
+ * test "static" property represented as xml attribute
+ * @testableAssertId static_property_attributes
+ */
+    @Test
+    public void staticProperties() throws InterruptedException {
+        testCommon(Pages.staticProperties.name(),null,false,true);
+    }
+
+/**
+ *
+ * test "static" property represented as xml element
+ * @testableAssertId static_property
+ */
+    @Test
+    public void staticProperty() throws InterruptedException {
+        testCommon(Pages.staticProperty.name(),null,false,true);
+    }
+
+/**
+ *
+ * dedicated test for http://javafx-jira.kenai.com/browse/RT-17715
+ */
+    @Test
+    public void menuItem() throws InterruptedException {
+        testCommon(Pages.menuItem.name(),null,false,true);
+    }
+
+/**
+ *
+ * test fxmlLoader.resources() method (part 1)
+ */
+    @Test
+    public void resources1() throws InterruptedException {
+        testCommon(Pages.resources1.name(),null,false,true);
+    }
+
+/**
+ *
+ * test fxmlLoader.resources() method (part 2)
+ * @testableAssertId resource_resolution
+ */
+    @Test
+    public void resources2() throws InterruptedException {
+        testCommon(Pages.resources2.name(),null,false,true);
+    }
+
+/**
+ *
+ * test fxmlLoader.getNamespace() method
+ */
+    @Test
+    public void namespace() throws InterruptedException {
+        testCommon(Pages.namespace.name(),null,false,true);
+    }
+
+/**
+ *
+ * dedicated test for http://javafx-jira.kenai.com/browse/RT-16977
+ */
+    @Test
+    public void splitpanebug() throws InterruptedException {
+        testCommon(Pages.splitpanebug.name(),null,false,true);
+    }
+
+/**
+ *
+ * test reading xml with non-default encoding
+ */
+    @Test
+    public void charset() throws InterruptedException {
+        testCommon(Pages.charset.name(),null,false,true);
+    }
+
+/**
+ *
+ * test exceptions throwing during xml load
+ */
+    @Test
+    public void exceptions() throws InterruptedException {
+        testCommon(Pages.loadExceptions.name(),null,false,true);
+    }
+
+    @Test
+    public void slotDefaultLabeled() throws InterruptedException {
+        testCommon(Pages.slotDefaultLabeled.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in ListView class
+ */
+    @Test
+    public void slotDefaultListview() throws InterruptedException {
+        testCommon(Pages.slotDefaultListview.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in Menu class
+ */
+    @Test
+    public void slotDefaultMenu() throws InterruptedException {
+        testCommon(Pages.slotDefaultMenu.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in ListView
+ */
+    @Test
+    public void slotDefaultMenuBar() throws InterruptedException {
+        testCommon(Pages.slotDefaultMenuBar.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in ScrollPane
+ */
+    @Test
+    public void slotDefaultScrollpane() throws InterruptedException {
+        testCommon(Pages.slotDefaultScrollpane.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in TabPane
+ */
+    @Test
+    public void slotDefaultTabpane() throws InterruptedException {
+        testCommon(Pages.slotDefaultTabpane.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in TableView
+ */
+    @Test
+    public void slotDefaultTableView() throws InterruptedException {
+        testCommon(Pages.slotDefaultTableView.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in TextInput
+ */
+    @Test
+    public void slotDefaultTextinput() throws InterruptedException {
+        testCommon(Pages.slotDefaultTextinput.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in TitledPane
+ */
+    @Test
+    public void slotDefaultTitledpane() throws InterruptedException {
+        testCommon(Pages.slotDefaultTitledpane.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in TreeView
+ */
+    @Test
+    public void slotDefaultTreeview() throws InterruptedException {
+        testCommon(Pages.slotDefaultTreeview.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in ImageView
+ * @testableAssertId location_resolution
+ */
+    @Test
+    public void slotDefaultImageview() throws InterruptedException {
+        testCommon(Pages.slotDefaultImageview.name(),null,false,true);
+    }
+
+/**
+ *
+ * test @DefaultProperty in Pane
+ * @testableAssertId default_property
+ */
+    @Test
+    public void slotDefaultPane() throws InterruptedException {
+        testCommon(Pages.slotDefaultPane.name(),null,false,true);
+    }
+
+/**
+ *
+ * test custom controller factory usage
+ */
+    @Test
+    public void slotControllerFactory() throws InterruptedException {
+        testCommon(Pages.slotControllerFactory.name(),null,false,true);
+    }
+
+/**
+ *
+ * test handler selection based on method signature
+ */
+    @Test
+    public void slotSpecificSignatureMethod() throws InterruptedException {
+        testCommon(Pages.specificSignatureMethod.name(),null,false,true);
+    }
+
+/**
+ *
+ * fxml fontbuilder test
+ */
+    @Test
+    public void loadfontSlot() throws InterruptedException {
+        testCommon(Pages.loadfontSlot.name(),null,false,true);
+    }
+
+/**
+ *
+ * fxml scenebuilder test
+ * @testableAssertId expression_binding
+ */
+    @Test
+    public void scenebuilderSlot() throws InterruptedException {
+        testCommon(Pages.scenebuilderSlot.name(),null,false,true);
+    }
+
+
+/**
+ *
+ * fxml  RT-18178 test
+ */
+    @Test
+    public void references2Slot() throws InterruptedException {
+        testCommon(Pages.references2.name(),null,false,true);
+    }
+
+/**
+ *
+ * fxml  http://javafx-jira.kenai.com/browse/RT-19112 test
+ */
+    @Test
+    public void apConstraintsSlot() throws InterruptedException {
+        testCommon(Pages.apConstraints.name(),null,false,true);
+    }
+
+/**
+ *
+ * fxml  http://javafx-jira.kenai.com/browse/RT-19142 test
+ * @testableAssertId coercion
+ */
+    @Test
+    public void coerceSlot() throws InterruptedException {
+        testCommon(Pages.coerce.name(),null,false,true);
+    }
+
+/**
+ *
+ * fxml  http://javafx-jira.kenai.com/browse/RT-19139 test
+ */
+    @Test
+    public void listviewItemsSlot() throws InterruptedException {
+        testCommon(Pages.listviewItems.name(),null,false,true);
+    }
+
+/**
+ *
+ * fxml  http://javafx-jira.kenai.com/browse/RT-19752 test
+ */
+    @Test
+    public void gridappletSlot() throws InterruptedException {
+        testCommon(Pages.gridapplet.name(),null,false,true);
+    }
+
+/**
+ *
+ * fxml  http://javafx-jira.kenai.com/browse/RT-18956 test
+ */
+    /*
+    @Test
+    public void csspathSlot() throws InterruptedException {
+        testCommon(Pages.csspath.name(),null,false,true);
+    }
+    *
+    */
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-18299 test
+    */
+    @Test
+    public void scenebuilderNoRootSlot() throws InterruptedException {
+        testCommon(Pages.scenebuilderNoRoot.name(),null,false,true);
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-14345 test
+    */
+    @Test
+    public void colorValueOfSlot() throws InterruptedException {
+        testCommon(Pages.colorValueOF.name(),null,false,true);
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-18680 test
+    * @testableAssertId escape_sequences
+    */
+    @Test
+    public void escapeCharacterSlot() throws InterruptedException {
+        testCommon(Pages.escapeCharacter.name(),null,false,true);
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-17714 test
+    */
+    @Test
+    public void collectionEventsSlot() throws InterruptedException {
+        testCommon(Pages.collectionEventsHandlers.name(),null,false,true);
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-18229 test
+    * @testableAssertId handler_method_opt_arg
+    */
+    @Test
+    public void noArgsControllerMethod() throws InterruptedException {
+        testCommon(Pages.noArgControllerMethod.name(),null,false,true);
+        int count = NoArgsController.counter;
+        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "btn_no_args_handler");
+        ld.mouse().click();
+        ld.wrap().waitState(new State<Integer>() {
+
+            @Override
+            public Integer reached() {
+                return NoArgsController.counter;
+            }
+        }, count + 1);
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-18229 test
+    */
+    @Test
+    public void overloadedControllerMethod() throws InterruptedException {
+        testCommon(Pages.overloadedControllerMethod.name(),null,false,true);
+        int noArgsCount = OverloadedController.getNoArgsCounter();
+        int eventCount = OverloadedController.getEventCounter();
+        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "btn_overloaded_handler");
+        ld.mouse().click();
+        ld.wrap().waitState(new State<Integer>() {
+
+            @Override
+            public Integer reached() {
+                return OverloadedController.getNoArgsCounter();
+            }
+        }, noArgsCount);
+        ld.wrap().waitState(new State<Integer>() {
+
+            @Override
+            public Integer reached() {
+                return OverloadedController.getEventCounter();
+            }
+        }, eventCount + 1);
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-18218 test
+    */
+    @Test
+    public void unknownCustopTypesSlot() throws InterruptedException {
+        testCommon(Pages.unknownCustomType.name(),null,false,true);
+        final LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(),
+                staticPropertyLoadApp.LOADER_LOG_ID);
+        ld.wrap().waitState(new State<String>() {
+
+            @Override
+            public String reached() {
+                return ld.getText();
+            }
+        }, staticPropertyLoadApp.SUCCESSFUL_STATIC_LOAD);
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-19329 test
+    */
+    @Test
+    public void fxmlErrorSlot() throws InterruptedException {
+        testCommon(Pages.errorFXML.name(),null,false,true);
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-16722 test
+    */
+    @Test
+    public void baseControllerPropertySlot() throws InterruptedException {
+        testCommon(Pages.baseControllerProperty.name(),null,false,true);
+        final LabeledDock ld1 = new LabeledDock(new SceneDock(getScene()).asParent(),
+                "button1_base_controller");
+        final LabeledDock ld2 = new LabeledDock(new SceneDock(getScene()).asParent(),
+                "button2_child_controller");
+        ld1.mouse().click();
+        ld2.mouse().click();
+        ld1.wrap().waitState(new State<String>() {
+
+            @Override
+            public String reached() {
+                return ld1.getText();
+            }
+        }, "button1BaseHandler");
+        ld2.wrap().waitState(new State<String>() {
+
+            @Override
+            public String reached() {
+                return ld2.getText();
+            }
+        }, "button2ChildHandler");
+    }
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-18956 test
+    */
+ @Test
+    public void relativeStylesheetsSlot() throws InterruptedException {
+        testCommon(Pages.relativeStylesheet.name(),null,false,true);
+        final LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(),
+                "relative-stylesheet-label");
+        ld.wrap().waitState(new State<String>() {
+
+            @Override
+            public String reached() {
+                boolean isRed = false;
+                Image image = ld.wrap().getScreenImage();
+                if (image instanceof org.jemmy.image.AWTImage) {
+                    final double[] vv = test.javaclient.shared.SwingAWTUtils.getColors(image);
+                    System.err.println("=");
+                    for (double n : vv){
+                        System.err.print("/" + n + "/");
+                    }
+                    if ((3==vv.length) && (255==vv[0]) && (0==vv[1]) && (0==vv[2]))
+                        isRed = true;
+                } else {
+                    System.err.println("Glass! image!");
+                    final double[] vv = new double[((GlassImage)image).getSupported().length];
+                    ((GlassImage)image).getColors(((GlassImage)image).getSize().width /2, ((GlassImage)image).getSize().height/2, vv);
+                    System.err.println("=");
+                    for (double n : vv){
+                        System.err.print("/" + n + "/");
+                    }
+                    if ((4==vv.length) && (0==vv[0]) && (0==vv[1]) && (1==vv[2]) && (1==vv[3]))
+                        isRed = true;
+
+                }
+
+
+                return isRed?"red":"nonred";
+            }
+        }, "red");
+    }
+
+
+    /**
+    *
+    * fxml http://javafx-jira.kenai.com/browse/RT-16815 test
+    */
+    @Test
+    public void FXMLLoaderAPISlot() throws InterruptedException {
+        testCommon(Pages.FXMLLoaderAPI.name(),null,false,true);
+    }
+
+    /**
+     *
+     * @testableAssertId fully_qualified_name
+     */
+    @Test
+    public void FullyQualifiedNamesSlot() throws InterruptedException
+    {
+        testCommon(Pages.fullyQualifiedNames.name(),null,false,true);
+        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "fully-qualified-label-id");
+        Assert.assertTrue(ld.control() instanceof Label);
+    }
+
+    /**
+     *
+     * @testableAssertId import
+     */
+    @Test
+    public void ImportSlot() throws InterruptedException
+    {
+        testCommon(Pages.importPI.name(),null,false,true);
+        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "import-label-id");
+        Assert.assertTrue(ld.control() instanceof Label);
+    }
+
+    /**
+     *
+     * @testableAssertId instantiation_java_bean
+     */
+    @Test
+    public void BeanInstantiationSlot() throws InterruptedException
+    {
+        testCommon(Pages.beanInstantiation.name(),null,false,true);
+        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "label_from_bean");
+        Assert.assertEquals(ld.getText(), "Just string");
+    }
+
+    /**
+     *
+     * @testableAssertId instantiation_no_default_constructor
+     */
+    @Test
+    public void ValueOfSlot() throws InterruptedException
+    {
+        testCommon(Pages.valueOf.name(),null,false,true);
+        LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "value_of_label");
+        Assert.assertEquals(ld.getText(), "1.0");
+    }
+
+    /**
+     *
+     * @testableAssertId root
+     */
+    @Test
+    public void RootSlot() throws InterruptedException
+    {
+        testCommon(Pages.root.name(),null,false,true);
+        NodeDock vBoxDock = new NodeDock(new SceneDock(getScene()).asParent(), "vb_root");
+    LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "boxed_label");
+        Assert.assertEquals(ld.control().getParent(), vBoxDock.control());
+    }
+
+    /**
+     *
+     * @testableAssertId assigning_id
+     */
+    @Test
+    public void FxIdSlot() throws InterruptedException
+    {
+        testCommon(Pages.fxId.name(),null,false,true);
+    }
+
+    /**
+     *
+     * @testableAssertId controller_attribute
+     */
+    @Test
+    public void FxControllerSlot() throws InterruptedException
+    {
+        testCommon(Pages.fxController.name(),null,false,true);
+    }
+
+    /**
+     *
+     * @testableAssertId loader_setRoot
+     */
+    @Test
+    public void setRootSlot() throws InterruptedException
+    {
+        testCommon(Pages.root.name(),null,false,true);
+    NodeDock node = new NodeDock(new SceneDock(getScene()).asParent(), "boxed_label");
+    Parent root = node.control().getParent();
+    Assert.assertEquals("vb_root", root.getId());
+    }
+
+    /**
+     *
+     * @testableAssertId loader_setController
+     */
+    @Test
+    public void setControllerSlot() throws InterruptedException
+    {
+        testCommon(Pages.noDefaultController.name(),null,false,true);
+    }
+
+    /**
+     *
+     * @testableAssertId loader_setRoot_sequence
+     */
+    @Test
+    public void setRootSequenceSlot() throws InterruptedException
+    {
+        testCommon(Pages.lateRoot.name(),null,false,true);
+    }
+
+    /**
+     *
+     * @testableAssertId loader_setController_sequence
+     */
+    @Test
+    public void setControllerSequenceSlot() throws InterruptedException
+    {
+    testCommon(Pages.lateController.name(),null,false,true);
+    }
+
+    /**
+     *
+     * @testableAssertId variable_resolution
+     */
+    @Test
+    public void variableResolutionSlot() throws InterruptedException
+    {
+    testCommon(Pages.variableResolution.name(),null,false,true);
+    }
+
+    /**
+    *
+    * @testableAssertId external_script_code
+    */
+    @Test
+    public void externalScriptCodeSlot() throws InterruptedException {
+        testCommon(Pages.externalScript.name(),null,false,true);
+        final LabeledDock ld = new LabeledDock(new SceneDock(getScene()).asParent(), "button_external_script");
+        ld.mouse().click();
+        ld.wrap().waitState(new State<String>() {
+
+            @Override
+            public String reached() {
+                return ld.getText();
+            }
+        }, "Clicked");
+    }
+
+    //Util
+    @BeforeClass
+    public static void runUI() {
+        staticPropertyLoadApp.main(null);
+        if(isEmbedded()) {
+            Environment.getEnvironment().setTimeout(Wrap.WAIT_STATE_TIMEOUT, 5000);
+        }
+    }
+
+    @Override
+    protected String getName() {
+        return "staticPropertyLoad";
+    }
+
+}
diff --git a/functional/SceneGraphTests/src/test/embedded/helpers/ControlsCheckBoxBuilder.java b/functional/SceneGraphTests/src/test/embedded/helpers/ControlsCheckBoxBuilder.java
--- a/functional/SceneGraphTests/src/test/embedded/helpers/ControlsCheckBoxBuilder.java
+++ b/functional/SceneGraphTests/src/test/embedded/helpers/ControlsCheckBoxBuilder.java
@@ -27,6 +27,7 @@
 
 import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
+import javafx.scene.control.CheckBox;
 
 /**
  *
@@ -34,27 +35,23 @@
  */
 class ControlsCheckBoxBuilder implements CheckBoxBuilder {
 
-    private javafx.scene.control.CheckBoxBuilder builder;
-
-    public ControlsCheckBoxBuilder() {
-        builder = javafx.scene.control.CheckBoxBuilder.create();
-    }
+    private javafx.scene.control.CheckBox cb = new CheckBox();
 
     @Override
     public CheckBoxBuilder text(String text) {
-        builder.text(text);
+        cb.setText(text);
         return this;
     }
 
     @Override
     public CheckBoxBuilder id(String id) {
-        builder.id(id);
+        cb.setId(id);
         return this;
     }
 
     @Override
     public CheckBoxBuilder setOnClickHandler(OnClickHandler handler) {
-        builder.onAction(new EventHandler<ActionEvent>() {
+        cb.setOnAction(new EventHandler<ActionEvent>() {
 
             @Override
             public void handle(ActionEvent t) {
@@ -67,13 +64,13 @@
 
     @Override
     public CheckBoxBuilder setChecked(boolean checked) {
-        builder.selected(checked);
+        cb.setSelected(checked);
         return this;
     }
 
     @Override
     public AbstractCheckBox build() {
-        return new ControlsCheckbox(builder.build());
+        return new ControlsCheckbox(cb);
     }
 
 }
diff --git a/functional/SceneGraphTests/src/test/fxapp/LifecycleApp.java b/functional/SceneGraphTests/src/test/fxapp/LifecycleApp.java
--- a/functional/SceneGraphTests/src/test/fxapp/LifecycleApp.java
+++ b/functional/SceneGraphTests/src/test/fxapp/LifecycleApp.java
@@ -30,7 +30,7 @@
 import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
-import javafx.scene.control.ButtonBuilder;
+import javafx.scene.control.Button;
 import javafx.stage.Stage;
 
 /**
@@ -74,13 +74,14 @@
         for (String string : status.raw = getParameters().getRaw()) {
             System.out.println(string);
         }
-        stage.setScene(new Scene(new Group(ButtonBuilder.create().text("close").onAction(new EventHandler<ActionEvent>() {
-
+        Button temp = new Button();
+        temp.setText("close");
+        temp.setOnAction(new EventHandler<ActionEvent>() {
             public void handle(ActionEvent t) {
                 stage.close();
             }
-
-        }).build())));
+        });
+        stage.setScene(new Scene(new Group(temp)));
         stage.show();
 
     }
diff --git a/functional/SceneGraphTests/src/test/scenegraph/app/DepthTestScene.java b/functional/SceneGraphTests/src/test/scenegraph/app/DepthTestScene.java
--- a/functional/SceneGraphTests/src/test/scenegraph/app/DepthTestScene.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/app/DepthTestScene.java
@@ -79,8 +79,7 @@
 
         VBox switchesAndRadios = new VBox(1);
         switchesAndRadios.getChildren().addAll(tuneGrid, backFrontRadio,
-                HBoxBuilder.create().children(indicator, referenceGreen, referenceRed).spacing(10).
-                build(), details);
+                new HBox(10, indicator, referenceGreen, referenceRed), details);
 
         root.setLeft(depthTestGroup);
         root.setRight(switchesAndRadios);
diff --git a/functional/SceneGraphTests/src/test/scenegraph/app/Effects2App.java b/functional/SceneGraphTests/src/test/scenegraph/app/Effects2App.java
--- a/functional/SceneGraphTests/src/test/scenegraph/app/Effects2App.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/app/Effects2App.java
@@ -23,14 +23,24 @@
  */
 package test.scenegraph.app;
 
+import java.io.IOException;
+import java.net.URL;
 import java.util.ArrayList;
+import java.util.Enumeration;
 import java.util.List;
+import java.util.Timer;
+import java.util.TimerTask;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javafx.animation.RotateTransition;
+import javafx.geometry.Bounds;
 import javafx.scene.Group;
 import javafx.scene.Node;
 import javafx.scene.effect.*;
 import javafx.scene.effect.Light.Distant;
 import javafx.scene.effect.Light.Point;
 import javafx.scene.effect.Light.Spot;
+import javafx.scene.image.Image;
 import javafx.scene.layout.StackPane;
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
@@ -41,6 +51,7 @@
 import javafx.scene.text.Font;
 import javafx.scene.text.FontWeight;
 import javafx.scene.text.Text;
+import javafx.util.Duration;
 import test.javaclient.shared.BasicButtonChooserApp;
 import test.javaclient.shared.PageWithSlots;
 import test.javaclient.shared.TestNode;
@@ -89,6 +100,36 @@
     private Factory textFactory;
 
     // Blend page -------------------------------------------------------------
+    private class slotTexturedBlendRectangle extends TestNode {
+        private Image image = new Image(
+                getClass().getResourceAsStream(ImagesApp.IMAGE_BASE + "blend_texture.png"));
+
+        @Override
+        public Node drawNode() {
+            Blend blend = new Blend();
+            blend.setTopInput(new ImageInput(image));
+            blend.setMode(BlendMode.SRC_ATOP);
+
+            Polygon p = new Polygon(0, 200, 100, 0, 200, 200);
+            p.setLayoutX(100);
+            p.setLayoutY(100);
+            p.setFill(Color.RED);
+            p.setStroke(Color.ORANGE);
+            p.setStrokeWidth(4.0);
+            p.setStrokeType(StrokeType.OUTSIDE);
+
+
+            //Just need to add effect somewhere in the future, when the polygon is already drawn
+            new Timer().schedule(new TimerTask() {
+                @Override
+                public void run() {
+                  p.setEffect(blend);
+                }
+            }, 500);
+            return p;
+        }
+    }
+
     private class slotBlendRectangleCircle extends TestNode {
 
         Group group;
@@ -162,8 +203,9 @@
         public Node drawNode() {
             Group group = new Group();
             group.setEffect(new Bloom(threshold));
-            group.getChildren().add(RectangleBuilder.create().x(0).y(0).width(160).height(80).
-                    fill(Color.DARKBLUE).build());
+            Rectangle temp = new Rectangle(0, 0, 160, 80);
+            temp.setFill(Color.DARKBLUE);
+            group.getChildren().add(temp);
             Text text = new Text("Bloom!");
             group.getChildren().add(text);
             text.setX(10);
@@ -246,8 +288,11 @@
             nes.add(new NamedEffect("defaults", new DisplacementMap(mapWaves)));
             nes.add(new NamedEffect("scale",  new DisplacementMap(mapWaves, 0, 0, 1.2f, 2.0f)));
             nes.add(new NamedEffect("offset",  new DisplacementMap(mapWaves, 0.2f, 0.1f, 1.0, 1.0)));
-            nes.add(new NamedEffect("wrap",  DisplacementMapBuilder.create().mapData(mapWaves).
-                    wrap(true).offsetX(0.5f).offsetY(0.3f).build()));
+            DisplacementMap temp = new DisplacementMap(mapWaves);
+            temp.setWrap(true);
+            temp.setOffsetX(0.5f);
+            temp.setOffsetY(0.3f);
+            nes.add(new NamedEffect("wrap",  temp));
             return nes;
         }
         @Override
@@ -255,8 +300,9 @@
             group = new Group();
             group.setEffect(namedeffect.effect);
             group.getChildren().add(new Rectangle(10,10, 100, 50));
-            group.getChildren().add(RectangleBuilder.create().x(0).y(0).width(120).height(120).
-                    fill(Color.TRANSPARENT).build()); // widener
+            Rectangle temp = new Rectangle(0, 0, 120, 120);
+            temp.setFill(Color.TRANSPARENT);
+            group.getChildren().add(temp); // widener
             Text text = new Text("Waves");
             text.setX(11);
             text.setY(50);
@@ -280,8 +326,9 @@
             VBox vb = new VBox();
             group = new Group();
             group.setEffect(e);
-            group.getChildren().add(RectangleBuilder.create().x(10).y(10).width(100).height(50).
-                    fill(Color.YELLOW).build());
+            Rectangle temp = new Rectangle(10, 10, 100, 50);
+            temp.setFill(Color.YELLOW);
+            group.getChildren().add(temp);
             Text text = new Text("Text");
             text.setFill(Color.RED);
 //            text.setFont(Font.font("Verdana", 28));
@@ -307,7 +354,9 @@
             nes.add(new NamedEffect("width: 40", new DropShadow(10., 0., 0., Color.BLACK) {{ setWidth(40);}}));
             nes.add(new NamedEffect("spread: 0.7", new DropShadow(BlurType.THREE_PASS_BOX, Color.BLACK, 10., 0.7, 0., 0.)));
             for (final BlurType bt : BlurType.values()) {
-                nes.add(new NamedEffect("bt:" + bt.name(), DropShadowBuilder.create().blurType(bt).build()));
+                DropShadow temp = new DropShadow();
+                temp.setBlurType(bt);
+                nes.add(new NamedEffect("bt:" + bt.name(), temp));
             }
             nes.add(new NamedEffect("offset: 10, 20", new DropShadow(10., 10, 20, Color.BLACK)));
             return nes;
@@ -353,8 +402,9 @@
             Text tmpTxt = new Text("Background");
             tmpTxt.setFill(Color.RED);
             st.getChildren().add(tmpTxt);
-            st.getChildren().add(RectangleBuilder.create().x(0).y(0).width(40).height(40).
-                    effect(new ColorInput(5, 5, 70, 70, Color.rgb(0, 255, 0, 0.5f))).build());
+            Rectangle temp = new Rectangle(0, 0, 40, 40);
+            temp.setEffect(new ColorInput(5, 5, 70, 70, Color.rgb(0, 255, 0, 0.5f)));
+            st.getChildren().add(temp);
             return st;
         }
 
@@ -403,8 +453,9 @@
 
             text.setFill(Color.YELLOW);
             group.getChildren().add(text);
-            group.getChildren().add(RectangleBuilder.create().x(10).y(10).width(100).height(40).
-                    fill(Color.LIGHTBLUE).build());
+            Rectangle temp = new Rectangle(10, 10, 100, 40);
+            temp.setFill(Color.LIGHTBLUE);
+            group.getChildren().add(temp);
 
             vb.getChildren().add(group);
             return vb;
@@ -420,15 +471,31 @@
         }
         List<NamedEffect> getNamedEffectList() {
             List<NamedEffect> nes = new ArrayList<NamedEffect>();
-            nes.add(new NamedEffect("colored", InnerShadowBuilder.create().color(Color.GREEN).build()));
-            nes.add(new NamedEffect("height: 40", InnerShadowBuilder.create().height(40).build()));
-            nes.add(new NamedEffect("width: 40", InnerShadowBuilder.create().width(40).build()));
-            nes.add(new NamedEffect("radius: 40", InnerShadowBuilder.create().radius(40).build()));
+            InnerShadow temp;
+            temp = new InnerShadow();
+            temp.setColor(Color.GREEN);
+            nes.add(new NamedEffect("colored", temp));
+            temp = new InnerShadow();
+            temp.setHeight(40);
+            nes.add(new NamedEffect("height: 40", temp));
+            temp = new InnerShadow();
+            temp.setWidth(40);
+            nes.add(new NamedEffect("width: 40", temp));
+            temp = new InnerShadow();
+            temp.setRadius(40);
+            nes.add(new NamedEffect("radius: 40", temp));
             for (final BlurType bt : BlurType.values()) {
-                nes.add(new NamedEffect("bt:" + bt.name(), InnerShadowBuilder.create().blurType(bt).build()));
+                temp = new InnerShadow();
+                temp.setBlurType(bt);
+                nes.add(new NamedEffect("bt:" + bt.name(), temp));
             }
-            nes.add(new NamedEffect("choke: 0.7", InnerShadowBuilder.create().choke(0.7f).build()));
-            nes.add(new NamedEffect("offset: 10, 20", InnerShadowBuilder.create().offsetX(10).offsetY(20).build()));
+            temp = new InnerShadow();
+            temp.setChoke(0.7f);
+            nes.add(new NamedEffect("choke: 0.7", temp));
+            temp = new InnerShadow();
+            temp.setOffsetX(10);
+            temp.setOffsetY(20);
+            nes.add(new NamedEffect("offset: 10, 20", temp));
             return nes;
         }
 
@@ -442,22 +509,47 @@
         }
         List<NamedEffect> getNamedEffectList() {
             List<NamedEffect> nes = new ArrayList<NamedEffect>();
-            nes.add(new NamedEffect("default", new Lighting()));
-            nes.add(new NamedEffect("distant light", LightingBuilder.create().light(new Distant()
-            {{ setAzimuth(90f); setElevation(50);}}).build()));
-            nes.add(new NamedEffect("point light", LightingBuilder.create().light(new Point(
-                    70, 120, 10, Color.WHITE)).build()));
-            nes.add(new NamedEffect("spot light", LightingBuilder.create().light(new Spot() {{
-                    setX(70);setY(120);setZ(50);
-                    setPointsAtX(150);setPointsAtY(0);setPointsAtZ(0);
-                }}).build()));
+            Lighting temp = new Lighting();
+            nes.add(new NamedEffect("default", temp));
+            temp = new Lighting();
+            Light.Distant td = new Light.Distant();
+            td.setAzimuth(90f);
+            td.setElevation(50);
+            temp.setLight(td);
+            nes.add(new NamedEffect("distant light", temp));
+            temp = new Lighting();
+            Light.Point tp = new Light.Point(70, 120, 10, Color.WHITE);
+            temp.setLight(tp);
+            nes.add(new NamedEffect("point light", temp));
+            temp = new Lighting();
+            Light.Spot ts = new Light.Spot();
+            ts.setX(70);
+            ts.setY(120);
+            ts.setZ(50);
+            ts.setPointsAtX(150);
+            ts.setPointsAtY(0);
+            ts.setPointsAtZ(0);
+            temp.setLight(ts);
+            nes.add(new NamedEffect("spot light", temp));
 
-            nes.add(new NamedEffect("diffuse: 0.5", LightingBuilder.create().diffuseConstant(0.5f).build()));
-            nes.add(new NamedEffect("specularC: 1.5", LightingBuilder.create().specularConstant(1.5f).build()));
-            nes.add(new NamedEffect("specularExp: 35", LightingBuilder.create().specularExponent(35f).build()));
-            nes.add(new NamedEffect("scale: 7", LightingBuilder.create().surfaceScale(7f).build()));
-            nes.add(new NamedEffect("bump input", LightingBuilder.create().bumpInput(new DropShadow()).build()));
-            nes.add(new NamedEffect("content input", LightingBuilder.create().contentInput(new DropShadow()).build()));
+            temp = new Lighting();
+            temp.setDiffuseConstant(0.5f);
+            nes.add(new NamedEffect("diffuse: 0.5", temp));
+            temp = new Lighting();
+            temp.setSpecularConstant(1.5f);
+            nes.add(new NamedEffect("specularC: 1.5", temp));
+            temp = new Lighting();
+            temp.setSpecularExponent(35f);
+            nes.add(new NamedEffect("specularExp: 35", temp));
+            temp = new Lighting();
+            temp.setSurfaceScale(7f);
+            nes.add(new NamedEffect("scale: 7", temp));
+            temp = new Lighting();
+            temp.setBumpInput(new DropShadow());
+            nes.add(new NamedEffect("bump input", temp));
+            temp = new Lighting();
+            temp.setContentInput(new DropShadow());
+            nes.add(new NamedEffect("content input", temp));
 
             return nes;
         }
@@ -497,11 +589,20 @@
         }
         List<NamedEffect> getNamedEffectList() {
             List<NamedEffect> nes = new ArrayList<NamedEffect>();
-            nes.add(new NamedEffect("default", new Reflection() ));
-            nes.add(new NamedEffect("bottom opacity 0.7", ReflectionBuilder.create().bottomOpacity(.7f).build()));
-            nes.add(new NamedEffect("fraction: 0.5", ReflectionBuilder.create().fraction(0.5f).build()));
-            nes.add(new NamedEffect("top offset: 15", ReflectionBuilder.create().topOffset(15).build()));
-            nes.add(new NamedEffect("top opacity: 0.9", ReflectionBuilder.create().topOpacity(.9f).build()));
+            Reflection temp = new Reflection();
+            nes.add(new NamedEffect("default", temp));
+            temp = new Reflection();
+            temp.setBottomOpacity(.7f);
+            nes.add(new NamedEffect("bottom opacity 0.7", temp));
+            temp = new Reflection();
+            temp.setFraction(0.5f);
+            nes.add(new NamedEffect("fraction: 0.5", temp));
+            temp = new Reflection();
+            temp.setTopOffset(15);
+            nes.add(new NamedEffect("top offset: 15", temp));
+            temp = new Reflection();
+            temp.setTopOpacity(.9f);
+            nes.add(new NamedEffect("top opacity: 0.9", temp));
 
             return nes;
         }
@@ -516,12 +617,22 @@
         }
         List<NamedEffect> getNamedEffectList() {
             List<NamedEffect> nes = new ArrayList<NamedEffect>();
-            nes.add(new NamedEffect("colored", ShadowBuilder.create().color(Color.GREEN).build()));
-            nes.add(new NamedEffect("height: 40", ShadowBuilder.create().height(40).build()));
-            nes.add(new NamedEffect("width: 40", ShadowBuilder.create().width(40).build()));
-            nes.add(new NamedEffect("radius: 40", ShadowBuilder.create().radius(40).build()));
+            Shadow temp = new Shadow();
+            temp.setColor(Color.GREEN);
+            nes.add(new NamedEffect("colored", temp));
+            temp = new Shadow();
+            temp.setHeight(40);
+            nes.add(new NamedEffect("height: 40", temp));
+            temp = new Shadow();
+            temp.setWidth(40);
+            nes.add(new NamedEffect("width: 40", temp));
+            temp = new Shadow();
+            temp.setRadius(40);
+            nes.add(new NamedEffect("radius: 40", temp));
             for (final BlurType bt : BlurType.values()) {
-                nes.add(new NamedEffect("bt:" + bt.name(), ShadowBuilder.create().blurType(bt).build()));
+                temp = new Shadow();
+                temp.setBlurType(bt);
+                nes.add(new NamedEffect("bt:" + bt.name(), temp));
             }
 
             return nes;
@@ -547,7 +658,7 @@
             blendPage.add(new slotBlendRectangleCircle(blendMode), blendMode.name());
         }
         blendPage.add(new slotBlend2(),"Grad_SrcOut");
-
+        blendPage.add(new slotTexturedBlendRectangle(), "Textured");
         // ======== BLOOM =================
         final PageWithSlots bloomPage = new PageWithSlots(Pages.Bloom.name(), heightPageContentPane, widthPageContentPane);
         bloomPage.setSlotSize(160, 160);
@@ -562,8 +673,7 @@
         for (final int iterations : new int[]{1, 3}) {
             for (final int _width : new int[]{1, 10, 20}) {
                 for (final int _height : new int[]{1, 10, 20}) {
-                    final Node node = textFactory.create(BoxBlurBuilder.create().width(_width).
-                            height(_height).iterations(iterations).build());
+                    final Node node = textFactory.create(new BoxBlur(_width, _height, iterations));
                     blurPage.add(new slotBlur(node),"W:" + _width + " H:" + _height + " I:" + iterations);
                 }
             }
@@ -608,7 +718,7 @@
         final PageWithSlots glowPage = new PageWithSlots(Pages.Glow.name(), heightPageContentPane, widthPageContentPane);
         glowPage.setSlotSize(160, 160);
         for (final Float level : new Float[] {0f, 0.3f, 0.7f, 1f}) {
-            Glow gl = GlowBuilder.create().level(level).build();
+            Glow gl = new Glow(level);
             glowPage.add(new slotWithTextNode(gl),"Level_" + level);
         }
 
@@ -631,8 +741,7 @@
         motionBlurPage.setSlotSize(120, 120);
         for (final int radius : new int[] {0, 10, 20}) {
             for (final int angle : new int[] {0, 45, 160, 315}) {
-                motionBlurPage.add(new slotWithTextNode(MotionBlurBuilder.create().angle(angle).
-                        radius(radius).build()), "Angle_" + angle + "_Radius_" + radius);
+                motionBlurPage.add(new slotWithTextNode(new MotionBlur(angle, radius)), "Angle_" + angle + "_Radius_" + radius);
             }
         }
 
diff --git a/functional/SceneGraphTests/src/test/scenegraph/app/LocalTo_TransformsApp.java b/functional/SceneGraphTests/src/test/scenegraph/app/LocalTo_TransformsApp.java
--- a/functional/SceneGraphTests/src/test/scenegraph/app/LocalTo_TransformsApp.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/app/LocalTo_TransformsApp.java
@@ -34,7 +34,6 @@
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.StackPane;
 import javafx.scene.shape.Circle;
-import javafx.scene.shape.CircleBuilder;
 import javafx.stage.Stage;
 import test.javaclient.shared.InteroperabilityApp;
 import test.javaclient.shared.Utils;
@@ -69,10 +68,15 @@
             StackPane doubleNestedPane = new StackPane();
             StackPane forthPane = new StackPane();
 
-            Circle circle1 = CircleBuilder.create().radius(20).id("circle_one").build();
-            Circle circle2 = CircleBuilder.create().radius(20).id("circle_two").build();
-            Circle circle3 = CircleBuilder.create().radius(20).id("circle_three").build();
-            Circle circle4 = CircleBuilder.create().radius(20).id("circle_four").translateZ(-50).build();
+            Circle circle1 = new Circle(20);
+            circle1.setId("circle_one");
+            Circle circle2 = new Circle(20);
+            circle2.setId("circle_two");
+            Circle circle3 = new Circle(20);
+            circle3.setId("circle_three");
+            Circle circle4 = new Circle(20);
+            circle4.setId("circle_four");
+            circle4.setTranslateZ(-50);
 
             forthPane.getChildren().add(circle4);
             doubleNestedPane.getChildren().add(circle3);
diff --git a/functional/SceneGraphTests/src/test/scenegraph/app/SceneEventHandlersApp.java b/functional/SceneGraphTests/src/test/scenegraph/app/SceneEventHandlersApp.java
--- a/functional/SceneGraphTests/src/test/scenegraph/app/SceneEventHandlersApp.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/app/SceneEventHandlersApp.java
@@ -41,7 +41,7 @@
 import javafx.scene.input.*;
 import javafx.scene.layout.BorderPane;
 import javafx.scene.layout.FlowPane;
-import javafx.scene.layout.VBoxBuilder;
+import javafx.scene.layout.VBox;
 import test.javaclient.shared.InteroperabilityApp;
 import test.javaclient.shared.Utils;
 
@@ -116,7 +116,9 @@
 
         for(EventTypes t: EventTypes.values())
         {
-            Label lb = LabelBuilder.create().text(t.toString()).id(t.toString()).style(NOT_HANDLED_STYLE).build();
+            Label lb = new Label(t.toString());
+            lb.setId(t.toString());
+            lb.setStyle(NOT_HANDLED_STYLE);
             controlLabels.add(lb);
         }
 
@@ -128,7 +130,10 @@
         flow.getChildren().addAll(actionButton, dragField, dropField);
         root.setTop(eventCombo);
         root.setCenter(flow);
-        root.setLeft(VBoxBuilder.create().children(controlLabels).padding(new Insets(10, 10, 10, 10)).build());
+        VBox temp = new VBox();
+        temp.getChildren().addAll(controlLabels);
+        temp.setPadding(new Insets(10, 10, 10, 10));
+        root.setLeft(temp);
         scene = new Scene(root);
 
         scene.addEventHandler(MouseEvent.DRAG_DETECTED, new EventHandler<MouseEvent>() {
diff --git a/functional/SceneGraphTests/src/test/scenegraph/app/TimelineApp.java b/functional/SceneGraphTests/src/test/scenegraph/app/TimelineApp.java
--- a/functional/SceneGraphTests/src/test/scenegraph/app/TimelineApp.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/app/TimelineApp.java
@@ -31,7 +31,6 @@
 import javafx.event.EventHandler;
 import javafx.scene.Node;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.Label;
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.Pane;
@@ -143,11 +142,13 @@
                     final Timeline timeline = createTimelineAndPlayButton(field, "3");
                     timeline.setAutoReverse(false);
                     timeline.setCycleCount(Timeline.INDEFINITE);
-                    field.getChildren().add(ButtonBuilder.create().text("stop").onAction(new EventHandler<ActionEvent>() {
+                    Button temp1 = new Button("stop");
+                    temp1.setOnAction(new EventHandler<ActionEvent>() {
                         public void handle(ActionEvent t) {
                             timeline.stop();
                         }
-                    }).build());
+                    });
+                    field.getChildren().add(temp1);
 
                     addSlot("infinite-stop", field);
                 }
@@ -158,11 +159,13 @@
                     final Timeline timeline = createTimelineAndPlayButton(field, "4");
                     timeline.setAutoReverse(false);
                     timeline.setCycleCount(Timeline.INDEFINITE);
-                    field.getChildren().add(ButtonBuilder.create().text("pause").onAction(new EventHandler<ActionEvent>() {
+                    Button temp2 = new Button("pause");
+                    temp2.setOnAction(new EventHandler<ActionEvent>() {
                         public void handle(ActionEvent t) {
                             timeline.pause();
                         }
-                    }).build());
+                    });
+                    field.getChildren().add(temp2);
 
                     addSlot("infinite-pause", field);
                 }
diff --git a/functional/SceneGraphTests/src/test/scenegraph/binding/Factories.java b/functional/SceneGraphTests/src/test/scenegraph/binding/Factories.java
--- a/functional/SceneGraphTests/src/test/scenegraph/binding/Factories.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/binding/Factories.java
@@ -91,7 +91,7 @@
     ArcTo(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            MoveTo moveTo = MoveToBuilder.create().x(50).y(50).build();
+            MoveTo moveTo = new MoveTo(50, 50);
 
             ArcTo node = new ArcTo();
             node.setX(100.0f);
@@ -99,7 +99,7 @@
             node.setRadiusX(50.0f);
             node.setRadiusY(50.0f);
 
-            Path path = PathBuilder.create().elements(moveTo, node).build();
+            Path path = new Path(moveTo, node);
             addStroke(path);
             return new BindingApp.NodeAndBindee(path, node);
         }
@@ -137,7 +137,7 @@
     CubicCurveTo(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            MoveTo moveTo = MoveToBuilder.create().x(50).y(50).build();
+            MoveTo moveTo = new MoveTo(50, 50);
 
             CubicCurveTo node = new CubicCurveTo();
             node.setControlX1(80.0f);
@@ -146,7 +146,7 @@
             node.setControlX2(60.0f);
             node.setControlY2(-50.0f);
 
-            Path path = PathBuilder.create().elements(moveTo, node).build();
+            Path path = new Path(moveTo, node);
             addStroke(path);
             return new BindingApp.NodeAndBindee(path, node);
         }
@@ -166,9 +166,9 @@
     HLineTo(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            MoveTo moveTo = MoveToBuilder.create().x(50).y(50).build();
+            MoveTo moveTo = new MoveTo(50, 50);
             HLineTo node = new HLineTo(100);
-            Path path = PathBuilder.create().elements(moveTo, node).build();
+            Path path = new Path(moveTo, node);
             addStroke(path);
             return new BindingApp.NodeAndBindee(path, node);
         }
@@ -176,7 +176,7 @@
     Line(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            Line node = LineBuilder.create().startX(20).startY(20).endX(100).endY(50).build();
+            Line node = new Line(20, 20, 100, 50);
             addStroke(node);
             return new BindingApp.NodeAndBindee(node, node);
         }
@@ -184,11 +184,11 @@
     LineTo(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            MoveTo moveTo = MoveToBuilder.create().x(50).y(50).build();
+            MoveTo moveTo = new MoveTo(50, 50);
 
             LineTo node = new LineTo(100, 80);
 
-            Path path = PathBuilder.create().elements(moveTo, node).build();
+            Path path = new Path(moveTo, node);
             addStroke(path);
             return new BindingApp.NodeAndBindee(path, node);
         }
@@ -196,11 +196,11 @@
     MoveTo(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            MoveTo moveTo = MoveToBuilder.create().x(50).y(50).build();
+            MoveTo moveTo = new MoveTo(50, 50);
 
             LineTo node = new LineTo(100, 80);
 
-            Path path = PathBuilder.create().elements(moveTo, node).build();
+            Path path = new Path(moveTo, node);
             addStroke(path);
             return new BindingApp.NodeAndBindee(path, moveTo);
         }
@@ -208,12 +208,12 @@
     Path(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            MoveTo moveTo = MoveToBuilder.create().x(50).y(50).build();
+            MoveTo moveTo = new MoveTo(50, 50);
 
             LineTo node = new LineTo(100, 80);
             LineTo node2 = new LineTo(200, 180);
 
-            Path path = PathBuilder.create().elements(moveTo, node, node2).build();
+            Path path = new Path(moveTo, node, node2);
             addStroke(path);
             return new BindingApp.NodeAndBindee(path, path);
         }
@@ -264,16 +264,19 @@
     QuadCurveTo(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            MoveTo moveTo = MoveToBuilder.create().x(50).y(50).build();
-            QuadCurveTo node = QuadCurveToBuilder.create().controlX(125).controlY(0).build();
-            Path path = PathBuilder.create().elements(moveTo, node).build();
+            MoveTo moveTo = new MoveTo(50, 50);
+            QuadCurveTo node = new QuadCurveTo();
+            node.setControlX(125);
+            node.setControlY(0);
+            Path path = new Path(moveTo, node);
             addStroke(path);
             return new BindingApp.NodeAndBindee(path, path);        }
     }),
     SVGPath(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            SVGPath node = SVGPathBuilder.create().content("M40,60 C42,148 144,30 25,32").build();
+            SVGPath node = new SVGPath();
+            node.setContent("M40,60 C42,148 144,30 25,32");
             addStroke(node);
             return new BindingApp.NodeAndBindee(node, node);
         }
@@ -281,9 +284,9 @@
     VLineTo(shapes, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            MoveTo moveTo = MoveToBuilder.create().x(50).y(50).build();
+            MoveTo moveTo = new MoveTo(50, 50);
             VLineTo node = new VLineTo(100);
-            Path path = PathBuilder.create().elements(moveTo, node).build();
+            Path path = new Path(moveTo, node);
             addStroke(path);
             return new BindingApp.NodeAndBindee(path, node);
         }
@@ -320,7 +323,7 @@
             Blend b = new Blend();
             b.setOpacity(0.7);
             b.setMode(BlendMode.ADD);
-            b.setTopInput(ColorInputBuilder.create().paint(Color.BLUE).x(30).y(30).width(100).height(80).build());
+            b.setTopInput(new ColorInput(30, 30, 100, 80, Color.BLUE));
             rect.setEffect(b);
             Group group = new Group(rect0,rect);
                 return new NodeAndBindee(group, b);
@@ -332,8 +335,12 @@
             Group group = new Group();
             Bloom bloom = new Bloom();
             group.setEffect(bloom);
-            group.getChildren().add(RectangleBuilder.create().x(10).y(10).width(160).height(80).fill(Color.DARKBLUE).build());
-            group.getChildren().add(RectangleBuilder.create().x(50).y(50).width(50).height(50).fill(Color.YELLOW).build());
+            Rectangle r1 = new Rectangle (10, 10, 160, 80);
+            r1.setFill(Color.DARKBLUE);
+            Rectangle r2 = new Rectangle (50, 50, 50, 50);
+            r1.setFill(Color.YELLOW);
+            group.getChildren().add(r1);
+            group.getChildren().add(r2);
             return new NodeAndBindee(group, bloom);
         }
         })
@@ -365,10 +372,14 @@
 
         public NodeAndBindee create() {
             Group group = new Group();
-            DisplacementMap dm = DisplacementMapBuilder.create().mapData(Consts.MAP_WAVES).build();
+            DisplacementMap dm = new DisplacementMap(Consts.MAP_WAVES);
             group.setEffect(dm);
-            group.getChildren().add(RectangleBuilder.create().x(50).y(50).width(200).height(80).fill(Color.DARKBLUE).build());
-            group.getChildren().add(RectangleBuilder.create().x(0).y(0).width(250).height(200).fill(Color.TRANSPARENT).build());
+            Rectangle r1 = new Rectangle (50, 50, 200, 80);
+            r1.setFill(Color.DARKBLUE);
+            Rectangle r2 = new Rectangle (0, 0, 250, 200);
+            r1.setFill(Color.TRANSPARENT);
+            group.getChildren().add(r1);
+            group.getChildren().add(r2);
             return new NodeAndBindee(group, dm);
         }
         })
@@ -376,7 +387,12 @@
     ,Flood(effects, new EffectFactory() {
             @Override
             public Effect getEffect() {
-                return ColorInputBuilder.create().x(0).y(0).width(50).height(50).build();
+                ColorInput temp = new ColorInput();
+                temp.setX(0);
+                temp.setY(0);
+                temp.setWidth(50);
+                temp.setHeight(50);
+                return temp;
             }
         })
 
@@ -396,9 +412,7 @@
     ,Identity(effects, new EffectFactory() {
             @Override
             public Effect getEffect() {
-                return ImageInputBuilder.create().
-                        source(new Image(Factories.class.getResourceAsStream("/test/scenegraph/resources/car.png"))).
-                        build();
+                return new ImageInput(new Image(Factories.class.getResourceAsStream("/test/scenegraph/resources/car.png")));
             }
         })
 
@@ -578,7 +592,10 @@
     ScrollBar(controls, new DefaultFactory() {
 
         public NodeAndBindee create() {
-            ScrollBar node = ScrollBarBuilder.create().min(0).max(100).value(50).build();
+            ScrollBar node = new ScrollBar();
+            node.setMin(0);
+            node.setMax(100);
+            node.setValue(50);
             prepareControl(node);
             return new BindingApp.NodeAndBindee(node, node);
         }
@@ -739,8 +756,12 @@
 
         public NodeAndBindee create() {
                 Effect effect = getEffect();
-                Rectangle rect = RectangleBuilder.create().x(100).y(100).width(100).height(100).fill(Color.LIGHTGREEN).
-                        stroke(Color.DARKGREEN).arcHeight(20).arcWidth(30).effect(effect).build();
+                Rectangle rect = new Rectangle(100, 100, 100, 100);
+                rect.setFill(Color.LIGHTGREEN);
+                rect.setStroke(Color.DARKGREEN);
+                rect.setArcHeight(20);
+                rect.setArcWidth(30);
+                rect.setEffect(effect);
                 return new NodeAndBindee(rect, effect);
         }
 
diff --git a/functional/SceneGraphTests/src/test/scenegraph/fullscreen/FSTestApp.java b/functional/SceneGraphTests/src/test/scenegraph/fullscreen/FSTestApp.java
--- a/functional/SceneGraphTests/src/test/scenegraph/fullscreen/FSTestApp.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/fullscreen/FSTestApp.java
@@ -44,8 +44,7 @@
 import javafx.scene.layout.*;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Circle;
-import javafx.scene.shape.CircleBuilder;
-import javafx.scene.shape.LineBuilder;
+import javafx.scene.shape.Line;
 import javafx.scene.text.Text;
 import javafx.stage.Modality;
 import javafx.stage.Screen;
@@ -80,107 +79,83 @@
         primaryStage.setTitle("FSTestApp");
         primaryStage.setResizable(resizable);
 
-        GridPane buttonsPane = GridPaneBuilder.create()
-                .padding(new Insets(10))
-                .alignment(Pos.CENTER)
-                .columnConstraints(new ColumnConstraints(200), new ColumnConstraints(200))
-                .rowConstraints(new RowConstraints(30), new RowConstraints(30),
-                        new RowConstraints(30), new RowConstraints(30),
-                        new RowConstraints(30))
-                .build();
+        GridPane buttonsPane = new GridPane();
+        buttonsPane.setPadding(new Insets(10));
+        buttonsPane.setAlignment(Pos.CENTER);
+        buttonsPane.getColumnConstraints().add(new ColumnConstraints(200));
+        buttonsPane.getColumnConstraints().add(new ColumnConstraints(200));
+        buttonsPane.getRowConstraints().add(new RowConstraints(30));
+        buttonsPane.getRowConstraints().add(new RowConstraints(30));
+        buttonsPane.getRowConstraints().add(new RowConstraints(30));
+        buttonsPane.getRowConstraints().add(new RowConstraints(30));
+        buttonsPane.getRowConstraints().add(new RowConstraints(30));
 
-        final TextArea logTextArea = TextAreaBuilder.create()
-                .editable(false)
-                .build();
+        final TextArea logTextArea = new TextArea();
+        logTextArea.setEditable(false);
 
         //Timer for update logTextArea
-        Timeline updateLogTimeline = TimelineBuilder.create()
-                .keyFrames(new KeyFrame(Duration.seconds(0.1), new EventHandler<ActionEvent>() {
-
+        Timeline updateLogTimeline = new Timeline(new KeyFrame(Duration.seconds(0.1), new EventHandler<ActionEvent>() {
                     public void handle(ActionEvent t) {
                         logTextArea.insertText(logTextArea.getLength(), log.toString());
                         log.delete(0, log.length());
 
                     }
-                }, ( KeyValue[])null))  // cast null to suppress compiler warning
-                .cycleCount(-1)
-                .build();
+                }, ( KeyValue[])null));  // cast null to suppress compiler warning
+        updateLogTimeline.setCycleCount(-1);
 
         //<editor-fold defaultstate="collapsed" desc="Menu">
-        MenuBar menu = MenuBarBuilder.create()
-                .menus(
-                MenuBuilder.create()
-                    .text("_Menu1")
-                    .onShown(new EventHandler<Event>() {
-
+        Menu menu1 = new Menu("_Menu1");
+        menu1.setOnShown(new EventHandler<Event>() {
                         public void handle(Event t) {
                             log.append("Menu 1 Shown\n");
                         }
-                    })
-                    .onHidden(new EventHandler<Event>() {
-
+        });
+        menu1.setOnHidden(new EventHandler<Event>() {
                         public void handle(Event t) {
                             log.append("Menu 1 Hidden\n");
                         }
-                    })
-                    .mnemonicParsing(true)
-                    .items(
-                        MenuItemBuilder.create()
-                            .mnemonicParsing(true)
-                            .onAction(new EventHandler<ActionEvent>() {
-
+        });
+        menu1.setMnemonicParsing(true);
+        MenuItem mi11 = new MenuItem("Menu _Item 1");
+        mi11.setAccelerator(KeyCombination.keyCombination("ctrl+m"));
+        mi11.setMnemonicParsing(true);
+        mi11.setOnAction(new EventHandler<ActionEvent>() {
                                 public void handle(ActionEvent t) {
                                     log.append("Menu Item 1 Action\n");
                                 }
-                            })
-                            .accelerator(KeyCombination.keyCombination("ctrl+m"))
-                            .text("Menu _Item 1")
-                            .build(),
-                        MenuItemBuilder.create()
-                            .mnemonicParsing(true)
-                            .text("Menu I_tem 2")
-                            .build())
-                    .build(),
-                MenuBuilder.create()
-                    .mnemonicParsing(true)
-                    .text("M_enu2")
-                    .onShown(new EventHandler<Event>() {
+        });
+        MenuItem mi12 = new MenuItem("Menu I_tem 2");
+        mi12.setMnemonicParsing(true);
+        menu1.getItems().addAll(mi11, mi12);
 
+        Menu menu2 = new Menu("M_enu2");
+        menu2.setMnemonicParsing(true);
+        menu2.setOnShown(new EventHandler<Event>() {
                         public void handle(Event t) {
                             log.append("Menu 2 Shown\n");
                         }
-                    })
-                    .onHidden(new EventHandler<Event>() {
-
+        });
+        menu2.setOnHidden(new EventHandler<Event>() {
                         public void handle(Event t) {
                             log.append("Menu 2 Hidden\n");
                         }
-                    })
-                    .items(
-                        MenuItemBuilder.create()
-                            .mnemonicParsing(true)
-                            .text("Menu _Item 1")
-                            .build(),
-                        MenuItemBuilder.create()
-                            .mnemonicParsing(true)
-                            .text("Menu I_tem 2")
-                            .build(),
-                        MenuItemBuilder.create()
-                            .mnemonicParsing(true)
-                            .text("Menu Ite_m 3")
-                            .build())
-                    .build())
-                .useSystemMenuBar(true)
-                .build();
+        });
+        MenuItem mi21 = new MenuItem("Menu _Item 1");
+        mi21.setMnemonicParsing(true);
+        MenuItem mi22 = new MenuItem("Menu I_tem 2");
+        mi22.setMnemonicParsing(true);
+        MenuItem mi23 = new MenuItem("Menu Ite_m 3");
+        mi23.setMnemonicParsing(true);
+        menu1.getItems().addAll(mi21, mi22, mi23);
+
+        MenuBar menu = new MenuBar(menu1, menu2);
+        menu.setUseSystemMenuBar(true);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Fullscreen indicator">
-        final Circle fullscreenIndicator =
-                CircleBuilder.create()
-                .radius(6)
-                .fill(Color.RED)
-                .effect(new InnerShadow())
-                .build();
+        final Circle fullscreenIndicator = new Circle(6);
+        fullscreenIndicator.setFill(Color.RED);
+        fullscreenIndicator.setEffect(new InnerShadow());
 
         primaryStage.fullScreenProperty().addListener(new ChangeListener<Boolean>() {
 
@@ -192,97 +167,75 @@
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Fullscreen false Button">
-        Button setFSFalseButton =  ButtonBuilder.create()
-                .text("Set fullscreen false")
-                .alignment(Pos.CENTER)
-                .prefWidth(180)
-                .onMouseClicked(new EventHandler<MouseEvent>() {
-
+        Button setFSFalseButton = new Button("Set fullscreen false");
+        setFSFalseButton.setAlignment(Pos.CENTER);
+        setFSFalseButton.setPrefWidth(180);
+        setFSFalseButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     @Override
                     public void handle(MouseEvent arg0) {
                         primaryStage.setFullScreen(false);
                     }
-                })
-                .build();
-
+        });
         buttonsPane.add(setFSFalseButton, 0, 0);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Fullscreen true Button">
-        Button setFSTrueButton =  ButtonBuilder.create()
-                .text("Set fullscreen true")
-                .alignment(Pos.CENTER)
-                .prefWidth(180)
-                .onMouseClicked(new EventHandler<MouseEvent>() {
-
+        Button setFSTrueButton = new Button("Set fullscreen true");
+        setFSTrueButton.setAlignment(Pos.CENTER);
+        setFSTrueButton.setPrefWidth(180);
+        setFSTrueButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     @Override
                     public void handle(MouseEvent arg0) {
                         primaryStage.setFullScreen(true);
                     }
-                })
-                .build();
-
+        });
         buttonsPane.add(setFSTrueButton, 1, 0);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Center Button">
-        Button centerButton =  ButtonBuilder.create()
-                .text("Center")
-                .alignment(Pos.CENTER)
-                .prefWidth(180)
-                .onMouseClicked(new EventHandler<MouseEvent>() {
-
+        Button centerButton = new Button("Center");
+        centerButton.setAlignment(Pos.CENTER);
+        centerButton.setPrefWidth(180);
+        centerButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     @Override
                     public void handle(MouseEvent arg0) {
                         primaryStage.centerOnScreen();
                     }
-                })
-                .build();
-
+        });
         buttonsPane.add(centerButton, 0, 1);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Close Button">
-        Button closeButton =  ButtonBuilder.create()
-                .text("Close")
-                .alignment(Pos.CENTER)
-                .prefWidth(180)
-                .onMouseClicked(new EventHandler<MouseEvent>() {
-
+        Button closeButton = new Button("Close");
+        closeButton.setAlignment(Pos.CENTER);
+        closeButton.setPrefWidth(180);
+        closeButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     @Override
                     public void handle(MouseEvent arg0) {
                         primaryStage.close();
                     }
-                })
-                .build();
-
+        });
         buttonsPane.add(closeButton, 1, 1);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Size to scene Button">
-        Button sizeToSceneButton =  ButtonBuilder.create()
-                .text("Size to scene")
-                .alignment(Pos.CENTER)
-                .prefWidth(180)
-                .onMouseClicked(new EventHandler<MouseEvent>() {
-
+        Button sizeToSceneButton = new Button("Size to scene");
+        sizeToSceneButton.setAlignment(Pos.CENTER);
+        sizeToSceneButton.setPrefWidth(180);
+        sizeToSceneButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     @Override
                     public void handle(MouseEvent arg0) {
                         primaryStage.sizeToScene();
                     }
-                })
-                .build();
-
+        });
         buttonsPane.add(sizeToSceneButton, 0, 2);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Show modality window Button">
-        Button showModalityWindowButton =  ButtonBuilder.create()
-                .text("Show modality window")
-                .alignment(Pos.CENTER)
-                .prefWidth(180)
-                .onMouseClicked(new EventHandler<MouseEvent>() {
-
+        Button showModalityWindowButton = new Button("Show modality window");
+        showModalityWindowButton.setAlignment(Pos.CENTER);
+        showModalityWindowButton.setPrefWidth(180);
+        showModalityWindowButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     @Override
                     public void handle(MouseEvent arg0) {
                         Stage modalityStage = new Stage();
@@ -291,69 +244,45 @@
                         modalityStage.setResizable(resizable);
                         modalityStage.show();
                     }
-                })
-                .build();
-
+        });
         buttonsPane.add(showModalityWindowButton, 1, 2);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Resizable Button">
-        Button resizableButton = ButtonBuilder.create()
-                .text(resizable ? "Not resizable" : "Resizable")
-                .alignment(Pos.CENTER)
-                .prefWidth(180)
-                .onMouseClicked(new EventHandler<MouseEvent>() {
-
+        Button resizableButton = new Button();
+        resizableButton.setText(resizable ? "Not resizable" : "Resizable");
+        resizableButton.setAlignment(Pos.CENTER);
+        resizableButton.setPrefWidth(180);
+        resizableButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     @Override
                     public void handle(MouseEvent arg0) {
                         runJVMProcess(FSTestApp.this.getClass().getName(), String.valueOf(!resizable));
                         primaryStage.close();
                     }
-                }).build();
-
+        });
         buttonsPane.add(resizableButton, 0, 3);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="Opacity Slider">
-        Slider opacitySlider =  SliderBuilder.create()
-                .maxWidth(180)
-                .value(1)
-                .min(0)
-                .max(1)
-                .build();
+        Slider opacitySlider = new Slider(0, 1, 1);
+        opacitySlider.setMaxWidth(180);
         primaryStage.opacityProperty().bindBidirectional(opacitySlider.valueProperty());
-
-
         buttonsPane.add(opacitySlider, 1, 3);
         //</editor-fold>
 
         //<editor-fold defaultstate="collapsed" desc="System menu ToggleButton">
-        ToggleButton useSystemMenuToggleButton =  ToggleButtonBuilder.create()
-                .text("Use system menu")
-                .alignment(Pos.CENTER)
-                .prefWidth(180)
-                .build();
-
+        ToggleButton useSystemMenuToggleButton = new ToggleButton("Use system menu");
+        useSystemMenuToggleButton.setAlignment(Pos.CENTER);
+        useSystemMenuToggleButton.setPrefWidth(180);
         menu.useSystemMenuBarProperty().bindBidirectional(useSystemMenuToggleButton.selectedProperty());
 
         buttonsPane.add(useSystemMenuToggleButton, 0, 4);
         //</editor-fold>
 
-        VBox root = VBoxBuilder.create()
-                .children(
-                    menu,
-                    HBoxBuilder.create()
-                        .alignment(Pos.CENTER)
-                        .padding(new Insets(5))
-                        .children(
-                            fullscreenIndicator,
-                            new Text("Fullscreen"))
-                        .build(),
-                    buttonsPane,
-                    logTextArea)
-                .build();
-
-
+        HBox temp = new HBox(fullscreenIndicator, new Text("Fullscreen"));
+        temp.setAlignment(Pos.CENTER);
+        temp.setPadding(new Insets(5));
+        VBox root = new VBox(menu, temp, buttonsPane, logTextArea);
         primaryStage.setScene(new Scene(root, 400, 400));
         primaryStage.setMinHeight(400);
         primaryStage.setMinWidth(400);
@@ -388,29 +317,16 @@
         double width = getMaxScreenWidth();
 
 
-        Pane root  = PaneBuilder.create()
-                .minHeight(height)
-                .minWidth(width)
-                .build();
+        Pane root  = new Pane();
+        root.setMinHeight(height);
+        root.setMinWidth(width);
 
         for (int x = 0; x < width; x+=10) {
-            root.getChildren().add(
-                    LineBuilder.create()
-                        .startX(x)
-                        .endX(x)
-                        .startY(0)
-                        .endY(height)
-                        .build());
+            root.getChildren().add(new Line(x, x, 0, height));
         }
 
         for (int y = 0; y < height; y+=10) {
-            root.getChildren().add(
-                    LineBuilder.create()
-                        .startX(0)
-                        .endX(width)
-                        .startY(y)
-                        .endY(y)
-                        .build());
+            root.getChildren().add(new Line(0, width, y, y));
         }
 
         return new Scene(root, 200, 200);
diff --git a/functional/SceneGraphTests/src/test/scenegraph/lcd/LCDTextTestApp.java b/functional/SceneGraphTests/src/test/scenegraph/lcd/LCDTextTestApp.java
--- a/functional/SceneGraphTests/src/test/scenegraph/lcd/LCDTextTestApp.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/lcd/LCDTextTestApp.java
@@ -42,7 +42,6 @@
 import javafx.scene.text.FontSmoothingType;
 import javafx.scene.text.Text;
 import javafx.scene.text.TextAlignment;
-import javafx.scene.text.TextBuilder;
 import test.javaclient.shared.InteroperabilityApp;
 import test.javaclient.shared.Utils;
 
@@ -100,12 +99,10 @@
             public void changed(ObservableValue<? extends TestCollections> ov, TestCollections t, TestCollections newValue) {
                 actionChoice.setItems(FXCollections.observableArrayList(newValue.getActions()));
                 actionChoice.getSelectionModel().selectFirst();
-                lcdText = TextBuilder.create().text("Test text")
-                        .textAlignment(TextAlignment.CENTER)
-                        .style("-fx-font-size: 16;-fx-font-smoothing-type: lcd;")
-                        .fontSmoothingType(FontSmoothingType.LCD)
-                        .build();
-
+                lcdText = new Text("Test text");
+                lcdText.setTextAlignment(TextAlignment.CENTER);
+                lcdText.setStyle("-fx-font-size: 16;-fx-font-smoothing-type: lcd;");
+                lcdText.setFontSmoothingType(FontSmoothingType.LCD);
                 leftPane.getChildren().clear();
                 leftPane.getChildren().add(lcdText);
             }
diff --git a/functional/SceneGraphTests/src/test/scenegraph/lcd/LcdAPITestApp.java b/functional/SceneGraphTests/src/test/scenegraph/lcd/LcdAPITestApp.java
--- a/functional/SceneGraphTests/src/test/scenegraph/lcd/LcdAPITestApp.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/lcd/LcdAPITestApp.java
@@ -26,9 +26,8 @@
 import javafx.geometry.Insets;
 import javafx.scene.Scene;
 import javafx.scene.layout.VBox;
-import javafx.scene.layout.VBoxBuilder;
 import javafx.scene.text.FontSmoothingType;
-import javafx.scene.text.TextBuilder;
+import javafx.scene.text.Text;
 import test.javaclient.shared.InteroperabilityApp;
 import test.javaclient.shared.Utils;
 
@@ -50,37 +49,26 @@
 
     @Override
     protected Scene getScene() {
-        VBox root = VBoxBuilder.create()
-                .padding(new Insets(10))
-                .spacing(10)
-                .children(
-                    TextBuilder.create()
-                        .id("GrayGray")
-                        .text("Text")
-                        .fontSmoothingType(FontSmoothingType.GRAY)
-                        .style("-fx-font-size: 16;-fx-font-smoothing-type: gray; ")
-                        .build(),
-                    TextBuilder.create()
-                        .id("LCDGray")
-                        .text("Text")
-                        .fontSmoothingType(FontSmoothingType.LCD)
-                        .style("-fx-font-size: 16;-fx-font-smoothing-type: gray; ")
-                        .build(),
-                    TextBuilder.create()
-                        .id("GrayLCD")
-                        .text("Text")
-                        .fontSmoothingType(FontSmoothingType.GRAY)
-                        .style("-fx-font-size: 16;-fx-font-smoothing-type: lcd; ")
-                        .build(),
-                    TextBuilder.create()
-                        .id("LCDLCD")
-                        .text("Text")
-                        .fontSmoothingType(FontSmoothingType.LCD)
-                        .style("-fx-font-size: 16;-fx-font-smoothing-type: lcd;")
-                        .build()
-                    )
-                .build();
-
+        VBox root = new VBox();
+        root.setPadding(new Insets(10));
+        root.setSpacing(10);
+        Text t1 = new Text("Text");
+        t1.setId("GrayGray");
+        t1.setFontSmoothingType(FontSmoothingType.GRAY);
+        t1.setStyle("-fx-font-size: 16;-fx-font-smoothing-type: gray; ");
+        Text t2 = new Text("Text");
+        t2.setId("LCDGray");
+        t2.setFontSmoothingType(FontSmoothingType.LCD);
+        t2.setStyle("-fx-font-size: 16;-fx-font-smoothing-type: gray; ");
+        Text t3 = new Text("Text");
+        t3.setId("GrayLCD");
+        t3.setFontSmoothingType(FontSmoothingType.GRAY);
+        t3.setStyle("-fx-font-size: 16;-fx-font-smoothing-type: lcd; ");
+        Text t4 = new Text("Text");
+        t4.setId("LCDLCD");
+        t4.setFontSmoothingType(FontSmoothingType.LCD);
+        t4.setStyle("-fx-font-size: 16;-fx-font-smoothing-type: lcd;");
+        root.getChildren().addAll(t1, t2, t3, t4);
         return new Scene(root, 200, 200);
     }
 }
diff --git a/functional/SceneGraphTests/src/test/scenegraph/lcd/TestCollections.java b/functional/SceneGraphTests/src/test/scenegraph/lcd/TestCollections.java
--- a/functional/SceneGraphTests/src/test/scenegraph/lcd/TestCollections.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/lcd/TestCollections.java
@@ -68,16 +68,7 @@
     Lighting(EffectTestAction.generate(new Lighting(), true)),
     MotionBlur(EffectTestAction.generate(new MotionBlur(), true)),
     PerspectiveTransform(EffectTestAction.generate(
-            PerspectiveTransformBuilder.create()
-            .ulx(10.0)
-            .uly(10.0)
-            .urx(100.0)
-            .ury(40.0)
-            .lrx(100.0)
-            .lry(60.0)
-            .llx(10.0)
-            .lly(90.0)
-            .build(), false)),
+            new PerspectiveTransform(10.0, 10.0, 100.0, 40.0, 100.0, 60.0, 10.0, 90.0), false)),
     Reflection(EffectTestAction.generate(new Reflection(), true)),
     SepiaTone(EffectTestAction.generate(new SepiaTone(), true)),
     Shadow(EffectTestAction.generate(new Shadow(), true))
diff --git a/functional/SceneGraphTests/src/test/scenegraph/lcd/animation/AnimationLCDTextTestApp.java b/functional/SceneGraphTests/src/test/scenegraph/lcd/animation/AnimationLCDTextTestApp.java
--- a/functional/SceneGraphTests/src/test/scenegraph/lcd/animation/AnimationLCDTextTestApp.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/lcd/animation/AnimationLCDTextTestApp.java
@@ -7,25 +7,20 @@
 import javafx.animation.Interpolator;
 import javafx.animation.KeyFrame;
 import javafx.animation.KeyValue;
-import javafx.animation.TimelineBuilder;
+import javafx.animation.Timeline;
 import javafx.application.Application;
 import javafx.collections.FXCollections;
 import javafx.event.EventHandler;
 import javafx.scene.Scene;
 import javafx.scene.control.ChoiceBox;
-import javafx.scene.control.ChoiceBoxBuilder;
 import javafx.scene.control.TextArea;
-import javafx.scene.control.TextAreaBuilder;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.Pane;
-import javafx.scene.layout.PaneBuilder;
-import javafx.scene.layout.VBoxBuilder;
+import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Circle;
-import javafx.scene.shape.CircleBuilder;
 import javafx.scene.text.FontSmoothingType;
 import javafx.scene.text.Text;
-import javafx.scene.text.TextBuilder;
 import javafx.stage.Stage;
 import javafx.util.Duration;
 import test.javaclient.shared.Utils;
@@ -48,11 +43,9 @@
     public void start(Stage primaryStage) {
 
 
-        final TextArea testText = TextAreaBuilder.create()
-                .text("Test")
-                .prefHeight(50)
-                .prefWidth(500)
-                .build();
+        final TextArea testText = new TextArea("Test");
+        testText.setPrefHeight(50);
+        testText.setPrefWidth(500);
 
         final ChoiceBox<Interpolator> interpolatorChoiceBox = new ChoiceBox<Interpolator>();
         interpolatorChoiceBox.getItems().addAll(FXCollections.observableArrayList(
@@ -68,56 +61,34 @@
         interpolatorChoiceBox.getSelectionModel().selectFirst();
 
 
-        final Text lcdText = TextBuilder.create()
-                .x(100)
-                .y(100)
-                .fontSmoothingType(FontSmoothingType.LCD)
-                .build();
-
+        final Text lcdText = new Text();
+        lcdText.setX(100);
+        lcdText.setY(100);
+        lcdText.setFontSmoothingType(FontSmoothingType.LCD);
         lcdText.textProperty().bind(testText.textProperty());
 
-        final Circle point = CircleBuilder.create()
-                .centerX(100)
-                .centerY(100)
-                .radius(2)
-                .fill(Color.RED)
-                .build();
+        final Circle point = new Circle(100, 100, 2, Color.RED);
 
-        Pane root = VBoxBuilder.create()
-                .children(
-                    PaneBuilder.create()
-                    .minWidth(500)
-                    .minHeight(500)
-                    .children(
-                        lcdText,
-                        point)
-                    .onMouseClicked(new EventHandler<MouseEvent>() {
-
+        Pane temp = new Pane(lcdText, point);
+        temp.setMinWidth(500);
+        temp.setMinHeight(500);
+        temp.setOnMouseClicked(new EventHandler<MouseEvent>() {
                         @Override
                         public void handle(MouseEvent event) {
                             point.setCenterX(event.getX());
                             point.setCenterY(event.getY());
 
-                            TimelineBuilder.create()
-                                .keyFrames(
+                new Timeline(
                                     new KeyFrame(Duration.seconds(5),
                                         new KeyValue(lcdText.xProperty(), event.getX(),
                                             interpolatorChoiceBox.getSelectionModel().getSelectedItem())),
                                     new KeyFrame(Duration.seconds(5),
                                         new KeyValue(lcdText.yProperty(), event.getY(),
                                             interpolatorChoiceBox.getSelectionModel().getSelectedItem()))
-                                    )
-                                .build()
-                                .play();
+                ).play();
                         }
-                    })
-                    .build(),
-                    testText,
-                    interpolatorChoiceBox)
-                .build();
-
-
-
+        });
+        Pane root = new VBox(temp, testText, interpolatorChoiceBox);
         Scene scene = new Scene(root, 500, 575);
 
         primaryStage.setTitle("Test Animnation LCD Text");
diff --git a/functional/SceneGraphTests/src/test/scenegraph/lcd/controls/Factories.java b/functional/SceneGraphTests/src/test/scenegraph/lcd/controls/Factories.java
--- a/functional/SceneGraphTests/src/test/scenegraph/lcd/controls/Factories.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/lcd/controls/Factories.java
@@ -54,11 +54,10 @@
 
         @Override
         public Parent createControl() {
-            return TextFieldBuilder.create()
-                    .text("Test")
-                    .maxHeight(25)
-                    .maxWidth(50)
-                    .build();
+            TextField temp = new TextField("Test");
+            temp.setMaxHeight(25);
+            temp.setMaxWidth(50);
+            return temp;
         }
     }),
     Radio(new DefaultFactory() {
@@ -91,36 +90,27 @@
 
         @Override
         public Parent createControl() {
-            return TitledPaneBuilder.create()
-                    .text("Test")
-                    .maxWidth(200)
-                    .maxHeight(200)
-                    .build();
+            TitledPane temp = new TitledPane();
+            temp.setText("Test");
+            temp.setMaxWidth(200);
+            temp.setMaxHeight(200);
+            return temp;
         }
     }),
     ToolBar(new DefaultFactory() {
 
         @Override
         public Parent createControl() {
-            return new ToolBar(ButtonBuilder.create().text("Test").build());
+            return new ToolBar(new Button("Test"));
         }
     }),
     Menu(new DefaultFactory() {
 
         @Override
         public Parent createControl() {
-
-            return MenuBarBuilder.create()
-                    .menus(
-                        MenuBuilder.create()
-                        .text("Text1")
-                        .items(
-                            MenuItemBuilder
-                            .create()
-                            .text("Text2")
-                            .build())
-                        .build())
-                    .build();
+            Menu m = new Menu("Text1");
+            m.getItems().addAll(new MenuItem("Text2"));
+            return new MenuBar(m);
         }
     }), ListView(new DefaultFactory() {
 
@@ -159,31 +149,25 @@
 
         @Override
         public Parent createControl() {
-            TitledPane expandedPane = TitledPaneBuilder.create()
-                    .text("Test1")
-                    .content(new Button("Test3"))
-                    .build();
-            return AccordionBuilder.create()
-                    .maxHeight(200)
-                    .maxWidth(200)
-                    .panes(expandedPane,
-                    TitledPaneBuilder.create()
-                            .text("Test2")
-                            .build())
-                    .expandedPane(expandedPane)
-                    .build();
+            TitledPane expandedPane = new TitledPane("Test1", new Button("Test3"));
+            TitledPane otherPane = new TitledPane();
+            otherPane.setText("Test2");
+            Accordion temp = new Accordion(expandedPane, otherPane);
+            temp.setMaxHeight(200);
+            temp.setMaxWidth(200);
+            temp.setExpandedPane(expandedPane);
+            return temp;
         }
     }),
     Slider(new DefaultFactory() {
 
         @Override
         public Parent createControl() {
-            Parent value = SliderBuilder.create()
-                    .showTickLabels(true)
-                    .showTickMarks(true)
-                    .maxWidth(150)
-                    .id("TestSlider")
-                    .build();
+            Parent value = new Slider();
+            ((Slider)value).setShowTickLabels(true);
+            ((Slider)value).setShowTickMarks(true);
+            ((Slider)value).setMaxWidth(150);
+            value.setId("TestSlider");
             return value;
         }
     }),
@@ -191,11 +175,10 @@
 
         @Override
         public Parent createControl() {
-            return ProgressIndicatorBuilder.create()
-                    .maxHeight(50)
-                    .maxWidth(50)
-                    .progress(0.02)
-                    .build();
+            ProgressIndicator temp = new ProgressIndicator(0.02);
+            temp.setMaxHeight(50);
+            temp.setMaxWidth(50);
+            return temp;
         }
     })
     ;
diff --git a/functional/SceneGraphTests/src/test/scenegraph/lcd/transparency/Factories.java b/functional/SceneGraphTests/src/test/scenegraph/lcd/transparency/Factories.java
--- a/functional/SceneGraphTests/src/test/scenegraph/lcd/transparency/Factories.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/lcd/transparency/Factories.java
@@ -26,11 +26,10 @@
 
 import javafx.scene.Node;
 import javafx.scene.layout.StackPane;
-import javafx.scene.layout.StackPaneBuilder;
 import javafx.scene.paint.Color;
-import javafx.scene.shape.RectangleBuilder;
+import javafx.scene.shape.Rectangle;
 import javafx.scene.text.FontSmoothingType;
-import javafx.scene.text.TextBuilder;
+import javafx.scene.text.Text;
 
 /**
  *
@@ -43,18 +42,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -66,18 +59,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -89,18 +76,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -112,18 +93,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0.000001d)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.000001d);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -135,18 +110,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0.9999999d)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.9999999d);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -158,18 +127,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -181,18 +144,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -204,18 +161,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0.000001d)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.000001d);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -227,18 +178,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0.9999999d)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.9999999d);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -250,19 +195,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build(),
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build()
-                    );
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(r, t);
             return value;
         }
 
@@ -274,18 +212,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    RectangleBuilder.create()
-                        .opacity(0.000001d)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build(),
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.000001d);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(r, t);
             return value;
         }
 
@@ -297,18 +229,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    RectangleBuilder.create()
-                        .opacity(0.9999999d)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build(),
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.9999999d);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(r, t);
             return value;
         }
 
@@ -320,18 +246,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    RectangleBuilder.create()
-                        .opacity(0)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build(),
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(r, t);
             return value;
         }
 
@@ -343,18 +263,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build(),
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(r, t);
             return value;
         }
 
@@ -366,18 +280,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    RectangleBuilder.create()
-                        .opacity(0.000001d)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build(),
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.000001d);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(r, t);
             return value;
         }
 
@@ -389,18 +297,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    RectangleBuilder.create()
-                        .opacity(0.9999999d)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build(),
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.9999999d);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(r, t);
             return value;
         }
 
@@ -412,18 +314,12 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build(),
-                    RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            value.getChildren().addAll(t, r);
             return value;
         }
 
@@ -434,13 +330,11 @@
     TranslucentPane(new EmptyActionFactory() {
 
         public Node createNode(boolean lcd) {
-            return StackPaneBuilder.create()
-                    .opacity(0.5)
-                    .children(TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build())
-                    .build();
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            StackPane temp = new StackPane(t);
+            temp.setOpacity(0.5);
+            return temp;
         }
 
         public boolean isLCDWork() {
@@ -451,12 +345,9 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -466,12 +357,10 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(r);
 
         }
     }),
@@ -479,12 +368,9 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -494,24 +380,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(RectangleBuilder.create()
-                        .opacity(0.000001d)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.000001d);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(r);
         }
     }),
     AddTranslucent09Pixel(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -521,24 +402,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(RectangleBuilder.create()
-                        .opacity(0.9999999d)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.9999999d);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(r);
         }
     }),
     AddTransparentRectangle(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -548,24 +424,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(RectangleBuilder.create()
-                        .opacity(0)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(r);
         }
     }),
     AddTranslucentRectangle(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -575,24 +446,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(r);
         }
     }),
     AddTranslucent01Rectangle(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -602,24 +468,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(RectangleBuilder.create()
-                        .opacity(0.000001d)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.000001d);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(r);
         }
     }),
     AddTranslucent09Rectangle(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -631,12 +492,10 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(RectangleBuilder.create()
-                        .opacity(0.9999999d)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.9999999d);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(r);
             value = false;
         }
     }),
@@ -644,12 +503,9 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -659,12 +515,10 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(0, RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(0, r);
 
         }
     }),
@@ -672,12 +526,9 @@
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -687,24 +538,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(0, RectangleBuilder.create()
-                        .opacity(0.000001d)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.000001d);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(0, r);
         }
     }),
     AddTranslucent09PixelBeforeText(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -714,24 +560,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(0, RectangleBuilder.create()
-                        .opacity(0.9999999d)
-                        .fill(Color.BLACK)
-                        .height(1)
-                        .width(1)
-                        .build());
+            Rectangle r = new Rectangle(1, 1);
+            r.setOpacity(0.9999999d);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(0, r);
         }
     }),
     AddTransparentRectangleBeforeText(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -741,24 +582,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(0, RectangleBuilder.create()
-                        .opacity(0)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(0, r);
         }
     }),
     AddTranslucentRectangleBeforeText(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -768,24 +604,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(0, RectangleBuilder.create()
-                        .opacity(0.5)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.5);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(0, r);
         }
     }),
     AddTranslucent01RectangleBeforeText(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -795,24 +626,19 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(0, RectangleBuilder.create()
-                        .opacity(0.000001d)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.000001d);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(0, r);
         }
     }),
     AddTranslucent09RectangleBeforeText(new Factory() {
 
         public Node createNode(boolean lcd) {
             StackPane value = new StackPane();
-
-            value.getChildren().addAll(
-                    TextBuilder.create()
-                        .text("Test")
-                        .fontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY)
-                        .build());
+            Text t = new Text("Test");
+            t.setFontSmoothingType(lcd?FontSmoothingType.LCD:FontSmoothingType.GRAY);
+            value.getChildren().addAll(t);
             return value;
         }
 
@@ -824,12 +650,10 @@
 
         public void action(Node node) {
             StackPane pane = (StackPane) node;
-            pane.getChildren().add(0, RectangleBuilder.create()
-                        .opacity(0.9999999d)
-                        .fill(Color.BLACK)
-                        .height(100)
-                        .width(100)
-                        .build());
+            Rectangle r = new Rectangle(100, 100);
+            r.setOpacity(0.9999999d);
+            r.setFill(Color.BLACK);
+            pane.getChildren().add(r);
             value = false;
         }
     });
diff --git a/functional/SceneGraphTests/src/test/scenegraph/lcd/transparency/TransparencyLCDTextTestApp.java b/functional/SceneGraphTests/src/test/scenegraph/lcd/transparency/TransparencyLCDTextTestApp.java
--- a/functional/SceneGraphTests/src/test/scenegraph/lcd/transparency/TransparencyLCDTextTestApp.java
+++ b/functional/SceneGraphTests/src/test/scenegraph/lcd/transparency/TransparencyLCDTextTestApp.java
@@ -32,16 +32,14 @@
 import javafx.scene.Parent;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonBuilder;
 import javafx.scene.control.ChoiceBox;
 import javafx.scene.input.MouseEvent;
-import javafx.scene.layout.HBoxBuilder;
+import javafx.scene.layout.HBox;
 import javafx.scene.layout.Pane;
-import javafx.scene.layout.StackPaneBuilder;
-import javafx.scene.layout.VBoxBuilder;
+import javafx.scene.layout.StackPane;
+import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Circle;
-import javafx.scene.shape.CircleBuilder;
 import javafx.scene.text.Text;
 import test.javaclient.shared.InteroperabilityApp;
 import test.javaclient.shared.Utils;
@@ -89,22 +87,15 @@
             }
         });
 
-        applyIndicator = CircleBuilder.create()
-                .id(APPLY_INDICATOR_ID)
-                .radius(5)
-                .fill(Color.RED)
-                .build();
+        applyIndicator = new Circle(5, Color.RED);
+        applyIndicator.setId(APPLY_INDICATOR_ID);
 
-        actionIndicator = CircleBuilder.create()
-                .id(ACTION_INDICATOR_ID)
-                .radius(5)
-                .fill(Color.RED)
-                .build();
+        actionIndicator = new Circle(5, Color.RED);
+        actionIndicator.setId(ACTION_INDICATOR_ID);
 
-        Button applyButton = ButtonBuilder.create()
-                .id(APPLY_BUTTON_ID)
-                .text("Apply")
-                .onMouseClicked(new EventHandler<MouseEvent>() {
+        Button applyButton = new Button("Apply");
+        applyButton.setId(APPLY_BUTTON_ID);
+        applyButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     public void handle(MouseEvent t) {
                         if(testingFactory == null){
                             factoryChoicer.getSelectionModel().selectNext();
@@ -113,13 +104,11 @@
                         }
                         applyIndicator.setFill(Color.GREEN);
                     }
-                })
-                .build();
+        });
 
-        Button actionButton = ButtonBuilder.create()
-                .id(ACTION_BUTTON_ID)
-                .text("Action")
-                .onMouseClicked(new EventHandler<MouseEvent>() {
+        Button actionButton = new Button("Action");
+        actionButton.setId(ACTION_BUTTON_ID);
+        actionButton.setOnMouseClicked(new EventHandler<MouseEvent>() {
                     public void handle(MouseEvent t) {
                         Factory currentFactory = TransparencyLCDTextTestApp.this.
                                 factoryChoicer.getSelectionModel().getSelectedItem();
@@ -128,46 +117,32 @@
 
                         actionIndicator.setFill(Color.GREEN);
                     }
-                })
-                .build();
+        });
 
         //Create panes for testing;
-
-
-        rightPane = StackPaneBuilder.create()
-                .id(RIGHT_PANE_ID)
-                .alignment(Pos.CENTER)
-                .minHeight(450)
-                .minWidth(300)
-                .build();
+        rightPane = new StackPane();
+        rightPane.setId(RIGHT_PANE_ID);
+        ((StackPane)rightPane).setAlignment(Pos.CENTER);
+        rightPane.setMinHeight(450);
+        rightPane.setMinWidth(300);
 
         //Create root pane.
-        return VBoxBuilder.create()
-                .id("root")
-                .children(
-                    HBoxBuilder.create()
-                        .padding(new Insets(10))
-                        .spacing(10)
-                        .id("toolsPane")
-                        .alignment(Pos.CENTER)
-                        .children(factoryChoicer, actionButton, applyButton)
-                        .build(),
-                    HBoxBuilder.create()
-                        .padding(new Insets(10))
-                        .spacing(10)
-                        .alignment(Pos.CENTER)
-                        .children(
-                            new Text("Apply"),
-                            applyIndicator,
-                            new Text("Action"),
-                            actionIndicator)
-                        .build(),
-                    HBoxBuilder.create()
-                        .id("testPane")
-                        .alignment(Pos.CENTER)
-                        .children(rightPane)
-                        .build())
-                .build();
+        VBox root = new VBox();
+        root.setId("root");
+        HBox tools = new HBox();
+        tools.setId("toolsPane");
+        tools.setPadding(new Insets(10));
+        tools.setSpacing(10);
+        tools.setAlignment(Pos.CENTER);
+        tools.getChildren().addAll(factoryChoicer, actionButton, applyButton);
+        HBox secondone = new HBox(new Text("Apply"), applyIndicator, new Text("Action"), actionIndicator);
+        secondone.setPadding(new Insets(10));
+        secondone.setSpacing(10);
+        HBox testPane = new HBox(rightPane);
+        testPane.setId("testPane");
+        testPane.setAlignment(Pos.CENTER);
+        root.getChildren().addAll(tools, secondone, testPane);
+        return root;
     }
 
     private void apply() {
diff --git a/functional/WebNodeAutomated/test/com/sun/fx/webnode/tests/html5/webstorage/LocalStorageTest.java b/functional/WebNodeAutomated/test/com/sun/fx/webnode/tests/html5/webstorage/LocalStorageTest.java
deleted file mode 100644
--- a/functional/WebNodeAutomated/test/com/sun/fx/webnode/tests/html5/webstorage/LocalStorageTest.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.fx.webnode.tests.html5.webstorage;
-
-import com.sun.fx.webnode.tests.commonUtils.GenericTestClass;
-import static com.sun.fx.webnode.tests.commonUtils.GenericTestClass.getPath;
-import com.sun.fx.webnode.tests.commonUtils.ToolkitInitializer;
-import javafx.application.Platform;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
-import javafx.concurrent.Worker;
-import org.junit.Assert;
-import static org.junit.Assert.assertTrue;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- *
- * @author Dmitry Ginzburg &lt;dmitry.ginzburg@oracle.com&gt;
- */
-public class LocalStorageTest extends GenericTestClass {
-
-    public static final String key = "xxx", value = "yyy", secondValue = "zzz";
-    public static final String uriDomain1 = "http://shaman.ru.oracle.com/",uriDomain2 = "http://spb-ebola.ru.oracle.com/";
-    public static final String veryLongString = "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabajabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabakabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabajabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacaba";
-    // Length: 2047 /\
-
-    //Domains are available from inner/outer network
-
-    protected Object result;
-    protected Tester resultReady = new Tester() {
-        public boolean isPassed() {
-            return result != null;
-        }
-    };
-
-    @BeforeClass
-    public static void init() {
-        test.javaclient.shared.Utils.launch(ToolkitInitializer.class, new String[0]);
-    }
-
-    public void initPage() {
-        result = null;
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                initWebEngine();
-                engine.load(getPath(this.getClass(), "resources/empty.html"));
-
-            }
-        });
-        doWaitPageLoading();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                result = engine.executeScript("window.localStorage.clear();");
-            }
-        });
-        doWait(resultReady);
-        result = null;
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckStorageTypeExists() {
-        result = null;
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                initWebEngine();
-                result = engine.executeScript("if (typeof (Storage) !== \"undefined\") 1; else 2;");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("Javascript type \"storage\" does not exist", result.equals(Integer.valueOf(1)));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageVariableExists() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                result = engine.executeScript("window.localStorage;");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("Javascript variable \"localStorage\" does not exist", result != null);
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageBasicReadWrite() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.localStorage.setItem(\"" + key + "\", \"" + value + "\");");
-                result = engine.executeScript("window.localStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("LocalStorage doesn't support basic read/write operations", result.equals(value));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageBasicReadWriteAccessThroughInnerVariable() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.localStorage." + key + " = \"" + value + "\";");
-                result = engine.executeScript("window.localStorage." + key + ";");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("LocalStorage doesn't support basic read/write operations through dot", result.equals(value));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageBasicReadWriteMixedAccessSetThroughInnerVariable() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.localStorage." + key + " = \"" + value + "\";");
-                result = engine.executeScript("window.localStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("LocalStorage doesn't support basic mixed read/write operations through dot", result.equals(value));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageBasicReadWriteMixedAccessSetThroughMethod() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.localStorage.setItem(\"" + key + "\", \"" + value + "\");");
-                result = engine.executeScript("window.localStorage." + key + ";");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("LocalStorage doesn't support basic mixed read/write operations through dot", result.equals(value));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageWithLongString() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.localStorage.setItem(\"" + key + "\", \"" + veryLongString + "\");");
-                result = engine.executeScript("window.localStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("LocalStorage doesn't support basic read/write operations with long strings", result.equals(veryLongString));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageWithEmptyString() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.localStorage.setItem(\"" + key + "\", \"\");");
-                result = engine.executeScript("window.localStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("LocalStorage doesn't support basic read/write operations with empty strings", result.toString().isEmpty());
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageDoubleWrite() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                result = engine.executeScript("window.localStorage.setItem(\"" + key + "\", \"" + value + "\");");
-            }
-        });
-        doWait(resultReady);
-        result = null;
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.localStorage.setItem(\"" + key + "\", \"" + secondValue + "\");");
-                result = engine.executeScript("window.localStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("LocalStorage doesn't support basic read/write operations double writing", result.equals (secondValue));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckLocalStorageSaveBetweenRuns() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.localStorage.setItem(\"" + key + "\", \"" + value + "\");");
-                engine = null;
-                initWebEngine();
-                engine.load(getPath(this.getClass(), "resources/empty.html"));
-            }
-        });
-        doWaitPageLoading();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                result = engine.executeScript("window.localStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        Assert.assertTrue("localStorage content is changing between runs", result.equals(value));
-    }
-
-    @Test(timeout = 20000)
-    public void testCheckLocalStorageCrossDomainVariables() {
-        result = null;
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine = null;
-                initWebEngine();
-                engine.load(uriDomain1);
-                engine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
-                    @Override
-                    public void changed(ObservableValue<? extends Worker.State> ov, Worker.State t, Worker.State t1) {
-                        if (t1.equals(Worker.State.SUCCEEDED)) {
-                            result = engine.executeScript("window.localStorage.clear();");
-                        }
-                    }
-                });
-            }
-        });
-        doWait(resultReady);
-        result = null;
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                result = engine.executeScript("window.localStorage.setItem(\"" + key + "\", \"" + value + "\");");
-            }
-        });
-        doWait(resultReady);
-        result = new Object();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine = null;
-                initWebEngine();
-                engine.load(uriDomain2);
-                engine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
-                    @Override
-                    public void changed(ObservableValue<? extends Worker.State> ov, Worker.State t, Worker.State t1) {
-                        if (t1.equals(Worker.State.SUCCEEDED)) {
-                            result = engine.executeScript ("window.localStorage.getItem(\"" + key + "\");");
-                        }
-                    }
-                });
-            }
-        });
-        doWait (new Tester() {
-            @Override
-            public boolean isPassed() {
-                return result == null;
-            }
-        });
-    }
-}
diff --git a/functional/WebNodeAutomated/test/com/sun/fx/webnode/tests/html5/webstorage/SessionStorageTest.java b/functional/WebNodeAutomated/test/com/sun/fx/webnode/tests/html5/webstorage/SessionStorageTest.java
deleted file mode 100644
--- a/functional/WebNodeAutomated/test/com/sun/fx/webnode/tests/html5/webstorage/SessionStorageTest.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.fx.webnode.tests.html5.webstorage;
-
-import com.sun.fx.webnode.tests.commonUtils.GenericTestClass;
-import static com.sun.fx.webnode.tests.commonUtils.GenericTestClass.getPath;
-import com.sun.fx.webnode.tests.commonUtils.ToolkitInitializer;
-import static com.sun.fx.webnode.tests.html5.webstorage.LocalStorageTest.key;
-import static com.sun.fx.webnode.tests.html5.webstorage.LocalStorageTest.secondValue;
-import static com.sun.fx.webnode.tests.html5.webstorage.LocalStorageTest.uriDomain1;
-import static com.sun.fx.webnode.tests.html5.webstorage.LocalStorageTest.uriDomain2;
-import static com.sun.fx.webnode.tests.html5.webstorage.LocalStorageTest.value;
-import static com.sun.fx.webnode.tests.html5.webstorage.LocalStorageTest.veryLongString;
-import javafx.application.Platform;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
-import javafx.concurrent.Worker;
-import static org.junit.Assert.assertTrue;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- *
- * @author Dmitry Ginzburg &lt;dmitry.ginzburg@oracle.com&gt;
- */
-public class SessionStorageTest extends GenericTestClass {
-
-    protected Object result;
-    protected Tester resultReady = new Tester() {
-        public boolean isPassed() {
-            return result != null;
-        }
-    };
-
-    @BeforeClass
-    public static void init() {
-        test.javaclient.shared.Utils.launch(ToolkitInitializer.class, new String[0]);
-    }
-
-    public void initPage() {
-        result = null;
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                initWebEngine();
-                engine.load(getPath(this.getClass(), "resources/empty.html"));
-
-            }
-        });
-        doWaitPageLoading();
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageVariableExists() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                result = engine.executeScript("window.sessionStorage;");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("Javascript variable \"sessionStorage\" does not exist", result != null);
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageBasicReadWrite() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.sessionStorage.setItem(\"" + key + "\", \"" + value + "\");");
-                result = engine.executeScript("window.sessionStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("SessionStorage doesn't support basic read/write operations", result.equals(value));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageBasicReadWriteAccessThroughInnerVariable() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.sessionStorage." + key + " = \"" + value + "\";");
-                result = engine.executeScript("window.sessionStorage." + key + ";");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("SessionStorage doesn't support basic read/write operations through dot", result.equals(value));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageBasicReadWriteMixedAccessSetThroughInnerVariable() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.sessionStorage." + key + " = \"" + value + "\";");
-                result = engine.executeScript("window.sessionStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("SessionStorage doesn't support basic mixed read/write operations through dot", result.equals(value));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageBasicReadWriteMixedAccessSetThroughMethod() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.sessionStorage.setItem(\"" + key + "\", \"" + value + "\");");
-                result = engine.executeScript("window.sessionStorage." + key + ";");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("SessionStorage doesn't support basic mixed read/write operations through dot", result.equals(value));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageWithLongString() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.sessionStorage.setItem(\"" + key + "\", \"" + veryLongString + "\");");
-                result = engine.executeScript("window.sessionStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("SessionStorage doesn't support basic read/write operations with long strings", result.equals(veryLongString));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageWithEmptyString() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.sessionStorage.setItem(\"" + key + "\", \"\");");
-                result = engine.executeScript("window.sessionStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("SessionStorage doesn't support basic read/write operations with empty strings", result.toString().isEmpty());
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageDoubleWrite() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                result = engine.executeScript("window.sessionStorage.setItem(\"" + key + "\", \"" + value + "\");");
-            }
-        });
-        doWait(resultReady);
-        result = null;
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.sessionStorage.setItem(\"" + key + "\", \"" + secondValue + "\");");
-                result = engine.executeScript("window.sessionStorage.getItem(\"" + key + "\");");
-            }
-        });
-        doWait(resultReady);
-        assertTrue("SessionStorage doesn't support basic read/write operations double writing", result.equals (secondValue));
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageNotSaveBetweenRuns() {
-        initPage();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine.executeScript("window.sessionStorage.setItem(\"" + key + "\", \"" + value + "\");");
-                engine = null;
-                initWebEngine();
-                engine.load(getPath(this.getClass(), "resources/empty.html"));
-            }
-        });
-        doWaitPageLoading();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                result = engine.executeScript("window.sessionStorage.getItem(\"" + key + "\");");
-            }
-        });
-        try {
-            doWait(resultReady);
-            throw new RuntimeException("sessionStorage content is saved between runs: bad behavior");
-        } catch (org.jemmy.TimeoutExpiredException ex) {
-
-        }
-    }
-
-    @Test(timeout = 10000)
-    public void testCheckSessionStorageCrossDomainVariables() {
-        result = null;
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine = null;
-                initWebEngine();
-                engine.load(uriDomain1);
-                engine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
-                    @Override
-                    public void changed(ObservableValue<? extends Worker.State> ov, Worker.State t, Worker.State t1) {
-                        if (t1.equals(Worker.State.SUCCEEDED)) {
-                            result = engine.executeScript("window.sessionStorage.setItem(\"" + key + "\", \"" + value + "\");");
-                        }
-                    }
-                });
-            }
-        });
-        doWait(resultReady);
-        result = new Object();
-        Platform.runLater(new Runnable() {
-            @Override
-            public void run() {
-                engine = null;
-                initWebEngine();
-                engine.load(uriDomain2);
-                engine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
-                    @Override
-                    public void changed(ObservableValue<? extends Worker.State> ov, Worker.State t, Worker.State t1) {
-                        if (t1.equals(Worker.State.SUCCEEDED)) {
-                            result = engine.executeScript("window.sessionStorage.getItem(\"" + key + "\");");
-                        }
-                    }
-                });
-            }
-        });
-        doWait(new Tester() {
-            @Override
-            public boolean isPassed() {
-                return result == null;
-            }
-        });
-    }
-}
diff --git a/tools/FxTestRunner/javatest_base/automated.jti.base b/tools/FxTestRunner/javatest_base/automated.jti.base
--- a/tools/FxTestRunner/javatest_base/automated.jti.base
+++ b/tools/FxTestRunner/javatest_base/automated.jti.base
@@ -5,4 +5,6 @@
 runmode=desktop
 browserPath=firefox
 javawsPath=javaws
-vmOptions=
\ No newline at end of file
+vmOptions=-XX:+IgnoreUnrecognizedVMOptions -Dsun.reflect.debugModuleAccessChecks=true -XX:+TraceAccessControlErrors
+addExports=javafx.graphics/com.sun.prism=ALL-UNNAMED,javafx.base/com.sun.javafx.runtime=ALL-UNNAMED,javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED,javafx.graphics/com.sun.glass.ui=ALL-UNNAMED,javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED,javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED,javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED,javafx.graphics/com.sun.javafx.scene.layout.region=ALL-UNNAMED,javafx.controls/javafx.scene.control=ALL-UNNAMED,javafx.controls/javafx.scene.control.skin=ALL-UNNAMED,javafx.controls/com.sun.javafx.scene.control.skin=ALL-UNNAMED,javafx.controls/com.sun.javafx.charts=ALL-UNNAMED,javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED,javafx.base/com.sun.javafx.collections=ALL-UNNAMED,javafx.base/javafx.event=ALL-UNNAMED
+addExportsEnabled=Yes
diff --git a/tools/FxTestRunner/javatest_base/automated.jti.template b/tools/FxTestRunner/javatest_base/automated.jti.template
--- a/tools/FxTestRunner/javatest_base/automated.jti.template
+++ b/tools/FxTestRunner/javatest_base/automated.jti.template
@@ -1,8 +1,8 @@
 #JT Harness Configuration Interview
 #Tagged (@) values here will be set in 3 steps to support inheritance:
-# 1. from SUITE/javatest_files/automated.jti.base file
-# 2. from ClientTestRunner/javatest_base/automated.jti.base
-# 3. by values setup in ClientTestRunner/javatest_utils.xml
+# 1. from SUITE/javatest_files/automated.jti file
+# 2. from tools/FxTestRunner/javatest_base/automated.jti.base
+# 3. by values setup in tools/FxTestRunner/javatest_utils.xml
 INTERVIEW=@INTERVIEW@
 LOCALE=en_US
 NAME=default
@@ -32,5 +32,7 @@
 browserPath=@browserPath@
 javawsPath=@javawsPath@
 vmOptions=@vmOptions@
+addExports=@addExports@
+addExportsEnabled=@addExportsEnabled@
 remote=@remote@
 @javaPath=@
\ No newline at end of file
diff --git a/tools/FxTestRunner/javatest_base/testsuite.jti.base b/tools/FxTestRunner/javatest_base/testsuite.jti.base
--- a/tools/FxTestRunner/javatest_base/testsuite.jti.base
+++ b/tools/FxTestRunner/javatest_base/testsuite.jti.base
@@ -1,4 +1,8 @@
 #JT Harness Configuration Interview
 #Thu Oct 21 16:48:38 MSD 2010
 INTERVIEW=client.test.runner.BasicFXInterview
-dryrun=No
\ No newline at end of file
+dryrun=No
+vmOptions=-XX:+IgnoreUnrecognizedVMOptions -Dsun.reflect.debugModuleAccessChecks=true -XX:+TraceAccessControlErrors
+#addExports=javafx.graphics/com.sun.prism=ALL-UNNAMED,javafx.base/com.sun.javafx.runtime=ALL-UNNAMED,javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED,javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED,javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED,javafx.base/javafx.event=ALL-UNNAMED,javafx.controls/javafx.scene.control=ALL-UNNAMED,javafx.base/javafx.event=ALL-UNNAMED,javafx.controls/javafx.scene.control=ALL-UNNAMED,javafx.controls/javafx.scene.control.skin=ALL-UNNAMED,javafx.graphics/com.sun.javafx.scene.layout.region=ALL-UNNAMED,javafx.base/com.sun.javafx.collections=ALL-UNNAMED
+addExports=javafx.graphics/com.sun.prism=ALL-UNNAMED,javafx.base/com.sun.javafx.runtime=ALL-UNNAMED,javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED,javafx.graphics/com.sun.glass.ui=ALL-UNNAMED,javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED,javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED,javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED,javafx.graphics/com.sun.javafx.scene.layout.region=ALL-UNNAMED,javafx.controls/javafx.scene.control=ALL-UNNAMED,javafx.controls/javafx.scene.control.skin=ALL-UNNAMED,javafx.controls/com.sun.javafx.scene.control.skin=ALL-UNNAMED,javafx.controls/com.sun.javafx.charts=ALL-UNNAMED,javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED,javafx.base/com.sun.javafx.collections=ALL-UNNAMED,javafx.base/javafx.event=ALL-UNNAMED
+addExportsEnabled=Yes
diff --git a/tools/FxTestRunner/javatest_base/testsuite.jti.template b/tools/FxTestRunner/javatest_base/testsuite.jti.template
--- a/tools/FxTestRunner/javatest_base/testsuite.jti.template
+++ b/tools/FxTestRunner/javatest_base/testsuite.jti.template
@@ -30,6 +30,8 @@
 runmode=desktop
 external.output=@external.output@
 vmOptions=@vmOptions@
+addExports=@addExports@
+addExportsEnabled=@addExportsEnabled@
 remote=@remote@
 @javaPath=@
 dryrun=@dryrun@
\ No newline at end of file
diff --git a/tools/FxTestRunner/plugin_support.xml b/tools/FxTestRunner/plugin_support.xml
--- a/tools/FxTestRunner/plugin_support.xml
+++ b/tools/FxTestRunner/plugin_support.xml
@@ -35,9 +35,9 @@
         
 
 
-        <echo message="debug: ant-javafx.jar = ${javafx.home}/../lib/ant-javafx.jar"/>
+        <echo message="debug: ant-javafx.jar = ${javafx.home}/lib/ant-javafx.jar"/>
 
-        <condition property="file.reference.ant-javafx.jar" value="${javafx.home}/../lib/ant-javafx.jar" else="${javafx.rt}/../lib/ant-javafx.jar">
+        <condition property="file.reference.ant-javafx.jar" value="${javafx.home}/lib/ant-javafx.jar" else="${javafx.rt}/lib/ant-javafx.jar">
     	    <isset property="javafx.home"/>
         </condition>
         <echo message="debug: file.reference.ant-javafx.jar = ${file.reference.ant-javafx.jar}"/>
@@ -179,4 +179,4 @@
     </target>
 <!-- fake targets -->
 
-</project>
\ No newline at end of file
+</project>
diff --git a/tools/FxTestRunner/run_javatest_macro.xml b/tools/FxTestRunner/run_javatest_macro.xml
--- a/tools/FxTestRunner/run_javatest_macro.xml
+++ b/tools/FxTestRunner/run_javatest_macro.xml
@@ -28,9 +28,14 @@
     <dirname property="jclient.root.dir" file="${ant.file.fxprobe}"/>
     <import file="nbproject/build-impl.xml"/>
 
+    <condition property="java.executable" value="java.exe" else="java">
+        <os family="windows" />
+    </condition>
+    
     <macrodef name="run-javatest">
         <attribute name="testmode"/>
         <sequential>
+            <echo message="Executing tools/FxTestRunner/run_javatest_macro.xml" />
             <echo message="testmode = @{testmode}" />
             <echo message="Javatest Basedir = ${fxtest.basedir}" />
             <echo message="external.output = ${external.output}" />
@@ -67,6 +72,11 @@
             <filter token="vmOptions" value="${javatest.vmOptions}"/>
             <filter token="dryrun" value="${javatest.dryrun}"/>
 
+            <condition property="__addExportsEnabled" value="No" else="Yes">
+                <isset property="noAddExports" />      
+            </condition>            
+            <filter token="addExportsEnabled" value="${__addExportsEnabled}"/>
+
             <!-- step 4: set the rest of filters-->
 
             <condition property="javafx.home" value="${javafx.rt}">
@@ -77,17 +87,20 @@
             <pathconvert targetos="unix" property="javafx.home.converted">
                 <path location="${javafx.home}"/>
             </pathconvert>
-	    <echo message="debug: javafx.home = ${javafx.home}"/>
-	    <echo message="debug: javafx.home.converted = ${javafx.home.converted}"/>
+            <pathconvert targetos="unix" property="javafx.home.remote.converted">
+                <path location="${javafx.home.remote}"/>
+            </pathconvert>
+            <pathconvert targetos="unix" property="javaPath.converted">
+                <path location="${javafx.home}/bin/${java.executable}"/>
+            </pathconvert>
 
-
-            <condition property="fvalue.javafx.home" value="${javafx.home.remote}" else="${javafx.home.converted}">
+            <condition property="fvalue.javafx.home" value="${javafx.home.remote.converted}" else="${javafx.home.converted}">
                 <isset property="javafx.home.remote"/>
             </condition>
             <condition property="fvalue.remote" value="Yes" else="No">
                 <isset property="javafx.home.remote"/>
             </condition>
-            <condition property="fvalue.javaPath" value="javaPath=java" else="">
+            <condition property="fvalue.javaPath" value="javaPath=java" else="javaPath=${javaPath.converted}">
                 <isset property="javafx.home.remote"/>
             </condition>
 
@@ -95,9 +108,20 @@
             <filter token="remote" value="${fvalue.remote}"/>
             <filter token="javaPath=" value="${fvalue.javaPath}"/>
 
-            <filter token="TESTSUITE" value="${basedir}/${test.sources}"/>
-            <filter token="WORKDIR" value="${workdir}"/>
-            <filter token="external.output" value="${fxtest.basedir}"/>
+            <pathconvert targetos="unix" property="TESTSUITE.converted">
+                <path location="${basedir}/${test.sources}"/>
+            </pathconvert>
+            <filter token="TESTSUITE" value="${TESTSUITE.converted}"/>
+            
+            <pathconvert targetos="unix" property="workdir.converted">
+                <path location="${workdir}"/>
+            </pathconvert>
+            <filter token="WORKDIR" value="${workdir.converted}"/>
+            
+            <pathconvert targetos="unix" property="fxtest.basedir.converted">
+                <path location="${fxtest.basedir}"/>
+            </pathconvert>           
+            <filter token="external.output" value="${fxtest.basedir.converted}"/>
 
             <!-- step 5: copy template with applied filters -->
             <copy overwrite="true" filtering="true" file="${jclient.root.dir}/../../tools/FxTestRunner/javatest_base/@{testmode}.jti.template" tofile="${jti}"/>
@@ -134,6 +158,9 @@
             <java classpath="${javatest.classpath}"
                   classname="com.sun.javatest.tool.Main" fork="true" failonerror="false" jvm="${javatest.java}">
                 <jvmarg line="${javatest.debug.jvmargs}"/>
+                <jvmarg line="-XX:+IgnoreUnrecognizedVMOptions"/>
+                <jvmarg line="--add-exports javafx.graphics/com.sun.javafx.util=ALL-UNNAMED"/>
+                <jvmarg line="-Dsun.reflect.debugModuleAccessChecks=true -XX:+TraceAccessControlErrors"/>
                 <sysproperty key="client.test.root" value="${client.test.root}"/>
                 <sysproperty key="javatest.security.noSecurityManager" value="true"/>
                 <sysproperty key="client.exclude.nodesc" value="${exclude.nodesc}"/>
@@ -156,6 +183,9 @@
             <echo message="Writing TXT report"/>
             <java classpath="${javatest.classpath}"
                   classname="com.sun.javatest.tool.Main" fork="true" failonerror="false" jvm="${javatest.java}">
+                <jvmarg line="-XX:+IgnoreUnrecognizedVMOptions"/>
+                <jvmarg line="--add-exports javafx.graphics/com.sun.javafx.util=ALL-UNNAMED"/>
+                <jvmarg line="-Dsun.reflect.debugModuleAccessChecks=true -XX:+TraceAccessControlErrors"/>
                 <sysproperty key="client.test.root" value="${client.test.root}"/>
                 <sysproperty key="javatest.security.noSecurityManager" value="true"/>
                 <sysproperty key="client.exclude.nodesc" value="${exclude.nodesc}"/>
@@ -172,6 +202,9 @@
             <echo message="Writing HTML report"/>
             <java classpath="${javatest.classpath}"
                   classname="com.sun.javatest.tool.Main" fork="true" failonerror="false" jvm="${javatest.java}">
+                <jvmarg line="-XX:+IgnoreUnrecognizedVMOptions"/>
+                <jvmarg line="--add-exports javafx.graphics/com.sun.javafx.util=ALL-UNNAMED"/>
+                <jvmarg line="-Dsun.reflect.debugModuleAccessChecks=true -XX:+TraceAccessControlErrors"/>
                 <sysproperty key="client.test.root" value="${client.test.root}"/>
                 <sysproperty key="javatest.security.noSecurityManager" value="true"/>
                 <sysproperty key="client.exclude.nodesc" value="${exclude.nodesc}"/>
diff --git a/tools/FxTestRunner/src/client/test/AddExports.java b/tools/FxTestRunner/src/client/test/AddExports.java
new file mode 100644
--- /dev/null
+++ b/tools/FxTestRunner/src/client/test/AddExports.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package client.test;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Allows to specify necessary values for --add-exports JVM arg
+ * @author Alexander Kouznetsov <Alexander.Kouznetsov@oracle.com>
+ */
+@Retention(RetentionPolicy.RUNTIME)
+public @interface AddExports {
+
+    /**
+     * For now just comma separated values that go to
+     * --add-exports ... JVM argument combined with other values
+     * provided elsewhere
+     * @return
+     */
+    String value();
+}
diff --git a/tools/FxTestRunner/src/client/test/runner/BasicFXInterview.java b/tools/FxTestRunner/src/client/test/runner/BasicFXInterview.java
--- a/tools/FxTestRunner/src/client/test/runner/BasicFXInterview.java
+++ b/tools/FxTestRunner/src/client/test/runner/BasicFXInterview.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
 
 package client.test.runner;
 
+import static client.test.runner.InterviewUtils.*;
 import client.test.runner.interview.LookAndFeelQuestion;
 import client.test.runner.interview.PipelineGroupQuestion;
 import client.util.CtrUtils;
@@ -127,6 +128,21 @@
     /**
      *
      */
+    public final static String ADD_EXPORTS_PARAM_NAME = "addExports";
+
+    /**
+     *
+     */
+    public final static String XPATCH_PARAM_NAME = "XPatch";
+
+    /**
+     *
+     */
+    public final static String ENABLE_ADD_EXPORTS_PARAM_NAME = "addExportsEnabled";
+
+    /**
+     *
+     */
     public final static String VM_OPTIONS_PARAM_NAME = "vmOptions";
 
     /**
@@ -209,6 +225,10 @@
         return qJavaPath.getValue();
     }
 
+    public String getXPatch() {
+        return qXPatch.getValue();
+    }
+
     /**
      *
      * @return
@@ -730,7 +750,7 @@
 
         @Override
         public String getText() {
-            return "Proxy settings in format: host:port\nE.g. www-proxy.us.oracle.com:80";
+            return "Proxy settings in format: host:port\nE.g. proxy.example.com:80";
         }
 
         @Override
@@ -742,7 +762,7 @@
         public Question getNext() {
             String val = getValue();
             if (val == null || val.trim().length() == 0 || CtrUtils.getProxyUrl(val) != null) {
-                return qVmOptions;
+                return qXPatch;
             } else {
                 return null;
             }
@@ -763,10 +783,112 @@
     private LookAndFeelQuestion qLookAndFeelGroup = new LookAndFeelQuestion (this, qProxy);
     private ChoiceQuestion qPipelineGroup = new PipelineGroupQuestion (this, getLastQuestion());
 
+    private StringQuestion qXPatch = new StringQuestion(this, XPATCH_PARAM_NAME) {
 
-    private static boolean isWindows() {
-        return System.getProperty("os.name").toLowerCase().contains("windows");
+        @Override
+        public String getText() {
+            return "Set -Xpatch directory for the test run. "
+                    + "\nE.g. build/shim-modules";
     }
+
+        @Override
+        public String getSummary() {
+            return "--patch-module";
+        }
+
+        @Override
+        public void clear() {
+            setValue("");
+        }
+
+        @Override
+        public Question getNext() {
+            return qEnableAddExports;
+        }
+
+        @Override
+        public void export(Map data) {
+            data.put(XPATCH_PARAM_NAME, value);
+        }
+
+        @Override
+        public void load(Map data) {
+            String newValue = (String) data.get(XPATCH_PARAM_NAME);
+            setValue(newValue != null ? newValue : "");
+        }
+    };
+
+    private YesNoQuestion qEnableAddExports = new YesNoQuestion(this, ENABLE_ADD_EXPORTS_PARAM_NAME, YesNoQuestion.YES) {
+        @Override
+        public Question getNext() {
+            if (getValue().equals(YES)) {
+                return qAddExports;
+            }
+            return qVmOptions;
+        }
+
+        @Override
+        public String getText() {
+            return "Do you wish to add -XaddExports JVM argument when running tests? "
+                    + "\nAnswer Yes when running with JDK 9 Jigsaw."
+                    + "\nAnswer No when running with JDK 8 and prior.";
+        }
+
+        @Override
+        public String getSummary() {
+            return "Add -XaddExports?";
+        }
+
+        @Override
+        public void export(Map data) {
+            data.put(ENABLE_ADD_EXPORTS_PARAM_NAME, getValue());
+        }
+
+        @Override
+        public void load(Map data) {
+            if (data.containsKey(ENABLE_ADD_EXPORTS_PARAM_NAME)) {
+                setValue((String) data.get(ENABLE_ADD_EXPORTS_PARAM_NAME));
+            }
+        }
+    };
+
+    private StringQuestion qAddExports = new StringQuestion(this, ADD_EXPORTS_PARAM_NAME) {
+
+        @Override
+        public String getText() {
+            return "Set -XaddExports values for the test run. "
+                    + "Individual tests can use @addExports annotation "
+                    + "to add more specific entries to -XaddExports JVM argument."
+                    + "\nE.g. javafx.graphics/com.sun.prism=ALL-UNNAMED,javafx.base/com.sun.javafx.runtime=ALL-UNNAMED";
+        }
+
+        @Override
+        public String getSummary() {
+            return "--add-exports";
+        }
+
+        @Override
+        public void clear() {
+            setValue("");
+        }
+
+        @Override
+        public Question getNext() {
+            return qVmOptions;
+        }
+
+        @Override
+        public void export(Map data) {
+            data.put(ADD_EXPORTS_PARAM_NAME, value);
+        }
+
+        @Override
+        public void load(Map data) {
+            String newValue = (String) data.get(ADD_EXPORTS_PARAM_NAME);
+            setValue(newValue != null ? newValue : "");
+        }
+    };
+
     private StringQuestion qVmOptions = new StringQuestion(this, VM_OPTIONS_PARAM_NAME) {
 
         @Override
@@ -801,24 +923,6 @@
         }
     };
 
-
-
-    private static class ExecutablesFileFilter implements FileFilter {
-        @Override
-        public boolean accept(File file) {
-            return file.exists() && file.canExecute();
-        }
-
-        @Override
-        public boolean acceptsDirectories() {
-            return false;
-        }
-
-        @Override
-        public String getDescription() {
-            return "Executable files";
-        }
-    }
     private static Runnable ieFix = new Runnable() {
         @Override
         public void run() {
diff --git a/tools/FxTestRunner/src/client/test/runner/DrtInterview.java b/tools/FxTestRunner/src/client/test/runner/DrtInterview.java
--- a/tools/FxTestRunner/src/client/test/runner/DrtInterview.java
+++ b/tools/FxTestRunner/src/client/test/runner/DrtInterview.java
@@ -242,7 +242,7 @@
 
         @Override
         public String getText() {
-            return "Proxy settings in format: host:port\nE.g. www-proxy.us.oracle.com:80";
+            return "Proxy settings in format: host:port\nE.g. someproxy.example.com:80";
         }
 
         @Override
diff --git a/tools/FxTestRunner/src/client/test/runner/InterviewUtils.java b/tools/FxTestRunner/src/client/test/runner/InterviewUtils.java
new file mode 100644
--- /dev/null
+++ b/tools/FxTestRunner/src/client/test/runner/InterviewUtils.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ */
+package client.test.runner;
+
+import com.sun.interview.FileFilter;
+import java.io.File;
+
+/**
+ *
+ * @author akouznet
+ */
+public class InterviewUtils {
+    public static class ExecutablesFileFilter implements FileFilter {
+        @Override
+        public boolean accept(File file) {
+            return file.exists() && file.canExecute();
+        }
+
+        @Override
+        public boolean acceptsDirectories() {
+            return false;
+        }
+
+        @Override
+        public String getDescription() {
+            return "Executable files";
+        }
+    }
+
+    public static boolean isWindows() {
+        return System.getProperty("os.name").toLowerCase().contains("windows");
+    }
+}
diff --git a/tools/FxTestRunner/src/client/test/runner/RunUITestFinder.java b/tools/FxTestRunner/src/client/test/runner/RunUITestFinder.java
--- a/tools/FxTestRunner/src/client/test/runner/RunUITestFinder.java
+++ b/tools/FxTestRunner/src/client/test/runner/RunUITestFinder.java
@@ -24,6 +24,7 @@
 
 package client.test.runner;
 
+import client.test.AddExports;
 import client.test.CheckUI;
 import client.test.Keywords;
 import client.test.RunUI;
@@ -36,12 +37,15 @@
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @author shura
  */
 public class RunUITestFinder extends AbstractTestFinder {
 
+    static final String ADD_EXPORTS = "unit.test.addExports";
     static final String TEST_NAME = "unit.test.testname";
     static final String UNIT_TEST_CLASS_NAME = "unit.test.classname";
     static final String NO_DESCRIPTION = "unit.test.nodescription";
@@ -92,6 +96,7 @@
                 boolean hasCheckUI = findAnnotations(testClass, CheckUI.class).size() > 0;
                 List<String> resources = new ArrayList<String>(runUIs.size());
                 List<Keywords> keys = findAnnotations(testClass, Keywords.class);
+                List<AddExports> addExportsList = findAnnotations(testClass, AddExports.class);
                 if (!runUIs.isEmpty()) {
                     boolean nodescription = false;
                     for (RunUI runUI : runUIs) {
@@ -126,6 +131,17 @@
                             System.out.println("The following keywords \"" + key_str + "\" were found in the test " + file.getName());
                         }
 
+                        // --add-exports value
+                        if (!addExportsList.isEmpty()) {
+                            String[] addExportsArray = new String[addExportsList.size()];
+                            for (int i = 0; i < addExportsList.size(); i++) {
+                                addExportsArray[i] = addExportsList.get(i).value();
+                            }
+                            String addExports = Stream.of(TestScript.combineAddExports(addExportsArray)).collect(Collectors.joining(" "));
+                            tagValues.put(ADD_EXPORTS, addExports);
+                            System.out.println("The following addExports \"" + addExports + "\" were found in the test " + file.getName());
+                        }
+
                         if (nodescription) {
                             tagValues.put("testName", removeDotJavaExtensionFromFilePath(filePath));
                             tagValues.put(FILE_PATH_PROP, path);
diff --git a/tools/FxTestRunner/src/client/test/runner/TestScript.java b/tools/FxTestRunner/src/client/test/runner/TestScript.java
--- a/tools/FxTestRunner/src/client/test/runner/TestScript.java
+++ b/tools/FxTestRunner/src/client/test/runner/TestScript.java
@@ -49,6 +49,10 @@
 import java.net.Socket;
 import java.net.URL;
 import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Level;
@@ -334,13 +338,26 @@
 
         String[] jvmVmOptions = savedEnv.lookup(BasicFXInterview.VM_OPTIONS_PARAM_NAME);
 
+        String[] xPatch = savedEnv.lookup(BasicFXInterview.XPATCH_PARAM_NAME);
+        String xPatchArg = "";
+        if (xPatch != null && xPatch.length > 0) {
+            File xPatchFile = new File(xPatch[0]);
+            xPatchArg = xPatchFile.getAbsolutePath();
+        }
+
+        boolean enableAddExports = YesNoQuestion.YES.equals(lookup(
+                BasicFXInterview.ENABLE_ADD_EXPORTS_PARAM_NAME, YesNoQuestion.NO));
+
+        String noAddExportsArg = enableAddExports ? null : "-DnoAddExports=true";
+
+        String addExportsArg[] = enableAddExports
+                ? combineAddExports(
+                    savedEnv.lookup(BasicFXInterview.ADD_EXPORTS_PARAM_NAME),
+                    td.getParameter(RunUITestFinder.ADD_EXPORTS))
+                : null;
+
         String jvmArgPrismOrder = getJvmArgPrismOrder();
 
-        //TODO (SG): is this still required?
-        String jvmArgLibraryPath = "";
-        if (fxSdkHome != null) {
-            jvmArgLibraryPath = "-Djava.library.path=" + fxSdkHome + File.separator + "rt";
-        }
 
 //        String externaloutput = lookup(BasicFXInterview.EXTERNALOUTPUT, "");
 //        if (externaloutput != null) {
@@ -374,7 +391,7 @@
 
         String swtTestOpt = "";
         try {
-            if (System.getProperty("os.name").toLowerCase().indexOf("mac") >= 0) {
+            if (System.getProperty("os.name").toLowerCase().contains("mac")) {
                 RunWith wunWithAnnotation = Class.forName(testClassName).getAnnotation(RunWith.class);
                 if ((wunWithAnnotation != null) && (wunWithAnnotation.value().equals(CanvasRunner.class))) {
                     swtTestOpt = "-XstartOnFirstThread";
@@ -390,9 +407,17 @@
         String[] command = new String[]{};
         command = addToArray(command, javaExec.trim());
         command = addToArray(command, jvmVmOptions);
+        if (addExportsArg != null) {
+            command = addToArray(command, addExportsArg);
+        } else if (noAddExportsArg != null) {
+            command = addToArray(command, noAddExportsArg);
+        }
+        if (xPatchArg != null && !xPatchArg.isEmpty()) {
+            command = addToArray(command, "--patch-module " + xPatchArg);
+        }
         command = addToArray(command, lookAndFeelOptions);
         command = addToArray(command, ipV4);
-        command = addToArray(command, jvmArgPrismOrder, jvmArgLibraryPath, jvmArgImageUtils);
+        command = addToArray(command, jvmArgPrismOrder, jvmArgImageUtils);
         command = addToArray(command, additionalOptions);
         command = addToArray(command, jvmArgNoDesc, jvmProxyHost, jvmProxyPort, jvmInterop, swtTestOpt);
         command = addToArray(command, jvmArgClientTestRoot);
@@ -403,6 +428,35 @@
         return command;
     }
 
+    static String[] combineAddExports(String[] addExportsArray, String addExportsValue) {
+        if (addExportsValue == null) {
+            return combineAddExports(addExportsArray);
+        } else {
+            String[] newArray = new String[addExportsArray.length + 1];
+            System.arraycopy(addExportsArray, 0, newArray, 1, addExportsArray.length);
+            newArray[0] = addExportsValue;
+            return combineAddExports(newArray);
+        }
+    }
+
+    static String[] combineAddExports(String[] addExportsArray) {
+        List<String> addExportsList = new ArrayList<>();
+        for (String addExports : addExportsArray) {
+            if (addExports != null) {
+                for (String value : addExports.split("\\s*,\\s*")) {
+                    if (!value.isEmpty() && !addExportsList.contains(value.trim())) {
+                        addExportsList.add("--add-exports");
+                        addExportsList.add(value.trim());
+                        addExportsList.add("--add-opens");
+                        addExportsList.add(value.trim());
+                    }
+                }
+            }
+        }
+        return addExportsList.toArray(new String[addExportsList.size()]);
+    }
+
+
     /**
      *
      * @param td
diff --git a/tools/Jemmy/JemmyFX/build.xml b/tools/Jemmy/JemmyFX/build.xml
--- a/tools/Jemmy/JemmyFX/build.xml
+++ b/tools/Jemmy/JemmyFX/build.xml
@@ -73,12 +73,16 @@
     <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend, read-profile" if="have.sources" name="-do-compile">
         <echo message="Compiling  ${profile.includes} but not ${profile.excludes}"/>
         <mkdir dir="${src.docks.dir}"/>
+        <condition property="__addExports1" value="" else="--add-exports javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED --add-exports javafx.controls/com.sun.javafx.scene.control.skin=ALL-UNNAMED">
+            <isset property="noAddExports" />
+        </condition>
         <javac sourcepath="" srcdir="${src.dir}" destdir="${build.classes.dir}" classpath="${javac.classpath}" includes="${profile.includes}" excludes="${profile.excludes}">
             <compilerarg value="-processor"/>
             <compilerarg value="org.jemmy.support.Proccessor"/>
             <compilerarg value="-Aactions=docks,dump"/>
             <compilerarg value="-s"/>
             <compilerarg value="${basedir}/${src.docks.dir}"/>
+            <compilerarg line="${__addExports1}"/>
         </javac>
         <copy todir="${build.classes.dir}">
             <fileset dir="${src.docks.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
diff --git a/tools/Jemmy/JemmyFX/samples/org/jemmy/samples/webview/WebViewApp.java b/tools/Jemmy/JemmyFX/samples/org/jemmy/samples/webview/WebViewApp.java
deleted file mode 100644
--- a/tools/Jemmy/JemmyFX/samples/org/jemmy/samples/webview/WebViewApp.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- */
-
-package org.jemmy.samples.webview;
-
-import javafx.application.Application;
-import javafx.scene.Scene;
-import javafx.scene.layout.Priority;
-import javafx.scene.layout.VBox;
-import javafx.scene.web.WebView;
-import javafx.stage.Stage;
-
-public class WebViewApp extends Application {
-    static {
-        System.setProperty("http.proxyHost", "www-proxy.uk.oracle.com");
-        System.setProperty("http.proxyPort", "80");
-    }
-
-    WebView browser;
-    VBox pane;
-
-    public class MainScene extends Scene {
-        public MainScene() {
-            super(pane, 500, 500);
-
-            pane.setVgrow(browser, Priority.ALWAYS);
-            pane.getChildren().add(browser);
-        }
-    }
-
-    @Override
-    public void start(Stage stage) {
-        browser = new WebView();
-        browser.getEngine().load("file:///" + System.getProperty("user.dir") +  "\\samples\\org\\jemmy\\samples\\webview\\button.html");
-
-        pane = new VBox();
-        stage.setTitle(this.getClass().getSimpleName());
-        stage.setScene(new MainScene());
-        stage.show();
-    }
-
-    public static void main(String[] args) {
-        launch(WebViewApp.class, args);
-    }
-}
\ No newline at end of file
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/ByID.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/ByID.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/ByID.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/ByID.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -73,4 +73,11 @@
 
         }.dispatch(Environment.getEnvironment());
     }
+
+    @Override
+    public String toString() {
+        return "id is " + super.toString();
+        // TODO: Get access to text and uncomment proper code:
+//        return "Id = " + text;
 }
+}
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/Lookups.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/Lookups.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/Lookups.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/Lookups.java
@@ -60,7 +60,7 @@
      */
     @SuppressWarnings("unchecked")
     public static <T extends Node> Wrap<? extends T> byID(Wrap<?> parent, String id, Class<T> type) {
-        return byID(parent.as(Parent.class, Node.class), id, type);
+        return byID((Parent<Node>) parent.as(Parent.class, Node.class), id, type);
     }
     /**
      * Equivalent to <code>parent.lookup(type, new ByText<T>(text)).wrap(0)</code>
@@ -84,7 +84,7 @@
      */
     @SuppressWarnings("unchecked")
     public static <T extends Node> Wrap<? extends T> byText(Wrap<?> parent, String id, Class<T> type) {
-        return byText(parent.as(Parent.class, Node.class), id, type);
+        return byText((Parent<Node>) parent.as(Parent.class, Node.class), id, type);
     }
     /**
      * Equivalent to <code>FXRoot.ROOT.lookup(new ByTitleSceneLookup<Scene>(title)).wrap(0).as(Parent.class, Node.class)</code>
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/QueueExecutor.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/QueueExecutor.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/QueueExecutor.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/QueueExecutor.java
@@ -222,7 +222,7 @@
         }
 
         public boolean failed() {
-            return action.failed();
+            return !done || action.failed();
         }
 
         public Throwable getThrowable() {
@@ -231,8 +231,9 @@
 
         public synchronized void waitDone(Timeout timeout) {
             try {
-                while (!done) {
-                    wait(timeout.getValue());
+                long maxTime = System.currentTimeMillis() + timeout.getValue();
+                while (!done && System.currentTimeMillis() < maxTime) {
+                    wait(maxTime - System.currentTimeMillis());
                 }
             } catch (InterruptedException ex) {
             }
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/SceneList.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/SceneList.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/SceneList.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/SceneList.java
@@ -47,9 +47,8 @@
             @Override
             public void run(Object... parameters) {
                 LinkedList<Scene> res = new LinkedList<Scene>();
-                Iterator<Window> windows = Window.impl_getWindows();
-                while(windows.hasNext()) {
-                    res.add(windows.next().getScene());
+                for (Window w : Window.getWindows()) {
+                    res.add(w.getScene());
                 }
                 setResult(res);
             }
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/WindowList.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/WindowList.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/WindowList.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/WindowList.java
@@ -47,10 +47,7 @@
             @Override
             public void run(Object... parameters) {
                 LinkedList<Window> res = new LinkedList<Window>();
-                Iterator<Window> windows = Window.impl_getWindows();
-                while(windows.hasNext()) {
-                    res.add(windows.next());
-                }
+                res.addAll(Window.getWindows());
                 setResult(res);
             }
         };
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/ContextMenuWrap.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/ContextMenuWrap.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/ContextMenuWrap.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/ContextMenuWrap.java
@@ -83,7 +83,7 @@
     @As(MenuItem.class)
     public StringMenuOwner<MenuItem> asMenuOwner() {
         if (menuOwner == null) {
-            menuOwner = new StringMenuOwnerImpl(this, this.as(Parent.class, Menu.class));
+            menuOwner = new StringMenuOwnerImpl(this, (Parent <Menu>)this.as(Parent.class, Menu.class));
         }
         return menuOwner;
     }
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/ListItemWrap.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/ListItemWrap.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/ListItemWrap.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/ListItemWrap.java
@@ -117,12 +117,12 @@
     public void show() {
         final List<DATA> items = listViewWrap.getItems();
 
-        AbstractScroll scroll1 = Utils.getContainerScroll(listViewWrap.as(Parent.class, Node.class), listViewWrap.getControl().getOrientation() == Orientation.VERTICAL);
+        AbstractScroll scroll1 = Utils.getContainerScroll((Parent <Node>)listViewWrap.as(Parent.class, Node.class), listViewWrap.getControl().getOrientation() == Orientation.VERTICAL);
         if (scroll1 != null) {
             TableUtils.scrollToInSingleDimension((Wrap<? extends Control>) viewWrap, ListCell.class, p -> items.indexOf(p.getItem()), listViewWrap.getItems().indexOf(getControl()),
             scroll1.caret(), listViewWrap.vertical());
         }
-        AbstractScroll scroll2 = Utils.getContainerScroll(listViewWrap.as(Parent.class, Node.class), listViewWrap.getControl().getOrientation() != Orientation.VERTICAL);
+        AbstractScroll scroll2 = Utils.getContainerScroll((Parent <Node>)listViewWrap.as(Parent.class, Node.class), listViewWrap.getControl().getOrientation() != Orientation.VERTICAL);
         Utils.makeCenterVisible(getClippedContainerWrap(), this, scroll2);
 
     }
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuBarWrap.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuBarWrap.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuBarWrap.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuBarWrap.java
@@ -108,7 +108,7 @@
     @As(MenuItem.class)
     public StringMenuOwner<MenuItem> asMenuOwner() {
         if (menuOwner == null) {
-            menuOwner = new StringMenuOwnerImpl(this, this.as(Parent.class, Menu.class));
+            menuOwner = new StringMenuOwnerImpl(this, (Parent <Menu>)this.as(Parent.class, Menu.class));
         }
         return menuOwner;
     }
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuButtonWrap.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuButtonWrap.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuButtonWrap.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuButtonWrap.java
@@ -97,7 +97,7 @@
     @As(MenuItem.class)
     public StringMenuOwner<MenuItem> asMenuOwner() {
         if (menuOwner == null) {
-            menuOwner = new StringMenuOwnerImpl(this, this.as(Parent.class, Menu.class)) {
+            menuOwner = new StringMenuOwnerImpl(this, (Parent <Menu>)this.as(Parent.class, Menu.class)) {
 
                 @Override
                 protected void prepare() {
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuWrap.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuWrap.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuWrap.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/MenuWrap.java
@@ -73,7 +73,7 @@
     @As(MenuItem.class)
     public StringMenuOwner<MenuItem> asMenuOwner() {
         if (menuOwner == null) {
-            menuOwner = new StringMenuOwnerImpl(this, this.as(Parent.class, Menu.class));
+            menuOwner = new StringMenuOwnerImpl(this, (Parent <Menu>)this.as(Parent.class, Menu.class));
         }
         return menuOwner;
     }
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TableUtils.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TableUtils.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TableUtils.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TableUtils.java
@@ -255,8 +255,8 @@
      * @return
      */
     static Rectangle getActuallyVisibleArea(final Wrap<? extends Control> wrap) {
-        final Rectangle viewArea = getContainerWrap(wrap.as(Parent.class, Node.class)).getScreenBounds();
-        final Rectangle clippedContainerArea = getClippedContainerWrap(wrap.as(Parent.class, Node.class)).getScreenBounds();
+        final Rectangle viewArea = getContainerWrap((Parent <Node>)wrap.as(Parent.class, Node.class)).getScreenBounds();
+        final Rectangle clippedContainerArea = getClippedContainerWrap((Parent <Node>)wrap.as(Parent.class, Node.class)).getScreenBounds();
         return new Rectangle(viewArea.x, viewArea.y, clippedContainerArea.width, clippedContainerArea.height);
     }
 
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TableViewWrap.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TableViewWrap.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TableViewWrap.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TableViewWrap.java
@@ -24,7 +24,7 @@
  */
 package org.jemmy.fx.control;
 
-import com.sun.javafx.scene.control.skin.VirtualFlow;
+import javafx.scene.control.skin.VirtualFlow;
 import javafx.collections.ObservableList;
 import javafx.scene.control.*;
 import org.jemmy.Point;
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TreeTableViewWrap.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TreeTableViewWrap.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TreeTableViewWrap.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TreeTableViewWrap.java
@@ -24,7 +24,7 @@
  */
 package org.jemmy.fx.control;
 
-import com.sun.javafx.scene.control.skin.VirtualFlow;
+import javafx.scene.control.skin.VirtualFlow;
 import java.util.ArrayList;
 import java.util.List;
 import javafx.collections.FXCollections;
@@ -582,4 +582,4 @@
         }
         return cellParent;
     }
-}
\ No newline at end of file
+}
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TreeViewWrap.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TreeViewWrap.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TreeViewWrap.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/TreeViewWrap.java
@@ -24,7 +24,7 @@
  */
 package org.jemmy.fx.control;
 
-import com.sun.javafx.scene.control.skin.VirtualFlow;
+import javafx.scene.control.skin.VirtualFlow;
 import javafx.scene.Node;
 import javafx.scene.control.ScrollBar;
 import javafx.scene.control.TreeCell;
@@ -381,4 +381,4 @@
             return TreeViewWrap.this.getEnvironment();
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/caspian/CaspianDriverFactory.java b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/caspian/CaspianDriverFactory.java
--- a/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/caspian/CaspianDriverFactory.java
+++ b/tools/Jemmy/JemmyFX/src/org/jemmy/fx/control/caspian/CaspianDriverFactory.java
@@ -24,8 +24,8 @@
  */
 package org.jemmy.fx.control.caspian;
 
-import com.sun.javafx.scene.control.skin.ScrollBarSkin;
-import com.sun.javafx.scene.control.skin.SliderSkin;
+import javafx.scene.control.skin.ScrollBarSkin;
+import javafx.scene.control.skin.SliderSkin;
 import javafx.scene.Node;
 import javafx.scene.control.*;
 import org.jemmy.action.FutureAction;
diff --git a/tools/Jemmy/JemmyFX/test/org/jemmy/fx/control/WebViewApp.java b/tools/Jemmy/JemmyFX/test/org/jemmy/fx/control/WebViewApp.java
deleted file mode 100644
--- a/tools/Jemmy/JemmyFX/test/org/jemmy/fx/control/WebViewApp.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- */
-
-package org.jemmy.fx.control;
-
-import javafx.application.Application;
-import javafx.scene.Scene;
-import javafx.scene.layout.Priority;
-import javafx.scene.layout.VBox;
-import javafx.scene.web.WebView;
-import javafx.stage.Stage;
-
-public class WebViewApp extends Application {
-    static {
-        System.setProperty("http.proxyHost", "www-proxy.uk.oracle.com");
-        System.setProperty("http.proxyPort", "80");
-    }
-
-    WebView browser;
-    VBox pane;
-
-    public class MainScene extends Scene {
-        public MainScene() {
-            super(pane, 500, 500);
-
-            pane.setVgrow(browser, Priority.ALWAYS);
-            pane.getChildren().add(browser);
-        }
-    }
-
-    @Override
-    public void start(Stage stage) {
-        browser = new WebView();
-        browser.getEngine().load("file:///" + System.getProperty("user.dir") +  "\\test\\org\\jemmy\\fx\\control\\button.html");
-
-        pane = new VBox();
-        stage.setTitle(this.getClass().getSimpleName());
-        stage.setScene(new MainScene());
-        stage.show();
-    }
-
-    public static void main(String[] args) {
-        launch(WebViewApp.class, args);
-    }
-}
\ No newline at end of file
diff --git a/tools/SharedTestUtilsOpen/nbproject/project.properties b/tools/SharedTestUtilsOpen/nbproject/project.properties
--- a/tools/SharedTestUtilsOpen/nbproject/project.properties
+++ b/tools/SharedTestUtilsOpen/nbproject/project.properties
@@ -64,8 +64,8 @@
 file.reference.JemmyCore.jar=../Jemmy/jemmy_core/JemmyCore.jar
 file.reference.JemmySupport.jar=../Jemmy/jemmy_core/JemmySupport.jar
 file.reference.junit.jar=../Jemmy/jemmy_core/junit.jar
-file.reference.jfxrt.jar=${javafx.rt}/lib/ext/jfxrt.jar
-file.reference.jfxswt.jar=${javafx.rt}/lib/jfxswt.jar
+file.reference.jfxrt.jar=${java.home}/lib/ext/jfxrt.jar
+file.reference.jfxswt.jar=${java.home}/lib/javafx-swt.jar
 includes=**
 jar.archive.disabled=${jnlp.enabled}
 jar.compress=false
diff --git a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/AppLauncher.java b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/AppLauncher.java
--- a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/AppLauncher.java
+++ b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/AppLauncher.java
@@ -55,6 +55,7 @@
             case SWING:
                 instantiateOnSwingQueue(cl, args);
                 break;
+            // https://bugs.openjdk.java.net/browse/JDK-8131888
             case SWT:
                 instantiateOnSWTQueue(cl, args);
                 break;
@@ -105,6 +106,7 @@
         }
     }
 
+    // https://bugs.openjdk.java.net/browse/JDK-8131888
     private static void instantiateOnSWTQueue(final Class<? extends Interoperability> cl, String[] args) {
         try {
             Interoperability obj = cl.newInstance();
@@ -154,10 +156,8 @@
                     }
                     return Boolean.TRUE;
                 } else {
-                    Iterator<Window> it = Stage.impl_getWindows();
-                    while (it.hasNext()) {
-
-                        if (it.next().isShowing()) {
+                    for (Window w : Stage.getWindows()) {
+                        if (w.isShowing()) {
                             return Boolean.TRUE;
                         }
                     }
diff --git a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/CombinedTestChooserPresenter.java b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/CombinedTestChooserPresenter.java
--- a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/CombinedTestChooserPresenter.java
+++ b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/CombinedTestChooserPresenter.java
@@ -39,6 +39,7 @@
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
 import org.eclipse.swt.widgets.Shell;
+import com.sun.javafx.stage.WindowHelper;
 
 /**
  *
@@ -183,7 +184,8 @@
         stage.setScene(scene);
         stage.show();
         stage.toFront();
-        stage.setFocused(true);
+        //stage.setFocused(true);
+        WindowHelper.setFocused(stage, true);
     }
 
     public void show(final Object frame, final Object panel) {
diff --git a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/CombinedTestChooserPresenter3D.java b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/CombinedTestChooserPresenter3D.java
--- a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/CombinedTestChooserPresenter3D.java
+++ b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/CombinedTestChooserPresenter3D.java
@@ -28,6 +28,7 @@
 import javafx.scene.layout.Pane;
 import javafx.scene.Group;
 import javafx.stage.Stage;
+import com.sun.javafx.stage.WindowHelper;
 
 /**
  *
@@ -67,7 +68,8 @@
         stage.show();
         stage.toFront();
         setNodeForScreenshot(null);
-        stage.setFocused(true);
+        //stage.setFocused(true);
+        WindowHelper.setFocused(stage, true);
     }
 
 }
diff --git a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestBase.java b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestBase.java
--- a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestBase.java
+++ b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestBase.java
@@ -306,7 +306,8 @@
                         res2Name, diffName);
             } else {
                 Wrap<? extends Node> imViewWrap =
-                        (new NodeDock(getScene().as(Parent.class, Node.class), "ViewOfNodeSnapshot")).wrap();
+                        //(new NodeDock(getScene().as(Parent.class, Node.class), "ViewOfNodeSnapshot")).wrap();
+                        (new NodeDock((Parent<Node>)getScene().as(Parent.class, Node.class), "ViewOfNodeSnapshot")).wrap();
                 //Lookups.byID(scene, "ViewOfNodeSnapshot", ImageView.class);
 
                 imViewWrap.waitImage(getScene().getEnvironment().getImageLoader().load(resName),
diff --git a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestBaseBase.java b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestBaseBase.java
--- a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestBaseBase.java
+++ b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestBaseBase.java
@@ -95,7 +95,7 @@
          * new ControlDock because there is no ButtonDock Yet.
          */
         final ControlWrap<? extends Control> label =
-                new ControlDock(scene.as(Parent.class, Node.class), name).wrap();
+                new ControlDock((Parent <Node>)scene.as(Parent.class, Node.class), name).wrap();
         label.mouse().move();
         Utils.deferAction(new Runnable() {
             public void run() {
diff --git a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestUtil.java b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestUtil.java
--- a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestUtil.java
+++ b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/TestUtil.java
@@ -37,6 +37,7 @@
 import org.jemmy.timing.State;
 import test.javaclient.shared.description.TreeNode;
 import test.javaclient.shared.screenshots.GoldenImageManager;
+import com.sun.javafx.stage.WindowHelper;
 
 /**
  * Utility methods
@@ -176,7 +177,8 @@
         scene = Root.ROOT.lookup(new ByWindowType(Stage.class)).lookup(Scene.class).wrap(0);
         Utils.deferAction(new Runnable() {
             public void run() {
-                scene.getControl().getWindow().setFocused(true);
+                //scene.getControl().getWindow().setFocused(true);
+                WindowHelper.setFocused(scene.getControl().getWindow(), true);
             }
         });
 
diff --git a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/screenshots/GoldenImageManager.java b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/screenshots/GoldenImageManager.java
--- a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/screenshots/GoldenImageManager.java
+++ b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/screenshots/GoldenImageManager.java
@@ -44,7 +44,7 @@
     private static final String IMG_FOLDER = "images-svn";
 
     private static File getImagesRoot() throws IOException {
-        return new File("../", IMG_FOLDER).getCanonicalFile();
+        return new File("./", IMG_FOLDER).getCanonicalFile();
     }
 
     private static String getSuiteName() throws IOException {
diff --git a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/screenshots/ScreenshotUtils.java b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/screenshots/ScreenshotUtils.java
--- a/tools/SharedTestUtilsOpen/src/test/javaclient/shared/screenshots/ScreenshotUtils.java
+++ b/tools/SharedTestUtilsOpen/src/test/javaclient/shared/screenshots/ScreenshotUtils.java
@@ -167,7 +167,8 @@
     public static Wrap<? extends Node> getPageContent() {
         Node n = application.getNodeForScreenshot();
         final Wrap<? extends Scene> scene = Root.ROOT.lookup(new ByWindowType(Stage.class)).lookup(Scene.class).wrap(0);
-        return new NodeDock(scene.as(Parent.class, Node.class), n.getId()).wrap();
+        //return new NodeDock(scene.as(Parent.class, Node.class), n.getId()).wrap();
+        return new NodeDock((Parent<Node>)scene.as(Parent.class, Node.class), n.getId()).wrap();
     }
 
     /**
