changeset 11095:4bc2221b491a

Merge
author kcr
date Fri, 10 Aug 2018 15:30:29 -0700
parents a3e180fb1506 8893cc75d0ee
children e30204a55389 0a74fc402d1b
files modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/RenderThemeImpl.java modules/javafx.web/src/main/native/Source/WebCore/platform/graphics/java/ImageBufferJava.cpp modules/javafx.web/src/main/native/Source/WebCore/platform/java/RenderThemeJava.cpp modules/javafx.web/src/shims/java/com/sun/webkit/WebPageShim.java modules/javafx.web/src/test/java/test/javafx/scene/web/FormControlsTest.java
diffstat 369 files changed, 1850 insertions(+), 1932 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Aug 03 05:52:01 2018 -0700
+++ b/.hgtags	Fri Aug 10 15:30:29 2018 -0700
@@ -505,3 +505,5 @@
 3617ee7f12416485e113741ce8bca516f67fe7e2 11+19
 21b47529863d9817c2ece0ce1a397eedd10f57ea 11+20
 3527ff907f43f6f0779a70acd23d4e8defa33734 11+21
+15326b4db60723d8323f2f0ea65e5ebd709075e5 11+22
+812efc1ce8017dcc0c5e150ad91a7e99f25a2d80 12+0
--- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/swing/SwingInterop.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/swing/SwingInterop.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates.
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates.
  * All rights reserved. Use is subject to license terms.
  *
  * This file is available and licensed under the following license:
--- a/apps/tests/HelloTest/src/hellotest/RemoveFocusedControl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/apps/tests/HelloTest/src/hellotest/RemoveFocusedControl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/apps/tests/Robot/src/robottest/RobotBuilder.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/apps/tests/Robot/src/robottest/RobotBuilder.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
--- a/build.gradle	Fri Aug 03 05:52:01 2018 -0700
+++ b/build.gradle	Fri Aug 10 15:30:29 2018 -0700
@@ -4423,7 +4423,10 @@
         ]);
 
     doLast {
+        // FIXME: remove JDK 10 logic once minimum JDK is bumped to 11
+        def isBootJdk10 = jdkVersion.startsWith("10")
         projectsToDocument.each { p ->
+            def destDir = isBootJdk10 ? "$buildDir/javadoc" : "$buildDir/javadoc/${p.ext.moduleName}"
             copy {
                 from("$p.projectDir/src/main/docs") {
                     include "**/*.html"
@@ -4435,7 +4438,7 @@
                     exclude "**/*.html"
                 }
 
-                into "$buildDir/javadoc"
+                into destDir
             }
         }
     }
--- a/build.properties	Fri Aug 03 05:52:01 2018 -0700
+++ b/build.properties	Fri Aug 10 15:30:29 2018 -0700
@@ -39,7 +39,7 @@
 jfx.release.suffix=-ea
 
 # UPDATE THE FOLLOWING VALUES FOR A NEW RELEASE
-jfx.release.major.version=11
+jfx.release.major.version=12
 jfx.release.minor.version=0
 jfx.release.security.version=0
 jfx.release.patch.version=0
@@ -56,8 +56,8 @@
 
 javadoc.bottom=<small><a href="http://bugreport.java.com/bugreport/">Report a bug or suggest an enhancement</a><br> Copyright &copy; 2008, 2018, Oracle and/or its affiliates. All rights reserved.</small>
 
-javadoc.title=JavaFX 11
-javadoc.header=JavaFX&nbsp;11
+javadoc.title=JavaFX 12
+javadoc.header=JavaFX&nbsp;12
 
 ##############################################################################
 #
--- a/buildSrc/android.gradle	Fri Aug 03 05:52:01 2018 -0700
+++ b/buildSrc/android.gradle	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/buildSrc/build.gradle	Fri Aug 03 05:52:01 2018 -0700
+++ b/buildSrc/build.gradle	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/buildSrc/dalvik.gradle	Fri Aug 03 05:52:01 2018 -0700
+++ b/buildSrc/dalvik.gradle	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
--- a/buildSrc/win.gradle	Fri Aug 03 05:52:01 2018 -0700
+++ b/buildSrc/win.gradle	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/modules/javafx.base/src/main/java/com/sun/javafx/binding/Logging.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/com/sun/javafx/binding/Logging.java	Fri Aug 10 15:30:29 2018 -0700
@@ -29,11 +29,86 @@
 
 public class Logging {
 
-    private static class LoggerHolder {
-        private static final PlatformLogger INSTANCE = PlatformLogger.getLogger("javafx.beans");
+    public static ErrorLogger getLogger() {
+        return ErrorLogger.INSTANCE;
     }
 
-    public static PlatformLogger getLogger() {
-        return LoggerHolder.INSTANCE;
+    /**
+     * A PlatformLogger that keeps a record ({@code ErrorLogRecord}) of the last error ({@code Throwable}) logged.
+     */
+    public static class ErrorLogger extends PlatformLogger {
+
+        ErrorLogger() {
+            super(System.getLogger("javafx.beans"));
+        }
+
+        private static final ErrorLogger INSTANCE = new ErrorLogger();
+
+        public static class ErrorLogRecord {
+            private final Level level;
+            private final Throwable thrown;
+
+            public ErrorLogRecord(Level level, Throwable thrown) {
+                this.level = level;
+                this.thrown = thrown;
+            }
+
+            public Throwable getThrown() {
+                return thrown;
+            }
+
+            public Level getLevel() {
+                return level;
+            }
+        }
+
+        private ErrorLogRecord errorLogRecord;
+
+        public ErrorLogRecord getErrorLogRecord() {
+            return errorLogRecord;
+        }
+
+        public void setErrorLogRecord(ErrorLogRecord errorLogRecord) {
+            this.errorLogRecord = errorLogRecord;
+        }
+
+        /* Some of the following logging methods are unused and thus commented-out,
+           but are kept here anyway on purpose. See JDK-8195974 */
+
+/*        @Override
+        public void severe(String msg, Throwable t) {
+            super.severe(msg, t);
+            errorLogRecord = new ErrorLogRecord(Level.SEVERE, t);
+        }*/
+
+        @Override
+        public void warning(String msg, Throwable t) {
+            super.warning(msg, t);
+            errorLogRecord = new ErrorLogRecord(Level.WARNING, t);
+        }
+
+/*        @Override
+        public void info(String msg, Throwable t) {
+            super.info(msg, t);
+            errorLogRecord = new ErrorLogRecord(Level.INFO, t);
+        }*/
+
+        @Override
+        public void fine(String msg, Throwable t) {
+            super.fine(msg, t);
+            errorLogRecord = new ErrorLogRecord(Level.FINE, t);
+        }
+
+/*        @Override
+        public void finer(String msg, Throwable t) {
+            super.finer(msg, t);
+            errorLogRecord = new ErrorLogRecord(Level.FINER, t);
+        }*/
+
+/*        @Override
+        public void finest(String msg, Throwable t) {
+            super.finest(msg, t);
+            errorLogRecord = new ErrorLogRecord(Level.FINEST, t);
+        }*/
     }
 }
--- a/modules/javafx.base/src/main/java/com/sun/javafx/logging/PlatformLogger.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/com/sun/javafx/logging/PlatformLogger.java	Fri Aug 10 15:30:29 2018 -0700
@@ -26,7 +26,6 @@
 package com.sun.javafx.logging;
 
 import java.lang.ref.WeakReference;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.ResourceBundle;
@@ -105,7 +104,7 @@
 
 
     private final System.Logger loggerProxy;
-    private PlatformLogger(System.Logger loggerProxy) {
+    protected PlatformLogger(System.Logger loggerProxy) {
         this.loggerProxy = loggerProxy;
     }
 
--- a/modules/javafx.base/src/main/java/com/sun/javafx/logging/PulseLogger.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/com/sun/javafx/logging/PulseLogger.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, 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
--- a/modules/javafx.base/src/main/java/javafx/beans/InvalidationListener.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/javafx/beans/InvalidationListener.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
@@ -31,7 +31,7 @@
  * An {@code InvalidationListener} is notified whenever an
  * {@link Observable} becomes invalid. It can be registered and
  * unregistered with {@link Observable#addListener(InvalidationListener)}
- * respectively {@link Observable#removeListener(InvalidationListener)}
+ * respectively {@link Observable#removeListener(InvalidationListener)}.
  * <p>
  * For an in-depth explanation of invalidation events and how they differ from
  * change events, see the documentation of {@code ObservableValue}.
--- a/modules/javafx.base/src/main/java/javafx/beans/WeakInvalidationListener.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/javafx/beans/WeakInvalidationListener.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
@@ -29,18 +29,18 @@
 import javafx.beans.NamedArg;
 
 /**
- * A {@code WeakInvalidationListener} can be used, if an {@link Observable}
+ * A {@code WeakInvalidationListener} can be used if an {@link Observable}
  * should only maintain a weak reference to the listener. This helps to avoid
- * memory leaks, that can occur if observers are not unregistered from observed
+ * memory leaks that can occur if observers are not unregistered from observed
  * objects after use.
  * <p>
- * {@code WeakInvalidationListener} are created by passing in the original
+ * A {@code WeakInvalidationListener} is created by passing in the original
  * {@link InvalidationListener}. The {@code WeakInvalidationListener} should
  * then be registered to listen for changes of the observed object.
  * <p>
- * Note: You have to keep a reference to the {@code InvalidationListener}, that
- * was passed in as long as it is in use, otherwise it will be garbage collected
- * to soon.
+ * Note: You have to keep a reference to the {@code InvalidationListener} that
+ * was passed in as long as it is in use, otherwise it can be garbage collected
+ * too soon.
  *
  * @see InvalidationListener
  * @see Observable
--- a/modules/javafx.base/src/main/java/javafx/beans/binding/Bindings.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/javafx/beans/binding/Bindings.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.base/src/main/java/javafx/beans/value/ChangeListener.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/javafx/beans/value/ChangeListener.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.base/src/main/java/javafx/beans/value/ObservableValue.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/javafx/beans/value/ObservableValue.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
@@ -44,8 +44,8 @@
  * <p>
  * An {@code ObservableValue} generates two types of events: change events and
  * invalidation events. A change event indicates that the value has changed. An
- * invalidation event is generated, if the current value is not valid anymore.
- * This distinction becomes important, if the {@code ObservableValue} supports
+ * invalidation event is generated if the current value is not valid anymore.
+ * This distinction becomes important if the {@code ObservableValue} supports
  * lazy evaluation, because for a lazily evaluated value one does not know if an
  * invalid value really has changed until it is recomputed. For this reason,
  * generating change events requires eager evaluation while invalidation events
@@ -108,7 +108,7 @@
     void addListener(ChangeListener<? super T> listener);
 
     /**
-     * Removes the given listener from the list of listeners, that are notified
+     * Removes the given listener from the list of listeners that are notified
      * whenever the value of the {@code ObservableValue} changes.
      * <p>
      * If the given listener has not been previously registered (i.e. it was
--- a/modules/javafx.base/src/main/java/javafx/collections/FXCollections.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/javafx/collections/FXCollections.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.base/src/main/java/javafx/collections/ListChangeListener.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/javafx/collections/ListChangeListener.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.base/src/main/java/module-info.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/main/java/module-info.java	Fri Aug 10 15:30:29 2018 -0700
@@ -68,7 +68,8 @@
         javafx.controls,
         javafx.graphics,
         javafx.fxml,
-        javafx.swing;
+        javafx.swing,
+        javafx.web;
     exports com.sun.javafx.property to
         javafx.controls;
     exports com.sun.javafx.reflect to
--- a/modules/javafx.base/src/test/java/test/com/sun/javafx/binding/ErrorLoggingUtiltity.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/com/sun/javafx/binding/ErrorLoggingUtiltity.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -25,72 +25,45 @@
 
 package test.com.sun.javafx.binding;
 
+import static org.junit.Assert.*;
+
+import com.sun.javafx.logging.PlatformLogger.Level;
+
 import com.sun.javafx.binding.Logging;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.LogManager;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
-import static org.junit.Assert.*;
+import com.sun.javafx.binding.Logging.ErrorLogger.ErrorLogRecord;
+import com.sun.javafx.binding.Logging.ErrorLogger;
 
 public class ErrorLoggingUtiltity {
 
-    static {
-        // initialize PlatformLogger
-        Logging.getLogger();
+    private static ErrorLogger errorLogger = Logging.getLogger();
+
+    public static void reset() {
+        errorLogger.setErrorLogRecord(null);
     }
 
-    // getLogManager will redirect existing PlatformLogger to the Logger
-    private static final Logger logger = LogManager.getLogManager().getLogger("javafx.beans");
-
-    Level level;
-    LogRecord lastRecord;
-
-    Handler handler = new Handler() {
-
-        @Override
-        public void publish(LogRecord record) {
-            lastRecord = record;
-        }
-
-        @Override
-        public void flush() {
-        }
-
-        @Override
-        public void close() throws SecurityException {
-        }
-    };
-
-    public void start() {
-        reset();
-        level = logger.getLevel();
-        logger.setLevel(Level.ALL);
-        logger.addHandler(handler);
+    public static boolean isEmpty() {
+        return errorLogger.getErrorLogRecord() == null;
     }
 
-    public void stop() {
-        logger.setLevel(level);
-        logger.removeHandler(handler);
-    }
-
-    public void reset() {
-        lastRecord = null;
-    }
-
-    public void checkFine(Class expectedException) {
+    /**
+     * Convenience method for check(Level.FINE, expectedException)
+     */
+    public static void checkFine(Class<?> expectedException) {
         check(Level.FINE, expectedException);
     }
 
-    public void check(Level expectedLevel, Class expectedException) {
-        assertNotNull(lastRecord);
-        assertEquals(expectedLevel, lastRecord.getLevel());
-        assertTrue(expectedException.isAssignableFrom(lastRecord.getThrown().getClass()));
+    /**
+     * Convenience method for check(Level.WARNING, expectedException)
+     */
+    public static void checkWarning(Class<?> expectedException) {
+        check(Level.WARNING, expectedException);
+    }
+
+    public static void check(Level expectedLevel, Class<?> expectedException) {
+        ErrorLogRecord errorLogRecord = errorLogger.getErrorLogRecord();
+        assertNotNull(errorLogRecord);
+        assertEquals(expectedLevel, errorLogRecord.getLevel());
+        assertTrue(expectedException.isAssignableFrom(errorLogRecord.getThrown().getClass()));
         reset();
     }
-
-    public boolean isEmpty() {
-        return lastRecord == null;
-    }
 }
--- a/modules/javafx.base/src/test/java/test/com/sun/javafx/binding/SelectBindingTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/com/sun/javafx/binding/SelectBindingTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -24,7 +24,6 @@
  */
 package test.com.sun.javafx.binding;
 
-import com.sun.javafx.binding.Logging;
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
 import java.util.ArrayList;
@@ -42,8 +41,6 @@
 import javafx.beans.binding.StringBinding;
 import test.javafx.binding.Variable;
 import javafx.collections.ObservableList;
-import com.sun.javafx.logging.PlatformLogger.Level;
-import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -104,17 +101,10 @@
     private StringBinding select;
     private ObservableList<?> dependencies;
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     @BeforeClass
     public static void setUpClass() {
         System.err.println("SelectBindingTest : log messages are expected from these tests.");
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Before
@@ -140,7 +130,7 @@
         assertEquals(person2, objectBinding.get());
         b.setNext(null);
         assertEquals(null, objectBinding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
@@ -180,7 +170,7 @@
         assertEquals("P2", objectBinding.get());
         b.setNext(null);
         assertEquals(null, objectBinding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
@@ -208,7 +198,7 @@
         assertEquals(true, binding1.get());
         b.setNext(null);
         assertEquals(false, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         person.setData(false);
         b.setNext(person);
@@ -218,10 +208,10 @@
         assertEquals(true, binding2.get());
         person.setData(null);
         assertEquals(false, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         b.setNext(null);
         assertEquals(false, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
@@ -250,7 +240,7 @@
         assertEquals(Math.PI, binding1.get(), EPSILON_DOUBLE);
         b.setNext(null);
         assertEquals(0.0, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         person.setData(-Math.E);
         b.setNext(person);
@@ -260,10 +250,10 @@
         assertEquals(Math.PI, binding2.get(), EPSILON_DOUBLE);
         person.setData(null);
         assertEquals(0.0, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         b.setNext(null);
         assertEquals(0.0, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
@@ -292,7 +282,7 @@
         assertEquals((float) Math.PI, binding1.get(), EPSILON_FLOAT);
         b.setNext(null);
         assertEquals(0.0f, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         person.setData((float) -Math.E);
         b.setNext(person);
@@ -302,10 +292,10 @@
         assertEquals((float) Math.PI, binding2.get(), EPSILON_FLOAT);
         person.setData(null);
         assertEquals(0.0f, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         b.setNext(null);
         assertEquals(0.0f, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
@@ -335,7 +325,7 @@
         assertEquals(-18, binding1.get());
         b.setNext(null);
         assertEquals(0, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         person.setData(42);
         b.setNext(person);
@@ -345,10 +335,10 @@
         assertEquals(-18, binding2.get());
         person.setData(null);
         assertEquals(0, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         b.setNext(null);
         assertEquals(0, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
@@ -375,7 +365,7 @@
         assertEquals(-987654321234567890L, binding1.get());
         b.setNext(null);
         assertEquals(0L, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         person.setData(1234567890987654321L);
         b.setNext(person);
@@ -385,10 +375,10 @@
         assertEquals(-987654321234567890L, binding2.get());
         person.setData(null);
         assertEquals(0L, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         b.setNext(null);
         assertEquals(0L, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -404,7 +394,7 @@
         assertEquals("b", select.get());
         a.setName(null);
         assertNull(select.get());
-        log.check(java.util.logging.Level.WARNING, NullPointerException.class);
+        ErrorLoggingUtiltity.checkWarning(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -416,10 +406,9 @@
     public void testNullIsReturnedFromAChainWithAPropertyThatIsNotOnTheAvailableObject() {
         select = Bindings.selectString(a.nextProperty(), "dummy", "name");
         assertNull(select.get());
-        log.check(java.util.logging.Level.WARNING, NoSuchMethodException.class);
+        ErrorLoggingUtiltity.checkWarning(NoSuchMethodException.class);
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testAllMembersHaveListeners() {
         // As yet, there should still be no listeners registered
@@ -443,7 +432,6 @@
         assertEquals(Arrays.asList(a.nextProperty(), b.nextProperty(), c.nameProperty()), dependencies);
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testWhenAValidChangeIsBrokenBySettingTheRootToNullThenTheValueIsNull() {
 
@@ -452,24 +440,22 @@
         assertEquals(Arrays.asList(a.nextProperty()), dependencies);
         assertNull(select.get());
         assertEquals(Arrays.asList(a.nextProperty()), dependencies);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testWhenAnIncompleteChainIsMadeCompleteThatTheValueIsComputedCorrectly() {
 
         a.setNext(null);
         select.get(); // force it to be validated, for fun
-        log.reset();
+        ErrorLoggingUtiltity.reset();
         a.setNext(b);
         assertEquals(Arrays.asList(a.nextProperty()), dependencies);
         assertEquals("c", select.get());
         assertEquals(Arrays.asList(a.nextProperty(), b.nextProperty(), c.nameProperty()), dependencies);
-        assertTrue(log.isEmpty());
+        assertTrue(ErrorLoggingUtiltity.isEmpty());
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testWhenAValidChangeIsBrokenBySettingTheMiddleToNullThenTheValueIsNull() {
 
@@ -478,49 +464,45 @@
         assertEquals(Arrays.asList(a.nextProperty()), dependencies);
         assertNull(select.get());
         assertEquals(Arrays.asList(a.nextProperty(), b.nextProperty()), dependencies);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testWhenAnIncompleteChainIsMadeCompleteInTheMiddleThatTheValueIsComputedCorrectly() {
 
         b.setNext(null);
         select.get();
-        log.reset();
+        ErrorLoggingUtiltity.reset();
         b.setNext(c);
         assertEquals(Arrays.asList(a.nextProperty()), dependencies);
         assertEquals("c", select.get());
         assertEquals(Arrays.asList(a.nextProperty(), b.nextProperty(), c.nameProperty()), dependencies);
-        assertTrue(log.isEmpty());
+        assertTrue(ErrorLoggingUtiltity.isEmpty());
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testWhenAValidChangeIsBrokenBySettingTheLastLinkToNullThenTheValueIsNull() {
-        log.reset();
+        ErrorLoggingUtiltity.reset();
         assertEquals("c", select.get());
         c.setName("d");
         assertEquals(Arrays.asList(a.nextProperty()), dependencies);
         assertEquals("d", select.get());
         assertEquals(Arrays.asList(a.nextProperty(), b.nextProperty(), c.nameProperty()), dependencies);
-        assertTrue(log.isEmpty());
+        assertTrue(ErrorLoggingUtiltity.isEmpty());
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testWhenAnIncompleteChainIsMadeCompleteAtTheEndThatTheValueIsComputedCorrectly() {
-        log.reset();
+        ErrorLoggingUtiltity.reset();
         c.setName("d");
         select.get();
         c.setName("c");
         assertEquals(Arrays.asList(a.nextProperty()), dependencies);
         assertEquals("c", select.get());
         assertEquals(Arrays.asList(a.nextProperty(), b.nextProperty(), c.nameProperty()), dependencies);
-        assertTrue(log.isEmpty());
+        assertTrue(ErrorLoggingUtiltity.isEmpty());
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testSettingTheRootValueToNullInAChainShouldUnhookAllListeners() {
         select.get();
@@ -554,7 +536,6 @@
      * Do note that the only listeners that are installed in this method are
      * done by the select binding.
      */
-    @SuppressWarnings("unchecked")
     @Test
     public void stressTestRandomOperationsResultInCorrectListenersInstalled() {
 
--- a/modules/javafx.base/src/test/java/test/com/sun/javafx/runtime/VersionInfoTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/com/sun/javafx/runtime/VersionInfoTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -89,7 +89,7 @@
         String version = VersionInfo.getVersion();
         // Need to update major version number when we develop the next
         // major release.
-        assertTrue(version.startsWith("11"));
+        assertTrue(version.startsWith("12"));
         String runtimeVersion = VersionInfo.getRuntimeVersion();
         assertTrue(runtimeVersion.startsWith(version));
     }
--- a/modules/javafx.base/src/test/java/test/javafx/beans/property/BooleanPropertyTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/beans/property/BooleanPropertyTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,17 +25,14 @@
 
 package test.javafx.beans.property;
 
-
 import javafx.beans.InvalidationListener;
 import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import javafx.beans.binding.ObjectExpression;
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ObjectProperty;
 import javafx.beans.property.SimpleBooleanProperty;
 import javafx.beans.property.SimpleObjectProperty;
-import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -50,16 +47,9 @@
     private static final boolean VALUE_2 = false;
     private static final boolean DEFAULT = false;
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Test
@@ -67,7 +57,7 @@
         final BooleanProperty p = new SimpleBooleanProperty(VALUE_1);
         p.setValue(null);
         assertEquals(DEFAULT, p.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
--- a/modules/javafx.base/src/test/java/test/javafx/beans/property/DoublePropertyTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/beans/property/DoublePropertyTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,7 +25,6 @@
 
 package test.javafx.beans.property;
 
-
 import javafx.beans.InvalidationListener;
 import javafx.beans.property.DoubleProperty;
 import javafx.beans.property.ObjectProperty;
@@ -34,7 +33,6 @@
 import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -50,16 +48,9 @@
     private static final double DEFAULT = 0.0;
     private static final double EPSILON = 1e-12;
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Test
@@ -67,7 +58,7 @@
         final DoubleProperty p = new SimpleDoubleProperty(VALUE_1);
         p.setValue(null);
         assertEquals(DEFAULT, p.get(), EPSILON);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
--- a/modules/javafx.base/src/test/java/test/javafx/beans/property/FloatPropertyTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/beans/property/FloatPropertyTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,7 +25,6 @@
 
 package test.javafx.beans.property;
 
-
 import javafx.beans.InvalidationListener;
 import javafx.beans.property.FloatProperty;
 import javafx.beans.property.ObjectProperty;
@@ -34,7 +33,6 @@
 import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -50,16 +48,9 @@
     private static final float DEFAULT = 0.0f;
     private static final float EPSILON = 1e-6f;
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Test
@@ -67,7 +58,7 @@
         final FloatProperty p = new SimpleFloatProperty(VALUE_1);
         p.setValue(null);
         assertEquals(DEFAULT, p.get(), EPSILON);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
--- a/modules/javafx.base/src/test/java/test/javafx/beans/property/IntegerPropertyTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/beans/property/IntegerPropertyTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,7 +25,6 @@
 
 package test.javafx.beans.property;
 
-
 import javafx.beans.InvalidationListener;
 import javafx.beans.property.IntegerProperty;
 import javafx.beans.property.ObjectProperty;
@@ -34,7 +33,6 @@
 import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -49,16 +47,9 @@
     private static final int VALUE_2 = -13;
     private static final int DEFAULT = 0;
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Test
@@ -66,7 +57,7 @@
         final IntegerProperty p = new SimpleIntegerProperty(VALUE_1);
         p.setValue(null);
         assertEquals(DEFAULT, p.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
--- a/modules/javafx.base/src/test/java/test/javafx/beans/property/LongPropertyTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/beans/property/LongPropertyTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,7 +25,6 @@
 
 package test.javafx.beans.property;
 
-
 import javafx.beans.InvalidationListener;
 import javafx.beans.property.LongProperty;
 import javafx.beans.property.ObjectProperty;
@@ -34,7 +33,6 @@
 import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -49,16 +47,9 @@
     private static final long VALUE_2 = -987654321L;
     private static final long DEFAULT = 0L;
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Test
@@ -66,7 +57,7 @@
         final LongProperty p = new SimpleLongProperty(VALUE_1);
         p.setValue(null);
         assertEquals(DEFAULT, p.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test
--- a/modules/javafx.base/src/test/java/test/javafx/binding/BindingsArrayTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/binding/BindingsArrayTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -35,7 +35,6 @@
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
 import javafx.collections.ObservableFloatArray;
 import javafx.collections.ObservableIntegerArray;
-import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -52,8 +51,6 @@
     private static final Object data1 = new Object();
     private static final Object data2 = new Object();
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     private ListProperty<Object> property;
     private ObservableList<Object> list1;
     private ObservableList<Object> list2;
@@ -61,12 +58,7 @@
 
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Before
@@ -155,46 +147,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), property);
         DependencyUtils.checkDependencies(binding2.getDependencies(), property);
         assertNull(binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(list1);
         assertEquals(data1, binding0.get());
         assertEquals(data2, binding1.get());
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.remove(data2);
         assertEquals(data1, binding0.get());
         assertNull(binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(list2);
         assertNull(binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.addAll(data2, data2);
         assertEquals(data2, binding0.get());
         assertEquals(data2, binding1.get());
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(null);
         assertNull(binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -214,60 +206,60 @@
 
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(list1);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(data1, binding.get());
         index.set(1);
         assertEquals(data2, binding.get());
         index.set(2);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.remove(data2);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(data1, binding.get());
         index.set(1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(list2);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.addAll(data2, data2);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(data2, binding.get());
         index.set(1);
         assertEquals(data2, binding.get());
         index.set(2);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(null);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -296,46 +288,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -363,71 +355,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -457,46 +449,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get(), EPSILON_DOUBLE);
         assertEquals(localData2, binding1.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get(), EPSILON_DOUBLE);
         assertEquals(localData2, binding1.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -524,71 +516,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get(), EPSILON_DOUBLE);
         index.set(1);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(2);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get(), EPSILON_DOUBLE);
         index.set(1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(1);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(2);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -618,46 +610,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get(), EPSILON_FLOAT);
         assertEquals(localData2, binding1.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get(), EPSILON_FLOAT);
         assertEquals(localData2, binding1.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -685,71 +677,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get(), EPSILON_FLOAT);
         index.set(1);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(2);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get(), EPSILON_FLOAT);
         index.set(1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(1);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(2);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -779,46 +771,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -846,71 +838,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -940,46 +932,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -1007,71 +999,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -1101,46 +1093,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -1168,60 +1160,60 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
--- a/modules/javafx.base/src/test/java/test/javafx/binding/BindingsCreateBindingTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/binding/BindingsCreateBindingTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -40,7 +40,6 @@
 import javafx.beans.property.SimpleObjectProperty;
 import javafx.beans.property.SimpleStringProperty;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -56,8 +55,6 @@
     private static final float EPSILON_FLOAT = 1e-5f;
     private static final double EPSILON_DOUBLE = 1e-10;
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     private static interface Functions<S> {
         public Binding<S> create(Callable<S> func, Observable... dependencies);
         public void check(S value0, S value1);
@@ -72,12 +69,7 @@
 
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     public BindingsCreateBindingTest(Property<T> p0, Property<T> p1, Functions<T> f, T value0, T value1, T defaultValue) {
@@ -114,7 +106,7 @@
         final Binding<T> binding2 = f.create(func2, new Observable [0]);
 
         f.check(defaultValue, binding2.getValue());
-        log.check(java.util.logging.Level.WARNING, Exception.class);
+        ErrorLoggingUtiltity.checkWarning(Exception.class);
         assertTrue(binding2.getDependencies().isEmpty());
         binding2.dispose();
     }
--- a/modules/javafx.base/src/test/java/test/javafx/binding/BindingsListTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/binding/BindingsListTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -33,7 +33,6 @@
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -50,8 +49,6 @@
     private static final Object data1 = new Object();
     private static final Object data2 = new Object();
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     private ListProperty<Object> property;
     private ObservableList<Object> list1;
     private ObservableList<Object> list2;
@@ -59,12 +56,7 @@
 
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Before
@@ -153,46 +145,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), property);
         DependencyUtils.checkDependencies(binding2.getDependencies(), property);
         assertNull(binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(list1);
         assertEquals(data1, binding0.get());
         assertEquals(data2, binding1.get());
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.remove(data2);
         assertEquals(data1, binding0.get());
         assertNull(binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(list2);
         assertNull(binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.addAll(data2, data2);
         assertEquals(data2, binding0.get());
         assertEquals(data2, binding1.get());
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(null);
         assertNull(binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -212,60 +204,60 @@
 
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(list1);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(data1, binding.get());
         index.set(1);
         assertEquals(data2, binding.get());
         index.set(2);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.remove(data2);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(data1, binding.get());
         index.set(1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(list2);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.addAll(data2, data2);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(data2, binding.get());
         index.set(1);
         assertEquals(data2, binding.get());
         index.set(2);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         property.set(null);
         index.set(-1);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertNull(binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -294,46 +286,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -361,71 +353,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -455,46 +447,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get(), EPSILON_DOUBLE);
         assertEquals(localData2, binding1.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get(), EPSILON_DOUBLE);
         assertEquals(localData2, binding1.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -522,71 +514,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get(), EPSILON_DOUBLE);
         index.set(1);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(2);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get(), EPSILON_DOUBLE);
         index.set(1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(1);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(2);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -616,46 +608,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get(), EPSILON_FLOAT);
         assertEquals(localData2, binding1.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get(), EPSILON_FLOAT);
         assertEquals(localData2, binding1.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -683,71 +675,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get(), EPSILON_FLOAT);
         index.set(1);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(2);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get(), EPSILON_FLOAT);
         index.set(1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(1);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(2);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -777,46 +769,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -844,71 +836,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -938,46 +930,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -1005,71 +997,71 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(0, null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -1099,46 +1091,46 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -1166,60 +1158,60 @@
 
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.remove(1);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData1, binding.get());
         index.set(1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(localList2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.addAll(localData2, localData2);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(localData2, binding.get());
         index.set(1);
         assertEquals(localData2, binding.get());
         index.set(2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         localProperty.set(null);
         index.set(-1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         index.set(0);
         assertEquals(defaultData, binding.get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = NullPointerException.class)
--- a/modules/javafx.base/src/test/java/test/javafx/binding/BindingsMapTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/binding/BindingsMapTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -34,7 +34,6 @@
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableMap;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -52,8 +51,6 @@
     private static final Object data1 = new Object();
     private static final Object data2 = new Object();
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     private MapProperty<String, Object> property;
     private ObservableMap<String, Object> map1;
     private ObservableMap<String, Object> map2;
@@ -61,12 +58,7 @@
 
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Before
@@ -275,47 +267,47 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -339,61 +331,61 @@
 
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get());
         index.set(key2);
         assertEquals(localData2, binding.get());
         index.set(key3);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get());
         index.set(key2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData2, binding.get());
         index.set(key2);
         assertEquals(localData2, binding.get());
         index.set(key3);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -425,47 +417,47 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         assertEquals(localData1, binding0.get(), EPSILON_DOUBLE);
         assertEquals(localData2, binding1.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         assertEquals(localData1, binding0.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         assertEquals(localData2, binding0.get(), EPSILON_DOUBLE);
         assertEquals(localData2, binding1.get(), EPSILON_DOUBLE);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -489,61 +481,61 @@
 
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get(), EPSILON_DOUBLE);
         index.set(key2);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(key3);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get(), EPSILON_DOUBLE);
         index.set(key2);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(key2);
         assertEquals(localData2, binding.get(), EPSILON_DOUBLE);
         index.set(key3);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get(), EPSILON_DOUBLE);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -575,47 +567,47 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         assertEquals(localData1, binding0.get(), EPSILON_FLOAT);
         assertEquals(localData2, binding1.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         assertEquals(localData1, binding0.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         assertEquals(localData2, binding0.get(), EPSILON_FLOAT);
         assertEquals(localData2, binding1.get(), EPSILON_FLOAT);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -639,61 +631,61 @@
 
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get(), EPSILON_FLOAT);
         index.set(key2);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(key3);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get(), EPSILON_FLOAT);
         index.set(key2);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(key2);
         assertEquals(localData2, binding.get(), EPSILON_FLOAT);
         index.set(key3);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         index.set(null);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get(), EPSILON_FLOAT);
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -725,47 +717,47 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -789,61 +781,61 @@
 
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get());
         index.set(key2);
         assertEquals(localData2, binding.get());
         index.set(key3);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get());
         index.set(key2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData2, binding.get());
         index.set(key2);
         assertEquals(localData2, binding.get());
         index.set(key3);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -875,47 +867,47 @@
         DependencyUtils.checkDependencies(binding1.getDependencies(), localProperty);
         DependencyUtils.checkDependencies(binding2.getDependencies(), localProperty);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         assertEquals(localData1, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         assertEquals(localData1, binding0.get());
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         assertEquals(localData2, binding0.get());
         assertEquals(localData2, binding1.get());
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         assertEquals(defaultData, binding0.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding1.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         assertEquals(defaultData, binding2.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
@@ -939,61 +931,61 @@
 
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap1);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get());
         index.set(key2);
         assertEquals(localData2, binding.get());
         index.set(key3);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.remove(key2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData1, binding.get());
         index.set(key2);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(localMap2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.put(key1, localData2);
         localProperty.put(key2, localData2);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(localData2, binding.get());
         index.set(key2);
         assertEquals(localData2, binding.get());
         index.set(key3);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
 
         localProperty.set(null);
         index.set(null);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
         index.set(key1);
         assertEquals(defaultData, binding.get());
-        log.checkFine(NullPointerException.class);
+        ErrorLoggingUtiltity.checkFine(NullPointerException.class);
     }
 
     @Test(expected = NullPointerException.class)
--- a/modules/javafx.base/src/test/java/test/javafx/binding/expression/ListExpressionTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.base/src/test/java/test/javafx/binding/expression/ListExpressionTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -36,7 +36,6 @@
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
 import test.com.sun.javafx.binding.ErrorLoggingUtiltity;
-import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -50,8 +49,6 @@
     private static final Integer data2_1 = -3;
     private static final Integer datax = Integer.MAX_VALUE;
 
-    private static final ErrorLoggingUtiltity log = new ErrorLoggingUtiltity();
-
     private ListProperty<Integer> opNull;
     private ListProperty<Integer> opEmpty;
     private ListProperty<Integer> op1;
@@ -67,12 +64,7 @@
 
     @BeforeClass
     public static void setUpClass() {
-        log.start();
-    }
-
-    @AfterClass
-    public static void tearDownClass() {
-        log.stop();
+        ErrorLoggingUtiltity.reset();
     }
 
     @Test
@@ -86,18 +78,18 @@
     @Test
     public void testValueAt_Constant() {
         assertNull(opNull.valueAt(0).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(opEmpty.valueAt(0).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         assertEquals(data1_0, op1.valueAt(0).get());
         assertNull(op1.valueAt(1).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         assertEquals(data2_0, op2.valueAt(0).get());
         assertEquals(data2_1, op2.valueAt(1).get());
         assertNull(op2.valueAt(2).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test(expected = IllegalArgumentException.class)
@@ -110,40 +102,40 @@
         final IntegerProperty index = new SimpleIntegerProperty(-1);
 
         assertNull(opNull.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(opEmpty.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(op1.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(op2.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
 
         index.set(0);
         assertNull(opNull.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(opEmpty.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(data1_0, op1.valueAt(index).get());
         assertEquals(data2_0, op2.valueAt(index).get());
 
         index.set(1);
         assertNull(opNull.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(opEmpty.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(op1.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertEquals(data2_1, op2.valueAt(index).get());
 
         index.set(2);
         assertNull(opNull.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(opEmpty.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(op1.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
         assertNull(op2.valueAt(index).get());
-        log.checkFine(IndexOutOfBoundsException.class);
+        ErrorLoggingUtiltity.checkFine(IndexOutOfBoundsException.class);
     }
 
     @Test
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Dialog.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Dialog.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/skin/TextAreaSkin.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/skin/TextAreaSkin.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.controls/src/test/java/test/javafx/scene/control/ToggleButtonTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.controls/src/test/java/test/javafx/scene/control/ToggleButtonTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
@@ -25,16 +25,12 @@
 
 package test.javafx.scene.control;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
 import static test.com.sun.javafx.scene.control.infrastructure.ControlTestUtils.*;
 
 import test.com.sun.javafx.pgstub.StubToolkit;
+import com.sun.javafx.logging.PlatformLogger;
 import com.sun.javafx.tk.Toolkit;
 import javafx.event.ActionEvent;
-import javafx.event.Event;
-import javafx.event.EventHandler;
 import javafx.event.EventType;
 import javafx.geometry.Pos;
 import javafx.scene.Node;
@@ -43,7 +39,6 @@
 import javafx.scene.shape.Rectangle;
 import static org.junit.Assert.*;
 
-
 import org.junit.Before;
 import org.junit.Test;
 
@@ -188,9 +183,9 @@
         });
         toggle.fire();
         try {
-            Thread.currentThread().sleep(2000);
+            Thread.sleep(2000);
         } catch (InterruptedException ex) {
-            Logger.getLogger(ToggleButtonTest.class.getName()).log(Level.SEVERE, null, ex);
+            PlatformLogger.getLogger(ToggleButtonTest.class.getName()).severe(null, ex);
         }
         assertTrue("fire() doesnt emit ActionEvent!", flag[0]);
     }
--- a/modules/javafx.controls/src/test/java/test/javafx/scene/control/ToolbarTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.controls/src/test/java/test/javafx/scene/control/ToolbarTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.fxml/src/main/docs/javafx/fxml/doc-files/introduction_to_fxml.html	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.fxml/src/main/docs/javafx/fxml/doc-files/introduction_to_fxml.html	Fri Aug 10 15:30:29 2018 -0700
@@ -2,7 +2,7 @@
 
 <!--
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
--- a/modules/javafx.fxml/src/main/java/com/sun/javafx/fxml/MethodHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.fxml/src/main/java/com/sun/javafx/fxml/MethodHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, 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
--- a/modules/javafx.fxml/src/main/java/javafx/fxml/JavaFXBuilderFactory.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.fxml/src/main/java/javafx/fxml/JavaFXBuilderFactory.java	Fri Aug 10 15:30:29 2018 -0700
@@ -31,6 +31,7 @@
 import com.sun.javafx.fxml.builder.ProxyBuilder;
 import com.sun.javafx.fxml.builder.TriangleMeshBuilder;
 import com.sun.javafx.fxml.builder.URLBuilder;
+import com.sun.javafx.logging.PlatformLogger;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Array;
 import java.lang.reflect.Constructor;
@@ -48,8 +49,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.beans.NamedArg;
@@ -310,15 +309,15 @@
 
                         m.invoke(builder, new Object[] { BeanAdapter.coerce(value, type) });
                     } catch (Exception e) {
-                        Logger.getLogger(ObjectBuilderWrapper.class.getName()).log(Level.WARNING,
-                                "Method " + m.getName() + " failed", e);
+                        String msg = "Method " + m.getName() + " failed";
+                        PlatformLogger.getLogger(ObjectBuilderWrapper.class.getName()).warning(msg, e);
                     }
                     //TODO Is it OK to return null here?
                     return null;
                 } catch (Exception e) {
                     //TODO Should be reported
-                    Logger.getLogger(ObjectBuilderWrapper.class.getName()).log(Level.WARNING,
-                            "Failed to set "+getTargetClass()+"."+key+" using "+builderClass, e);
+                    String msg = "Failed to set " + getTargetClass()+"." + key + " using " + builderClass;
+                    PlatformLogger.getLogger(ObjectBuilderWrapper.class.getName()).warning(msg, e);
                     return null;
                 }
             }
--- a/modules/javafx.fxml/src/main/java/module-info.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.fxml/src/main/java/module-info.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
@@ -30,7 +30,6 @@
  * @since 9
  */
 module javafx.fxml {
-    requires java.logging;
     requires java.scripting;
     requires java.xml;
     requires javafx.graphics;
@@ -38,5 +37,4 @@
     requires transitive javafx.base;
 
     exports javafx.fxml;
-
 }
--- a/modules/javafx.graphics/src/main/docs/javafx/scene/doc-files/cssref.html	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/docs/javafx/scene/doc-files/cssref.html	Fri Aug 10 15:30:29 2018 -0700
@@ -2,7 +2,7 @@
 
 <!--
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/Application.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/Application.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/GlassRobot.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/GlassRobot.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/gtk/GtkRobot.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/gtk/GtkRobot.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/ios/IosApplication.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/ios/IosApplication.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/ios/IosRobot.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/ios/IosRobot.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/mac/MacApplication.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/mac/MacApplication.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/mac/MacRobot.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/mac/MacRobot.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/monocle/MonocleRobot.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/monocle/MonocleRobot.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/win/WinApplication.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/win/WinApplication.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/ui/win/WinRobot.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/win/WinRobot.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/glass/utils/NativeLibLoader.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/glass/utils/NativeLibLoader.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/application/HostServicesDelegate.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/application/HostServicesDelegate.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/font/freetype/PangoGlyphLayout.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/font/freetype/PangoGlyphLayout.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/iio/jpeg/JPEGImageLoader.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/iio/jpeg/JPEGImageLoader.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/CameraHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/CameraHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/ImageViewHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/ImageViewHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/LightBaseHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/LightBaseHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/NodeHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/NodeHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/ParentHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/ParentHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/SceneHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/SceneHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/SubSceneHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/SubSceneHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/canvas/CanvasHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/canvas/CanvasHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/shape/Shape3DHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/shape/Shape3DHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/shape/ShapeHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/scene/shape/ShapeHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/stage/StageHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/stage/StageHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/stage/WindowHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/stage/WindowHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/javafx/util/ModuleHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/javafx/util/ModuleHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -10,8 +10,7 @@
  *
  * 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
+ * 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).
  *
--- a/modules/javafx.graphics/src/main/java/com/sun/marlin/DPathConsumer2D.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/marlin/DPathConsumer2D.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, 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
--- a/modules/javafx.graphics/src/main/java/com/sun/prism/j2d/print/J2DPrinterJob.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/com/sun/prism/j2d/print/J2DPrinterJob.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/animation/Animation.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/animation/Animation.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/animation/Timeline.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/animation/Timeline.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/animation/Transition.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/animation/Transition.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/application/HostServices.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/application/HostServices.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/Node.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/Node.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1857,11 +1857,15 @@
      * Defines how the picking computation is done for this node when
      * triggered by a {@code MouseEvent} or a {@code contains} function call.
      *
-     * If {@code pickOnBounds} is true, then picking is computed by
+     * If {@code pickOnBounds} is {@code true}, then picking is computed by
      * intersecting with the bounds of this node, else picking is computed
      * by intersecting with the geometric shape of this node.
      *
-     * @defaultValue false
+     * The default value of this property is {@code false} unless
+     * overridden by a subclass. The default value is {@code true}
+     * for {@link javafx.scene.layout.Region}.
+     *
+     * @defaultValue false; true for {@code Region}
      */
     private BooleanProperty pickOnBounds;
 
@@ -10079,4 +10083,3 @@
     }
 
 }
-
--- a/modules/javafx.graphics/src/main/java/javafx/scene/Parent.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/Parent.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/canvas/Canvas.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/canvas/Canvas.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/canvas/GraphicsContext.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/canvas/GraphicsContext.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -706,7 +706,7 @@
         }
         buf.putByte(NGCanvas.PATHEND);
         // Transform needs to be updated for rendering attributes even though
-        // we have already trasnformed the points as we sent them.
+        // we have already transformed the points as we sent them.
         updateTransform();
         buf.putByte(command);
         // Now that we have changed the PG layer path, we need to mark our path dirty.
@@ -793,7 +793,7 @@
     private void reset() {
         GrowableDataBuffer buf = getBuffer();
         // Only reset if we have a significant amount of data to omit,
-        // this prevents a common occurence of "setFill(bg); fillRect();"
+        // this prevents a common occurrence of "setFill(bg); fillRect();"
         // at the start of a session from invoking a reset.
         // But, do a reset anyway if the rendering layer has been falling
         // behind because that lets the synchronization step throw out the
@@ -2609,7 +2609,7 @@
 
     /**
      * Draws an image into the given destination rectangle of the canvas. The
-     * Image is scaled to fit into the destination rectagnle.
+     * Image is scaled to fit into the destination rectangle.
      * A {@code null} image value or an image still in progress will be ignored.
      * <p>
      * This method will be affected by any of the
--- a/modules/javafx.graphics/src/main/java/javafx/scene/image/ImageView.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/image/ImageView.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/image/PixelFormat.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/image/PixelFormat.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -209,7 +209,7 @@
      * <p>
      * Pixels in this format can be decoded using the following sample code:
      * <pre>{@code
-     *     int pixel = array[rowstart + x] &amp; 0xff;
+     *     int pixel = array[rowstart + x] & 0xff;
      *     int argb  = colors[pixel];
      *
      *     int alpha = ((argb >> 24) & 0xff);
@@ -237,7 +237,7 @@
      * <p>
      * Pixels in this format can be decoded using the following sample code:
      * <pre>{@code
-     *     int pixel = array[rowstart + x] &amp; 0xff;
+     *     int pixel = array[rowstart + x] & 0xff;
      *     int argb  = colors[pixel];
      *
      *     int alpha = ((argb >> 24) & 0xff);
--- a/modules/javafx.graphics/src/main/java/javafx/scene/input/MouseEvent.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/input/MouseEvent.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/AnchorPane.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/AnchorPane.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderPane.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderPane.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderStroke.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderStroke.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -32,16 +32,17 @@
 import javafx.scene.shape.StrokeType;
 
 /**
- * Defines the stroke to use on a Border for styling a Region. The
- * stroke is a vector-based rendering that outlines the border area.
- * It can be inset (or outset) from the Region's edge, and the values
- * of the stroke are taken into account when computing the Region's
- * insets (for defining the content area). The stroke visuals are
- * not used when any BorderImages are in use.
+ * Defines the stroke to use on a {@link Border} for styling a {@code Region}.
+ * The stroke is a vector-based rendering that outlines the border area.
+ * It can be inset (or outset) from the {@code Region}'s edge, and the values
+ * of the stroke are taken into account when computing the {@code Region}'s
+ * insets (for defining the content area). The stroke visuals are not used when
+ * any {@link BorderImage}s are in use.
  * <p>
- * When applied to a Region with a defined shape, the border width
- * and stroking information for the {@code top} is used, while the
- * other attributes are ignored.
+ * When applied to a {@code Region} with a defined shape, the border width
+ * and stroking information for the {@code top} is used, while the other
+ * attributes are ignored.
+ *
  * @since JavaFX 8.0
  */
 public class BorderStroke {
@@ -70,7 +71,7 @@
      * Defines the fill of top side of this border.
      *
      * @return the fill of top side of this border
-     * @defaultValue black
+     * @defaultValue {@code Color.BLACK}
      */
     public final Paint getTopStroke() { return topStroke; }
     final Paint topStroke;
@@ -79,31 +80,31 @@
     // we use inherit. But first I'd like a performance analysis.
 
     /**
-     * Defines the fill of right side of this border. If {@code null} then the
-     * topFill is used.
+     * Defines the fill of right side of this border. If {@code null}, then the
+     * {@code topFill} is used.
      *
      * @return the fill of right side of this border
-     * @defaultValue null = same as topFill
+     * @defaultValue {@code null} (same as {@code topFill})
      */
     public final Paint getRightStroke() { return rightStroke; }
     final Paint rightStroke;
 
     /**
-     * Defines the fill of bottom side of this border. If {@code null} then the
-     * topFill is used.
+     * Defines the fill of bottom side of this border. If {@code null}, then the
+     * {@code topFill} is used.
      *
      * @return the fill of bottom side of this border
-     * @defaultValue null = same as topFill
+     * @defaultValue {@code null} (same as {@code topFill})
      */
     public final Paint getBottomStroke() { return bottomStroke; }
     final Paint bottomStroke;
 
     /**
-     * Defines the fill of left side of this border. If {@code null} then the
-     * rightFill is used.
+     * Defines the fill of left side of this border. If {@code null}, then the
+     * {@code rightFill} is used.
      *
      * @return the fill of left side of this border
-     * @defaultValue null = same sa rightFill
+     * @defaultValue {@code null} (same as {@code rightFill})
      */
     public final Paint getLeftStroke() { return leftStroke; }
     final Paint leftStroke;
@@ -112,55 +113,55 @@
      * Defines the style of top side of this border.
      *
      * @return the style of top side of this border
-     * @defaultValue none
+     * @defaultValue {@code BorderStrokeStyle.NONE}
      */
     public final BorderStrokeStyle getTopStyle() { return topStyle; }
     final BorderStrokeStyle topStyle;
 
     /**
-     * Defines the style of right side of this border. If {@code null} then
-     * topStyle is used;
+     * Defines the style of right side of this border. If {@code null}, then
+     * {@code topStyle} is used;
      *
      * @return the style of right side of this border
-     * @defaultValue null = same as topStyle
+     * @defaultValue {@code null} (same as {@code topStyle})
      */
     public final BorderStrokeStyle getRightStyle() { return rightStyle; }
     final BorderStrokeStyle rightStyle;
 
     /**
-     * Defines the style of bottom side of this border. If {@code null} then
-     * topStyle is used;  Use BorderStyle.NONE to set the border to
+     * Defines the style of bottom side of this border. If {@code null}, then
+     * {@code topStyle} is used;  Use {@code BorderStyle.NONE} to set the border to
      * have no border style.
      *
      * @return the style of bottom side of this border
-     * @defaultValue null = same as topStyle
+     * @defaultValue {@code null} (same as {@code topStyle})
      */
     public final BorderStrokeStyle getBottomStyle() { return bottomStyle; }
     final BorderStrokeStyle bottomStyle;
 
     /**
-     * Defines the style of left side of this border. If {@code null} then
-     * rightStyle is used. Use BorderStyle.NONE to set the border to
+     * Defines the style of left side of this border. If {@code null}, then
+     * {@code rightStyle} is used. Use {@code BorderStyle.NONE} to set the border to
      * have no border style.
      *
      * @return the style of left side of this border
-     * @defaultValue null = same as rightStyle
+     * @defaultValue {@code null} (same as {@code rightStyle})
      */
     public final BorderStrokeStyle getLeftStyle() { return leftStyle; }
     final BorderStrokeStyle leftStyle;
 
     /**
-     * Defines the thickness of each side of the BorderStroke. This will never
-     * be null, and defaults to DEFAULT_WIDTHS.
-     * @return the thickness of each side of the BorderStroke
+     * Defines the thickness of each side of the {@code BorderStroke}. This will never
+     * be {@code null}, and defaults to {@code DEFAULT_WIDTHS}.
+     * @return the thickness of each side of the {@code BorderStroke}
      */
     public final BorderWidths getWidths() { return widths; }
     final BorderWidths widths;
 
     /**
-     * Defines the insets of each side of the BorderStroke. This will never
-     * be null, and defaults to EMPTY.
-     * @return the insets of each side of the BorderStroke
+     * Defines the insets of each side of the {@code BorderStroke}. This will never
+     * be {@code null}, and defaults to {@code Insets.EMPTY}.
+     * @return the insets of each side of the {@code BorderStroke}
      */
     public final Insets getInsets() { return insets; }
     final Insets insets;
@@ -170,9 +171,9 @@
     final Insets outerEdge;
 
     /**
-     * Defines the radii for each corner of this BorderStroke. This will never
-     * be null, and defaults to CornerRadii.EMPTY.
-     * @return the radii for each corner of this BorderStroke
+     * Defines the radii for each corner of this {@code BorderStroke}. This will never
+     * be {@code null}, and defaults to {@code CornerRadii.EMPTY}.
+     * @return the radii for each corner of this {@code BorderStroke}
      */
     public final CornerRadii getRadii() { return radii; }
      /* TODO I should change CornerRadii to be 4 properties, one for each corner,
@@ -181,9 +182,9 @@
     private final CornerRadii radii;
 
     /**
-     * An uniform stroke has all (top, bottom, left, right) strokes of
-     * same color, width and style
-     * @return true if border stroke is uniform as defined above
+     * Checks if the stroke of this region is uniform. A uniform stroke has all its side
+     * strokes (top, bottom, left, right) of same color, width and style.
+     * @return {@code true} if border stroke is uniform
      */
     public final boolean isStrokeUniform() { return strokeUniform; }
     private final boolean strokeUniform;
@@ -194,12 +195,12 @@
     private final int hash;
 
     /**
-     * Creates a new BorderStroke.
+     * Creates a new {@code BorderStroke}.
      *
-     * @param stroke    The stroke to use for all sides. If null, we default to Color.BLACK.
-     * @param style     The style to use for all sides. If null, we default to BorderStrokeStyle.NONE
-     * @param radii     The radii to use. If null, we default to CornerRadii.EMPTY
-     * @param widths    The widths to use. If null, we default to DEFAULT_WIDTHS
+     * @param stroke    The stroke to use for all sides. If {@code null}, defaults to {@code Color.BLACK}.
+     * @param style     The style to use for all sides. If {@code null}, defaults to {@code BorderStrokeStyle.NONE}.
+     * @param radii     The radii to use. If {@code null}, defaults to {@code CornerRadii.EMPTY}.
+     * @param widths    The widths to use. If {@code null}, defaults to {@code DEFAULT_WIDTHS}.
      */
     public BorderStroke(@NamedArg("stroke") Paint stroke, @NamedArg("style") BorderStrokeStyle style, @NamedArg("radii") CornerRadii radii, @NamedArg("widths") BorderWidths widths) {
         // TODO: Note that we default to THIN, not to MEDIUM as the CSS spec says. So it will be
@@ -236,32 +237,34 @@
     }
 
     /**
-     * Creates a new BorderStroke.
+     * Creates a new {@code BorderStroke}.
      *
-     * @param stroke    The stroke to use for all sides. If null, we default to Color.BLACK.
-     * @param style     The style to use for all sides. If null, we default to BorderStrokeStyle.NONE
-     * @param radii     The radii to use. If null, we default to CornerRadii.EMPTY
-     * @param widths    The widths to use. If null, we default to DEFAULT_WIDTHS
+     * @param stroke    The stroke to use for all sides. If {@code null}, defaults to {@code Color.BLACK}.
+     * @param style     The style to use for all sides. If {@code null}, defaults to {@code BorderStrokeStyle.NONE}.
+     * @param radii     The radii to use. If {@code null}, defaults to {@code CornerRadii.EMPTY}.
+     * @param widths    The widths to use. If {@code null}, defaults to {@code DEFAULT_WIDTHS}.
      * @param insets    The insets indicating where to draw the border relative to the region edges.
+     *                  If {@code null}, defaults to {@code Insets.EMPTY}.
      */
     public BorderStroke(@NamedArg("stroke") Paint stroke, @NamedArg("style") BorderStrokeStyle style, @NamedArg("radii") CornerRadii radii, @NamedArg("widths") BorderWidths widths, @NamedArg("insets") Insets insets) {
         this(stroke, stroke, stroke, stroke, style, style, style, style, radii, widths, insets);
     }
 
     /**
-     * Create a new BorderStroke, specifying all construction parameters.
+     * Creates a new {@code BorderStroke}, specifying all construction parameters.
      *
-     * @param topStroke       The fill to use on the top. If null, defaults to BLACK.
-     * @param rightStroke     The fill to use on the right. If null, defaults to the same value as topStroke
-     * @param bottomStroke    The fill to use on the bottom. If null, defaults to the same value as bottomStroke
-     * @param leftStroke      The fill to use on the left. If null, defaults to the same value as rightStroke
-     * @param topStyle        The style to use on the top. If null, defaults to BorderStrokeStyle.NONE
-     * @param rightStyle      The style to use on the right. If null, defaults to the same value as topStyle
-     * @param bottomStyle     The style to use on the bottom. If null, defaults to the same value as topStyle
-     * @param leftStyle       The style to use on the left. If null, defaults to the same value as rightStyle
-     * @param radii           The radii. If null, we default to square corners by using CornerRadii.EMPTY
-     * @param widths          The thickness of each side. If null, we default to DEFAULT_WIDTHS.
-     * @param insets    The insets indicating where to draw the border relative to the region edges.
+     * @param topStroke       The fill to use on the top. If {@code null}, defaults to {@code Color.BLACK}.
+     * @param rightStroke     The fill to use on the right. If {@code null}, defaults to the same value as {@code topStroke}.
+     * @param bottomStroke    The fill to use on the bottom. If {@code null}, defaults to the same value as {@code topStroke}.
+     * @param leftStroke      The fill to use on the left. If {@code null}, defaults to the same value as {@code rightStroke}.
+     * @param topStyle        The style to use on the top. If {@code null}, defaults to {@code BorderStrokeStyle.NONE}.
+     * @param rightStyle      The style to use on the right. If {@code null}, defaults to the same value as {@code topStyle}.
+     * @param bottomStyle     The style to use on the bottom. If {@code null}, defaults to the same value as {@code topStyle}.
+     * @param leftStyle       The style to use on the left. If {@code null}, defaults to the same value as {@code rightStyle}.
+     * @param radii           The radii. If {@code null}, defaults to square corners by using {@code CornerRadii.EMPTY}.
+     * @param widths          The thickness of each side. If {@code null}, defaults to {@code DEFAULT_WIDTHS}.
+     * @param insets          The insets indicating where to draw the border relative to the region edges.
+     *                        If {@code null}, defaults to {@code Insets.EMPTY}.
      */
     public BorderStroke(
             @NamedArg("topStroke") Paint topStroke, @NamedArg("rightStroke") Paint rightStroke, @NamedArg("bottomStroke") Paint bottomStroke, @NamedArg("leftStroke") Paint leftStroke,
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/FlowPane.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/FlowPane.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/GridPane.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/GridPane.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/HBox.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/HBox.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/Pane.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/Pane.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/Region.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/Region.java	Fri Aug 10 15:30:29 2018 -0700
@@ -114,12 +114,10 @@
  * By default a Region appears as a Rectangle. A BackgroundFill radii might cause the Rectangle to appear rounded.
  * This affects not only making the visuals look like a rounded rectangle, but it also causes the picking behavior
  * of the Region to act like a rounded rectangle, such that locations outside the corner radii are ignored. A
- * Region can be made to use any shape, however, by specifing the {@code shape} property. If a shape is specified,
+ * Region can be made to use any shape, however, by specifying the {@code shape} property. If a shape is specified,
  * then all BackgroundFills, BackgroundImages, and BorderStrokes will be applied to the shape. BorderImages are
  * not used for Regions which have a shape specified.
  * <p>
- * A Region with a shape
- * <p>
  * Although the layout bounds of a Region are not influenced by any Border or Background, the content area
  * insets and the picking area of the Region are. The {@code insets} of the Region define the distance
  * between the edge of the layout bounds and the edge of the content area. For example, if the Region
@@ -571,7 +569,7 @@
     };
 
     {
-        // To initialize the class helper at the begining each constructor of this class
+        // To initialize the class helper at the beginning each constructor of this class
         RegionHelper.initHelper(this);
     }
 
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/StackPane.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/StackPane.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/TilePane.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/TilePane.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/VBox.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/VBox.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/layout/package.html	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/layout/package.html	Fri Aug 10 15:30:29 2018 -0700
@@ -2,7 +2,7 @@
 
 <!--
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/paint/Color.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/paint/Color.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
@@ -715,7 +715,7 @@
      * @param hueShift the hue shift
      * @param saturationFactor the saturation factor
      * @param brightnessFactor the brightness factor
-     * @param opacityFactor the brightness factor
+     * @param opacityFactor the opacity factor
      * @return a {@code Color} based based on this {@code Color} with hue,
      * saturation, brightness and opacity values altered.
      */
--- a/modules/javafx.graphics/src/main/java/javafx/scene/shape/Mesh.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/shape/Mesh.java	Fri Aug 10 15:30:29 2018 -0700
@@ -67,6 +67,9 @@
         });
     }
 
+    /**
+     * A constructor that is called by any {@code Mesh} implementation.
+     */
     protected Mesh() {
         if (!Platform.isSupported(ConditionalFeature.SCENE3D)) {
             String logname = Mesh.class.getName();
--- a/modules/javafx.graphics/src/main/java/javafx/scene/shape/Shape.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/shape/Shape.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/transform/MatrixType.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/transform/MatrixType.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
--- a/modules/javafx.graphics/src/main/java/javafx/scene/transform/Rotate.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/transform/Rotate.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -44,14 +44,12 @@
  * intermediate origin is restored to the coordinates of the original
  * anchor point (S3).
  * <p>
- * For example, the matrix representing the returned transform of
- *    new Rotate (theta, x, y, z) around the Z-axis
- *
- * is :
+ * The matrix representing the rotation transformation around an axis {@code (x,y,z)}
+ * by an angle {@code t} is as follows:
  * <pre>
- *              [   cos(theta)    -sin(theta)   0    x-x*cos+y*sin  ]
- *              [   sin(theta)     cos(theta)   0    y-x*sin-y*cos  ]
- *              [      0               0        1          z        ]
+ *              [   cos(t)   -sin(t)   0   x-x*cos(t)+y*sin(t)   ]
+ *              [   sin(t)    cos(t)   0   y-x*sin(t)-y*cos(t)   ]
+ *              [     0         0      1           z             ]
  * </pre>
  * <p>
  * For example, to rotate a text 30 degrees around the Z-axis at
--- a/modules/javafx.graphics/src/main/java/javafx/scene/transform/Scale.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/transform/Scale.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -37,11 +37,12 @@
 /**
  * This class represents an {@code Affine} object that scales coordinates
  * by the specified factors. The matrix representing the scaling transformation
- * is as follows:
+ * around a pivot point {@code (pivotX, pivotY, pivotZ)} with scaling factors
+ * {@code x}, {@code y} and {@code z} is as follows:
  * <pre>
- *              [ x   0   0   (1-x)*pivotX ]
- *              [ 0   y   0   (1-y)*pivotY ]
- *              [ 0   0   z   (1-z)*pivotZ ]
+ *              [   x   0   0   (1-x)*pivotX   ]
+ *              [   0   y   0   (1-y)*pivotY   ]
+ *              [   0   0   z   (1-z)*pivotZ   ]
  * </pre>
  * @since JavaFX 2.0
  */
--- a/modules/javafx.graphics/src/main/java/javafx/scene/transform/Shear.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/transform/Shear.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -36,12 +36,13 @@
 
 /**
  * This class represents an {@code Affine} object that shears coordinates
- * by the specified multipliers. The matrix representing the shearing
- * transformation is as follows:
+ * by the specified multipliers. The matrix representing the shearing transformation
+ * around a pivot point {@code (pivotX, pivotY)} with multiplication factors {@code x}
+ * and {@code y} is as follows:
  * <pre>
- *      [   1   x   0   -x*pivotY ]
- *      [   y   1   0   -y*pivotX ]
- *      [   0   0   1   0   ]
+ *              [   1   x   0   -x*pivotY   ]
+ *              [   y   1   0   -y*pivotX   ]
+ *              [   0   0   1       0       ]
  * </pre>
  *
  * <p>
--- a/modules/javafx.graphics/src/main/java/javafx/scene/transform/Translate.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/scene/transform/Translate.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -37,11 +37,11 @@
 /**
  * This class represents an {@code Affine} object that translates coordinates
  * by the specified factors. The matrix representing the translating
- * transformation is as follows:
+ * transformation by distances {@code x}, {@code y} and {@code z} is as follows:
  * <pre>
- *              [   1    0    0    x  ]
- *              [   0    1    0    y  ]
- *              [   0    0    1    z  ]
+ *              [   1   0   0   x   ]
+ *              [   0   1   0   y   ]
+ *              [   0   0   1   z   ]
  * </pre>
  * @since JavaFX 2.0
  */
--- a/modules/javafx.graphics/src/main/java/javafx/stage/StageStyle.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/java/javafx/stage/StageStyle.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2018, 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
--- a/modules/javafx.graphics/src/main/native-glass/mac/GlassRobot.m	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/native-glass/mac/GlassRobot.m	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/native-glass/mac/GlassWindow+Overrides.m	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/native-glass/mac/GlassWindow+Overrides.m	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/native-glass/mac/GlassWindow.h	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/native-glass/mac/GlassWindow.h	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/main/native-iio/ios/ImageLoader.m	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/native-iio/ios/ImageLoader.m	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
--- a/modules/javafx.graphics/src/main/native-iio/jpegloader.c	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/main/native-iio/jpegloader.c	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/com/sun/javafx/css/TestNodeBase.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/com/sun/javafx/css/TestNodeBase.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/com/sun/javafx/css/TestNodeBaseHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/com/sun/javafx/css/TestNodeBaseHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/CSSNodeHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/CSSNodeHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/StubNodeHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/StubNodeHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/bounds/PerfNodeHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/bounds/PerfNodeHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/input/TestNodeHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/input/TestNodeHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/layout/MockNodeHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/com/sun/javafx/scene/layout/MockNodeHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/javafx/scene/CSSNode.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/javafx/scene/CSSNode.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/javafx/scene/SceneTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/javafx/scene/SceneTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/javafx/scene/StructureTest.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/javafx/scene/StructureTest.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/javafx/scene/bounds/PerfNode.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/javafx/scene/bounds/PerfNode.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/javafx/scene/input/TestNode.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/javafx/scene/input/TestNode.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, 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
--- a/modules/javafx.graphics/src/test/java/test/javafx/scene/layout/MockNode.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.graphics/src/test/java/test/javafx/scene/layout/MockNode.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.media/src/main/java/com/sun/javafx/scene/media/MediaViewHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.media/src/main/java/com/sun/javafx/scene/media/MediaViewHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/NativeMediaManager.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/NativeMediaManager.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.media/src/main/java/javafx/scene/media/MediaView.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.media/src/main/java/javafx/scene/media/MediaView.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, 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
--- a/modules/javafx.swing/src/main/module-info/module-info.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.swing/src/main/module-info/module-info.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, 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
--- a/modules/javafx.swt/src/main/java/javafx/embed/swt/FXCanvas.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.swt/src/main/java/javafx/embed/swt/FXCanvas.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
--- a/modules/javafx.web/src/android/java/com/sun/javafx/sg/prism/NGWebView.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/android/java/com/sun/javafx/sg/prism/NGWebView.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, 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
@@ -27,15 +27,15 @@
 
 import com.sun.javafx.geom.BaseBounds;
 import com.sun.javafx.geom.RectBounds;
-import java.util.logging.Logger;
+import com.sun.javafx.logging.PlatformLogger;
 import com.sun.prism.Graphics;
 import com.sun.prism.paint.Color;
 import com.sun.webkit.WebPage;
 
 public final class NGWebView extends NGGroup {
 
-    private final static Logger log =
-        Logger.getLogger(NGWebView.class.getName());
+    private final static PlatformLogger log =
+        PlatformLogger.getLogger(NGWebView.class.getName());
     private volatile WebPage page;
     private volatile float width, height;
     private static final Color VERY_LIGHT_RED = new Color(1, 0, 0, .3f);
--- a/modules/javafx.web/src/main/java/com/sun/javafx/scene/web/Printable.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/scene/web/Printable.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.web/src/main/java/com/sun/javafx/scene/web/PrintableHelper.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/scene/web/PrintableHelper.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
--- a/modules/javafx.web/src/main/java/com/sun/javafx/sg/prism/web/NGWebView.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/sg/prism/web/NGWebView.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,8 +25,7 @@
 
 package com.sun.javafx.sg.prism.web;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import com.sun.javafx.logging.PlatformLogger;
 import com.sun.javafx.geom.BaseBounds;
 import com.sun.javafx.geom.RectBounds;
 import com.sun.javafx.geom.transform.BaseTransform;
@@ -45,8 +44,8 @@
  */
 public final class NGWebView extends NGGroup {
 
-    private final static Logger log =
-        Logger.getLogger(NGWebView.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(NGWebView.class.getName());
     private volatile WebPage page;
     private volatile float width, height;
 
@@ -70,7 +69,7 @@
         if (page != null) {
             BaseBounds clip = getClippedBounds(new RectBounds(), BaseTransform.IDENTITY_TRANSFORM);
             if (!clip.isEmpty()) {
-                log.log(Level.FINEST, "updating rectangle: {0}", clip);
+                log.finest("updating rectangle: {0}", clip);
                 page.updateContent(new WCRectangle(clip.getMinX(), clip.getMinY(),
                                                    clip.getWidth(), clip.getHeight()));
             }
@@ -83,7 +82,7 @@
 
     // Invoked on Render Thread.
     @Override protected void renderContent(Graphics g) {
-        log.log(Level.FINEST, "rendering into {0}", g);
+        log.finest("rendering into {0}", g);
         if (g == null || page == null || width <= 0 || height <= 0)
             return;
 
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/InputMethodClientImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/InputMethodClientImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -31,15 +31,13 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.FutureTask;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
+import com.sun.javafx.logging.PlatformLogger;
 import com.sun.javafx.scene.input.ExtendedInputMethodRequests;
 import com.sun.webkit.Invoker;
 import javafx.geometry.Point2D;
 import javafx.scene.input.InputMethodEvent;
 import javafx.scene.input.InputMethodHighlight;
-import javafx.scene.input.InputMethodRequests;
 import javafx.scene.input.InputMethodTextRun;
 import javafx.scene.web.WebView;
 
@@ -51,8 +49,8 @@
 public final class InputMethodClientImpl
     implements InputMethodClient, ExtendedInputMethodRequests
 {
-    private static final Logger log =
-            Logger.getLogger(InputMethodClientImpl.class.getName());
+    private static final PlatformLogger log =
+            PlatformLogger.getLogger(InputMethodClientImpl.class.getName());
     private final WeakReference<WebView> wvRef;
     private final WebPage webPage;
 
@@ -138,9 +136,9 @@
         try {
             result = f.get();
         } catch (ExecutionException ex) {
-            log.log(Level.SEVERE, "InputMethodClientImpl.getTextLocation " + ex);
+            log.severe("InputMethodClientImpl.getTextLocation " + ex);
         } catch (InterruptedException ex) {
-            log.log(Level.SEVERE, "InputMethodClientImpl.getTextLocation InterruptedException" + ex);
+            log.severe("InputMethodClientImpl.getTextLocation InterruptedException" + ex);
         }
         return result;
     }
@@ -156,9 +154,9 @@
         try {
             location = f.get();
         } catch (ExecutionException ex) {
-            log.log(Level.SEVERE, "InputMethodClientImpl.getLocationOffset " + ex);
+            log.severe("InputMethodClientImpl.getLocationOffset " + ex);
         } catch (InterruptedException ex) {
-            log.log(Level.SEVERE, "InputMethodClientImpl.getTextLocation InterruptedException" + ex);
+            log.severe("InputMethodClientImpl.getTextLocation InterruptedException" + ex);
         }
         return location;
     }
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/UIClientImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/UIClientImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/drt/DumpRenderTree.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/drt/DumpRenderTree.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -26,8 +26,8 @@
 package com.sun.javafx.webkit.drt;
 
 import com.sun.javafx.application.PlatformImpl;
-import com.sun.javafx.webkit.Accessor;
-import com.sun.javafx.webkit.ThemeClientImpl;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.webkit.*;
 import com.sun.webkit.graphics.*;
 
@@ -45,15 +45,10 @@
 import java.util.Date;
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
-import java.util.logging.FileHandler;
-import java.util.logging.Formatter;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
 import javafx.scene.web.WebEngine;
 
 public final class DumpRenderTree {
-    private final static Logger log = Logger.getLogger("DumpRenderTree");
+    private final static PlatformLogger log = PlatformLogger.getLogger("DumpRenderTree");
     private final static long PID = (new Date()).getTime() & 0xFFFF;
     private final static String fileSep = System.getProperty("file.separator");
     private static boolean forceDumpAsText = false;
@@ -162,15 +157,15 @@
         return testString;
     }
 
-
+/*
     private static boolean isDebug()
     {
         return log.isLoggable(Level.FINE);
     }
+*/
 
-    private static void mlog(String msg)
-    {
-        if (isDebug()) {
+    private static void mlog(String msg) {
+        if (log.isLoggable(Level.FINE)) {
             log.fine("PID:" + Long.toHexString(PID)
                     + " TID:" + Thread.currentThread().getId()
                         + "(" + Thread.currentThread().getName() + ") "
@@ -372,7 +367,9 @@
 
 
     public static void main(final String[] args) throws Exception {
+/*
         if ( isDebug() ) {
+            // 'log' here is from java.util.logging
             log.setLevel(Level.FINEST);
             FileHandler handler = new FileHandler("drt.log", true);
             handler.setFormatter(new Formatter() {
@@ -383,7 +380,7 @@
             });
             log.addHandler(handler);
         }
-
+*/
         mlog("{main");
         initPlatform();
         assert drt != null;
@@ -410,7 +407,7 @@
 
     // called from native
     private static int getWorkerThreadCount() {
-        return drt.webPage.getWorkerThreadCount();
+        return WebPage.getWorkerThreadCount();
     }
 
     // called from native
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/drt/UIClientImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/drt/UIClientImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCFontImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCFontImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -32,6 +32,8 @@
 import com.sun.javafx.font.PGFont;
 import com.sun.javafx.geom.BaseBounds;
 import com.sun.javafx.geom.transform.BaseTransform;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.javafx.scene.text.GlyphList;
 import com.sun.javafx.scene.text.TextLayout;
 import com.sun.javafx.text.TextRun;
@@ -41,12 +43,10 @@
 import com.sun.webkit.graphics.WCFont;
 import com.sun.webkit.graphics.WCGlyphBuffer;
 import java.util.HashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 final class WCFontImpl extends WCFont {
-    private final static Logger log =
-        Logger.getLogger(WCFontImpl.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(WCFontImpl.class.getName());
 
     private static final HashMap<String, String> FONT_MAP = new HashMap<String, String>();
 
@@ -212,7 +212,7 @@
         // REMIND: This method needs to require a render context.
         float res = - getFontStrike().getMetrics().getAscent();
         if (log.isLoggable(Level.FINER)) {
-            log.log(Level.FINER, "getAscent({0}, {1}) = {2}",
+            log.finer("getAscent({0}, {1}) = {2}",
                     new Object[] {font.getName(), font.getSize(),
                     res});
         }
@@ -223,7 +223,7 @@
         // REMIND: This method needs to require a render context.
         float res = getFontStrike().getMetrics().getDescent();
         if (log.isLoggable(Level.FINER)) {
-            log.log(Level.FINER, "getDescent({0}, {1}) = {2}",
+            log.finer("getDescent({0}, {1}) = {2}",
                     new Object[] {font.getName(), font.getSize(),
                     res});
         }
@@ -234,7 +234,7 @@
         // REMIND: This method needs to require a render context.
         float res = getFontStrike().getMetrics().getLineHeight();
         if (log.isLoggable(Level.FINER)) {
-            log.log(Level.FINER, "getLineSpacing({0}, {1}) = {2}",
+            log.finer("getLineSpacing({0}, {1}) = {2}",
                     new Object[] {font.getName(), font.getSize(),
                     res});
         }
@@ -245,7 +245,7 @@
         // REMIND: This method needs to require a render context.
         float res = getFontStrike().getMetrics().getLineGap();
         if (log.isLoggable(Level.FINER)) {
-            log.log(Level.FINER, "getLineGap({0}, {1}) = {2}",
+            log.finer("getLineGap({0}, {1}) = {2}",
                     new Object[] {font.getName(), font.getSize(),
                     res });
         }
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -33,6 +33,8 @@
 import com.sun.javafx.geom.transform.Affine2D;
 import com.sun.javafx.geom.transform.Affine3D;
 import com.sun.javafx.geom.transform.BaseTransform;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.javafx.scene.text.GlyphList;
 import com.sun.javafx.scene.text.TextLayout;
 import com.sun.javafx.sg.prism.*;
@@ -54,8 +56,6 @@
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import static com.sun.scenario.effect.Blend.Mode.*;
 import com.sun.scenario.effect.impl.Renderer;
@@ -78,8 +78,8 @@
         DEDICATED
     }
 
-    private final static Logger log =
-        Logger.getLogger(WCGraphicsPrismContext.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(WCGraphicsPrismContext.class.getName());
     private final static boolean DEBUG_DRAW_CLIP_SHAPE = Boolean.valueOf(
             AccessController.doPrivileged((PrivilegedAction<String>) () ->
             System.getProperty("com.sun.webkit.debugDrawClipShape", "false")));
@@ -385,7 +385,7 @@
             //Fast & easy!
             state.clip(transformClip(shape));
             if (log.isLoggable(Level.FINE)) {
-                log.log(Level.FINE, "setClip({0})", shape);
+                log.fine("setClip({0})", shape);
             }
             if (DEBUG_DRAW_CLIP_SHAPE) {
                 //Draw clip shape
@@ -456,7 +456,7 @@
 
     public void translate(float x, float y) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "translate({0},{1})", new Object[] {x, y});
+            log.fine("translate({0},{1})", new Object[] {x, y});
         }
         state.translate(x, y);
         if (cachedGraphics != null) {
@@ -584,7 +584,7 @@
     @Override
     public void setFillColor(int rgba) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, String.format("setFillColor(0x%x)", rgba));
+            log.fine(String.format("setFillColor(0x%x)", rgba));
         }
         state.setPaint(createColor(rgba));
     }
@@ -618,7 +618,7 @@
     @Override
     public void setStrokeStyle(int style) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "setStrokeStyle({0})", style);
+            log.fine("setStrokeStyle({0})", style);
         }
         state.getStrokeNoClone().setStyle(style);
     }
@@ -626,7 +626,7 @@
     @Override
     public void setStrokeColor(int rgba) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, String.format("setStrokeColor(0x%x)", rgba));
+            log.fine(String.format("setStrokeColor(0x%x)", rgba));
         }
         state.getStrokeNoClone().setPaint(createColor(rgba));
     }
@@ -634,7 +634,7 @@
     @Override
     public void setStrokeWidth(float width) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "setStrokeWidth({0})", new Object[] { width });
+            log.fine("setStrokeWidth({0})", new Object[] { width });
         }
         state.getStrokeNoClone().setThickness(width);
     }
@@ -655,7 +655,7 @@
                 s.append(sizes[i]).append(',');
             }
             s.append(']');
-            log.log(Level.FINE, "setLineDash({0},{1}", new Object[] {offset, s});
+            log.fine("setLineDash({0},{1}", new Object[] {offset, s});
         }
         state.getStrokeNoClone().setDashOffset(offset);
         if (sizes != null) {
@@ -709,7 +709,7 @@
     @Override
     public void drawPolygon(final WCPath path, final boolean shouldAntialias) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "drawPolygon({0})",
+            log.fine("drawPolygon({0})",
                     new Object[] {shouldAntialias});
         }
         if (!shouldRenderShape(((WCPathImpl)path).getPlatformPath(), null,
@@ -732,7 +732,7 @@
     @Override
     public void drawLine(final int x0, final int y0, final int x1, final int y1) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "drawLine({0}, {1}, {2}, {3})",
+            log.fine("drawLine({0}, {1}, {2}, {3})",
                     new Object[] {x0, y0, x1, y1});
         }
         Line2D line = new Line2D(x0, y0, x1, y1);
@@ -757,7 +757,7 @@
         final WCRectangle destRect)
     {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "drawPattern({0}, {1}, {2}, {3})",
+            log.fine("drawPattern({0}, {1}, {2}, {3})",
                     new Object[] {destRect.getIntX(), destRect.getIntY(),
                                   destRect.getIntWidth(),
                                   destRect.getIntHeight()});
@@ -810,7 +810,7 @@
                           final float srcx, final float srcy, final float srcw, final float srch)
     {
         if (log.isLoggable(Level.FINE)){
-            log.log(Level.FINE, "drawImage(img, dst({0},{1},{2},{3}), " +
+            log.fine("drawImage(img, dst({0},{1},{2},{3}), " +
                     "src({4},{5},{6},{7}))",
                     new Object[] {dstx, dsty, dstw, dsth,
                                   srcx, srcy, srcw, srch});
@@ -863,7 +863,7 @@
     @Override
     public void drawIcon(WCIcon icon, int x, int y) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "UNIMPLEMENTED drawIcon ({0}, {1})",
+            log.fine("UNIMPLEMENTED drawIcon ({0}, {1})",
                     new Object[] {x, y});
         }
     }
@@ -871,7 +871,7 @@
     @Override
     public void drawRect(final int x, final int y, final int w, final int h) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "drawRect({0}, {1}, {2}, {3})",
+            log.fine("drawRect({0}, {1}, {2}, {3})",
                     new Object[]{x, y, w, h});
         }
         if (!shouldRenderRect(x, y, w, h,
@@ -988,14 +988,14 @@
 
     @Override
     public void setComposite(int composite) {
-        log.log(Level.FINE, "setComposite({0})", composite);
+        log.fine("setComposite({0})", composite);
         state.setCompositeOperation(composite);
     }
 
     @Override
     public void drawEllipse(final int x, final int y, final int w, final int h) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "drawEllipse({0}, {1}, {2}, {3})",
+            log.fine("drawEllipse({0}, {1}, {2}, {3})",
                     new Object[] { x, y, w, h});
         }
         if (!shouldRenderRect(x, y, w, h,
@@ -1022,9 +1022,7 @@
     @Override
     public void drawFocusRing(final int x, final int y, final int w, final int h, final int rgba) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE,
-                    String.format("drawFocusRing: %d, %d, %d, %d, 0x%x",
-                                  x, y, w, h, rgba));
+            log.fine(String.format("drawFocusRing: %d, %d, %d, %d, 0x%x", x, y, w, h, rgba));
         }
         if (!shouldRenderRect(x, y, w, h, null, focusRingStroke)) {
             return;
@@ -1041,7 +1039,7 @@
     }
 
     public void setAlpha(float alpha) {
-        log.log(Level.FINE, "setAlpha({0})", alpha);
+        log.fine("setAlpha({0})", alpha);
 
         state.setAlpha(alpha);
 
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCImageDecoderImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCImageDecoderImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -31,6 +31,8 @@
 import com.sun.javafx.iio.ImageMetadata;
 import com.sun.javafx.iio.ImageStorage;
 import com.sun.javafx.iio.ImageStorageException;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.webkit.graphics.WCGraphicsManager;
 import com.sun.webkit.graphics.WCImage;
 import com.sun.webkit.graphics.WCImageDecoder;
@@ -39,14 +41,12 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Arrays;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import javafx.concurrent.Service;
 import javafx.concurrent.Task;
 
 final class WCImageDecoderImpl extends WCImageDecoder {
 
-    private final static Logger log;
+    private final static PlatformLogger log;
 
     private Service<ImageFrame[]> loader;
 
@@ -62,7 +62,7 @@
     private String fileNameExtension;
 
     static {
-        log = Logger.getLogger(WCImageDecoderImpl.class.getName());
+        log = PlatformLogger.getLogger(WCImageDecoderImpl.class.getName());
     }
 
     /*
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCImageImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCImageImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -26,6 +26,8 @@
 package com.sun.javafx.webkit.prism;
 
 import com.sun.javafx.iio.ImageFrame;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.prism.Graphics;
 import com.sun.prism.Image;
 import com.sun.prism.PrinterGraphics;
@@ -36,16 +38,14 @@
 import com.sun.prism.image.Coords;
 import com.sun.prism.image.ViewPort;
 import java.nio.ByteBuffer;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import javafx.scene.image.PixelFormat;
 
 /**
  * @author Alexey.Ushakov
  */
 final class WCImageImpl extends PrismImage {
-    private final static Logger log =
-        Logger.getLogger(WCImageImpl.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(WCImageImpl.class.getName());
 
     private final Image img;
     private Texture texture;
@@ -54,7 +54,7 @@
 
     WCImageImpl(int w, int h) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "Creating empty image({0},{1})",
+            log.fine("Creating empty image({0},{1})",
                     new Object[] {w, h});
         }
         img = Image.fromIntArgbPreData(new int[w*h], w, h);
@@ -62,7 +62,7 @@
 
     WCImageImpl(int[] buffer, int w, int h) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "Creating image({0},{1}) from buffer",
+            log.fine("Creating image({0},{1}) from buffer",
                     new Object[] {w, h});
         }
         img = Image.fromIntArgbPreData(buffer, w, h);
@@ -70,7 +70,7 @@
 
     WCImageImpl(ImageFrame frame) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "Creating image {0}x{1} of type {2} from buffer",
+            log.fine("Creating image {0}x{1} of type {2} from buffer",
                     new Object[]{frame.getWidth(), frame.getHeight(), frame.getImageType()});
         }
         img = Image.convertImageFrame(frame);
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCMediaPlayerImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCMediaPlayerImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -27,7 +27,7 @@
 
 import java.net.URI;
 import java.util.List;
-import java.util.logging.Level;
+
 import com.sun.javafx.media.PrismMediaFrameHandler;
 import com.sun.media.jfxmedia.Media;
 import com.sun.media.jfxmedia.MediaManager;
@@ -107,7 +107,7 @@
 
         @Override
         public void run() {
-            if (verbose) log.log(Level.FINE, "CreateThread: started, url={0}", url);
+            log.fine("CreateThread: started, url={0}", url);
 
             notifyNetworkStateChanged(NETWORK_STATE_LOADING);
             notifyReadyStateChanged(READY_STATE_HAVE_NOTHING);
@@ -120,30 +120,26 @@
                     locator.setConnectionProperty("User-Agent", userAgent);
                 }
                 locator.init();
-                if (verbose) {
                     log.fine("CreateThread: locator created");
-                }
 
                 p = MediaManager.getPlayer(locator);
             } catch (Exception ex) {
-                if (verbose) {
-                    log.log(Level.WARNING, "CreateThread ERROR: {0}", ex.toString());
-                    ex.printStackTrace(System.out);
-                }
+                log.warning("CreateThread ERROR: {0}", ex.toString());
+                ex.printStackTrace(System.out);
                 onError(this, 0, ex.getMessage());
                 return;
             }
 
             synchronized (lock) {
                 if (cancelled) {
-                    if (verbose) log.log(Level.FINE, "CreateThread: cancelled");
+                    log.fine("CreateThread: cancelled");
                     p.dispose();
                     return;
                 }
                 createThread = null;
                 setPlayer(p);
             }
-            if (verbose) log.log(Level.FINE, "CreateThread: completed");
+            log.fine("CreateThread: completed");
         }
 
         private void cancel() {
@@ -340,7 +336,7 @@
 
 
     private void renderImpl(WCGraphicsContext gc, int x, int y, int w, int h) {
-        if (verbose) log.log(Level.FINER, ">>(Prism)renderImpl");
+        log.finer(">>(Prism)renderImpl");
         Graphics g = (Graphics)gc.getPlatformGraphics();
 
         Texture texture = null;
@@ -359,42 +355,39 @@
                     0f, 0f, texture.getContentWidth(), texture.getContentHeight());
             texture.unlock();
         } else {
-            if (verbose) log.log(Level.FINEST, "  (Prism)renderImpl, texture is null, draw black rect");
+            log.finest("  (Prism)renderImpl, texture is null, draw black rect");
             gc.fillRect(x, y, w, h, 0xFF000000);
         }
-        if (verbose) log.log(Level.FINER, "<<(Prism)renderImpl");
+        log.finer("<<(Prism)renderImpl");
     }
 
     // PlayerStateListener
     @Override
     public void onReady(PlayerStateEvent pse) {
         MediaPlayer p = getPlayer();
-        if (verbose) log.log(Level.FINE, "onReady");
+        log.fine("onReady");
         Media media = p.getMedia();
         boolean hasVideo = false;
         boolean hasAudio = false;
         if (media != null) {
             List<Track> tracks = media.getTracks();
             if (tracks != null) {
-                if (verbose) log.log(Level.INFO, "{0} track(s) detected:", tracks.size());
+                log.fine("{0} track(s) detected:", tracks.size());
                 for (Track track : tracks) {
                     if (track instanceof VideoTrack) {
                         hasVideo = true;
                     } else if (track instanceof AudioTrack) {
                         hasAudio = true;
                     }
-                    if (verbose) log.log(Level.INFO, "track: {0}", track);
+                    log.fine("track: {0}", track);
                 }
             } else {
-                if (verbose) log.log(Level.WARNING, "onReady, tracks IS NULL");
+                log.warning("onReady, tracks IS NULL");
             }
         } else {
-            if (verbose) log.log(Level.WARNING, "onReady, media IS NULL");
+            log.warning("onReady, media IS NULL");
         }
-        if (verbose) {
-            log.log(Level.FINE, "onReady, hasVideo:{0}, hasAudio: {1}",
-                    new Object[]{hasVideo, hasAudio});
-        }
+        log.fine("onReady, hasVideo:{0}, hasAudio: {1}", new Object[]{hasVideo, hasAudio});
         notifyReady(hasVideo, hasAudio, (float)p.getDuration());
 
         // if we have no video, report READY_STATE_HAVE_ENOUGH_DATA right now
@@ -413,25 +406,25 @@
 
     @Override
     public void onPlaying(PlayerStateEvent pse) {
-        if (verbose) log.log(Level.FINE, "onPlaying");
+        log.fine("onPlaying");
         notifyPaused(false);
     }
 
     @Override
     public void onPause(PlayerStateEvent pse) {
-        if (verbose) log.log(Level.FINE, "onPause, time: {0}", pse.getTime());
+        log.fine("onPause, time: {0}", pse.getTime());
         notifyPaused(true);
     }
 
     @Override
     public void onStop(PlayerStateEvent pse) {
-        if (verbose) log.log(Level.FINE, "onStop");
+        log.fine("onStop");
         notifyPaused(true);
     }
 
     @Override
     public void onStall(PlayerStateEvent pse) {
-        if (verbose) log.log(Level.FINE, "onStall");
+        log.fine("onStall");
     }
 
     @Override
@@ -439,24 +432,21 @@
         MediaPlayer p = getPlayer();
         if (p != null) {
             finished = p.getRate() > 0 ? 1 : -1;
-            if (verbose) log.log(Level.FINE, "onFinish, time: {0}", pse.getTime());
+            log.fine("onFinish, time: {0}", pse.getTime());
             notifyFinished();
         }
     }
 
     @Override
     public void onHalt(PlayerStateEvent pse) {
-        if (verbose) log.log(Level.FINE, "onHalt");
+        log.fine("onHalt");
     }
 
     // MediaErrorListener
     @Override
     public void onError(Object source, int errCode, String message) {
         //MediaPlayer p = getPlayer();
-        if (verbose) {
-            log.log(Level.WARNING, "onError, errCode={0}, msg={1}",
-                    new Object[]{errCode, message});
-        }
+        log.warning("onError, errCode={0}, msg={1}", new Object[]{errCode, message});
         // TODO: parse errCode to detect NETWORK_STATE_FORMAT_ERROR/
         // NETWORK_STATE_NETWORK_ERROR/NETWORK_STATE_DECODE_ERROR
         notifyNetworkStateChanged(NETWORK_STATE_NETWORK_ERROR);
@@ -466,7 +456,7 @@
     //PlayerTimeListener
     @Override
     public void onDurationChanged(double duration) {
-        if (verbose) log.log(Level.FINE, "onDurationChanged, duration={0}", duration);
+        log.fine("onDurationChanged, duration={0}", duration);
         notifyDurationChanged((float)duration);
     }
 
@@ -474,10 +464,7 @@
     @Override
     public void onSizeChanged(int width, int height) {
         //MediaPlayer p = getPlayer();
-        if (verbose) {
-            log.log(Level.FINE, "onSizeChanged, new size = {0} x {1}",
-                    new Object[]{width, height});
-        }
+        log.fine("onSizeChanged, new size = {0} x {1}", new Object[]{width, height});
         notifySizeChanged(width, height);
     }
 
@@ -490,8 +477,8 @@
             }
             gotFirstFrame = true;
         }
-        if (verbose && finished != 0) {
-            log.log(Level.FINE, "notifyFrameArrived (after finished) time: {0}", getPlayer().getPresentationTime());
+        if (finished != 0) {
+            log.fine("notifyFrameArrived (after finished) time: {0}", getPlayer().getPresentationTime());
         }
         notifyNewFrame();
     }
@@ -504,10 +491,8 @@
         int newNetworkState =
                 buffering ? NETWORK_STATE_LOADING
                 : bufferedStart > 0 ? NETWORK_STATE_IDLE : NETWORK_STATE_LOADED;
-        if (verbose) {
-            log.log(Level.FINE, "updateBufferingStatus, buffered: [{0} - {1}], buffering = {2}",
-                new Object[]{bufferedStart, bufferedEnd, buffering});
-        }
+        log.fine("updateBufferingStatus, buffered: [{0} - {1}], buffering = {2}",
+            new Object[]{bufferedStart, bufferedEnd, buffering});
         notifyNetworkStateChanged(newNetworkState);
     }
 
@@ -533,14 +518,12 @@
         ranges[0] = bufferedStart;
         ranges[1] = bufferedEnd;
         int bytesLoaded = (int)(event.getBufferPosition() - event.getBufferStart());
-        if (verbose) {
-            log.log(Level.FINER, "onBufferProgress, "
-                    + "bufferStart={0}, bufferStop={1}, bufferPos={2}, duration={3}; "
-                    + "notify range [{4},[5]], bytesLoaded: {6}",
-                    new Object[]{event.getBufferStart(), event.getBufferStop(),
-                                 event.getBufferPosition(), event.getDuration(),
-                                 ranges[0], ranges[1], bytesLoaded});
-        }
+        log.finer("onBufferProgress, "
+                + "bufferStart={0}, bufferStop={1}, bufferPos={2}, duration={3}; "
+                + "notify range [{4},[5]], bytesLoaded: {6}",
+                new Object[]{event.getBufferStart(), event.getBufferStop(),
+                             event.getBufferPosition(), event.getDuration(),
+                             ranges[0], ranges[1], bytesLoaded});
         notifyBufferChanged(ranges, bytesLoaded);
         updateBufferingStatus();
     }
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCPathImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCPathImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -32,34 +32,30 @@
 import com.sun.javafx.geom.Point2D;
 import com.sun.javafx.geom.RectBounds;
 import com.sun.javafx.geom.RoundRectangle2D;
-import com.sun.javafx.geom.Shape;
 import com.sun.javafx.geom.transform.BaseTransform;
 import com.sun.webkit.graphics.WCPath;
 import com.sun.webkit.graphics.WCPathIterator;
 import com.sun.webkit.graphics.WCRectangle;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 
 final class WCPathImpl extends WCPath<Path2D> {
     private final Path2D path;
     private boolean hasCP = false;
 
-    private final static Logger log =
-        Logger.getLogger(WCPathImpl.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(WCPathImpl.class.getName());
 
     WCPathImpl() {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "Create empty WCPathImpl({0})", getID());
+            log.fine("Create empty WCPathImpl({0})", getID());
         }
         path = new Path2D();
     }
 
     WCPathImpl(WCPathImpl wcp) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "Create WCPathImpl({0}) from WCPathImpl({1})",
+            log.fine("Create WCPathImpl({0}) from WCPathImpl({1})",
                     new Object[] { getID(), wcp.getID()});
         }
         path = new Path2D(wcp.path);
@@ -68,7 +64,7 @@
 
     public void addRect(double x, double y, double w, double h) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).addRect({1},{2},{3},{4})",
+            log.fine("WCPathImpl({0}).addRect({1},{2},{3},{4})",
                         new Object[] {getID(), x, y, w, h});
         }
         hasCP = true;
@@ -79,7 +75,7 @@
     public void addEllipse(double x, double y, double w, double h)
     {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).addEllipse({1},{2},{3},{4})",
+            log.fine("WCPathImpl({0}).addEllipse({1},{2},{3},{4})",
                     new Object[] {getID(), x, y, w, h});
         }
         hasCP = true;
@@ -89,7 +85,7 @@
     public void addArcTo(double x1, double y1, double x2, double y2, double r)
     {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).addArcTo({1},{2},{3},{4})",
+            log.fine("WCPathImpl({0}).addArcTo({1},{2},{3},{4})",
                     new Object[] {getID(), x1, y1, x2, y2});
         }
 
@@ -113,7 +109,7 @@
         float endAngle = (float) ea;
 
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).addArc(x={1},y={2},r={3},sa=|{4}|,ea=|{5}|,aclock={6})",
+            log.fine("WCPathImpl({0}).addArc(x={1},y={2},r={3},sa=|{4}|,ea=|{5}|,aclock={6})",
                     new Object[] {getID(), x, y, r, startAngle, endAngle, aclockwise});
         }
 
@@ -162,7 +158,7 @@
 
     public boolean contains(int rule, double x, double y) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).contains({1},{2},{3})",
+            log.fine("WCPathImpl({0}).contains({1},{2},{3})",
                     new Object[] {getID(), rule, x, y});
         }
         final int savedRule = path.getWindingRule();
@@ -181,7 +177,7 @@
 
     public void clear() {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).clear()", getID());
+            log.fine("WCPathImpl({0}).clear()", getID());
         }
         hasCP = false;
         path.reset();
@@ -189,7 +185,7 @@
 
     public void moveTo(double x, double y) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).moveTo({1},{2})",
+            log.fine("WCPathImpl({0}).moveTo({1},{2})",
                     new Object[] {getID(), x, y});
         }
         hasCP = true;
@@ -198,7 +194,7 @@
 
     public void addLineTo(double x, double y) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).addLineTo({1},{2})",
+            log.fine("WCPathImpl({0}).addLineTo({1},{2})",
                     new Object[] {getID(), x, y});
         }
         hasCP = true;
@@ -207,7 +203,7 @@
 
     public void addQuadCurveTo(double x0, double y0, double x1, double y1) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).addQuadCurveTo({1},{2},{3},{4})",
+            log.fine("WCPathImpl({0}).addQuadCurveTo({1},{2},{3},{4})",
                     new Object[] {getID(), x0, y0, x1, y1});
         }
         hasCP = true;
@@ -217,7 +213,7 @@
     public void addBezierCurveTo(double x0, double y0, double x1, double y1,
                                  double x2, double y2) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).addBezierCurveTo({1},{2},{3},{4},{5},{6})",
+            log.fine("WCPathImpl({0}).addBezierCurveTo({1},{2},{3},{4},{5},{6})",
                     new Object[] {getID(), x0, y0, x1, y1, x2, y2});
         }
         hasCP = true;
@@ -227,7 +223,7 @@
 
     public void addPath(WCPath p) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).addPath({1})",
+            log.fine("WCPathImpl({0}).addPath({1})",
                     new Object[] {getID(), p.getID()});
         }
         hasCP = hasCP || ((WCPathImpl)p).hasCP;
@@ -236,7 +232,7 @@
 
     public void closeSubpath() {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).closeSubpath()", getID());
+            log.fine("WCPathImpl({0}).closeSubpath()", getID());
         }
         path.closePath();
     }
@@ -270,25 +266,25 @@
 
     public Path2D getPlatformPath() {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).getPath() BEGIN=====", getID());
+            log.fine("WCPathImpl({0}).getPath() BEGIN=====", getID());
             PathIterator pi = path.getPathIterator(null);
             float [] coords = new float[6];
             while(!pi.isDone()) {
                 switch(pi.currentSegment(coords)) {
                     case PathIterator.SEG_MOVETO:
-                        log.log(Level.FINE, "SEG_MOVETO ({0},{1})",
+                        log.fine("SEG_MOVETO ({0},{1})",
                                 new Object[] {coords[0], coords[1]});
                         break;
                     case PathIterator.SEG_LINETO:
-                        log.log(Level.FINE, "SEG_LINETO ({0},{1})",
+                        log.fine("SEG_LINETO ({0},{1})",
                                 new Object[] {coords[0], coords[1]});
                         break;
                     case PathIterator.SEG_QUADTO:
-                        log.log(Level.FINE, "SEG_QUADTO ({0},{1},{2},{3})",
+                        log.fine("SEG_QUADTO ({0},{1},{2},{3})",
                                 new Object[] {coords[0], coords[1], coords[2], coords[3]});
                         break;
                     case PathIterator.SEG_CUBICTO:
-                        log.log(Level.FINE, "SEG_CUBICTO ({0},{1},{2},{3},{4},{5})",
+                        log.fine("SEG_CUBICTO ({0},{1},{2},{3},{4},{5})",
                                 new Object[] {coords[0], coords[1], coords[2], coords[3],
                                               coords[4], coords[5]});
                         break;
@@ -332,7 +328,7 @@
     public void translate(double x, double y)
     {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).translate({1}, {2})",
+            log.fine("WCPathImpl({0}).translate({1}, {2})",
                     new Object[] {getID(), x, y});
         }
         path.transform(BaseTransform.getTranslateInstance(x, y));
@@ -343,7 +339,7 @@
                           double mxt, double myt)
     {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "WCPathImpl({0}).transform({1},{2},{3},{4},{5},{6})",
+            log.fine("WCPathImpl({0}).transform({1},{2},{3},{4},{5},{6})",
                     new Object[] {getID(), mxx, myx, mxy, myy, mxt, myt});
         }
         path.transform(BaseTransform.getInstance(mxx, myx, mxy, myy, mxt, myt));
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/ContextMenuImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/ContextMenuImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,11 +25,8 @@
 
 package com.sun.javafx.webkit.theme;
 
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 
 import javafx.scene.control.Separator;
 import javafx.scene.control.ContextMenu;
@@ -44,20 +41,20 @@
 
 public final class ContextMenuImpl extends com.sun.webkit.ContextMenu {
 
-    private final static Logger log = Logger.getLogger(ContextMenuImpl.class.getName());
+    private final static PlatformLogger log = PlatformLogger.getLogger(ContextMenuImpl.class.getName());
 
     private final ObservableList<ContextMenuItem> items =
             FXCollections.observableArrayList();
 
     @Override protected void show(final ShowContext showContext, int x, int y) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "show at [{0}, {1}]", new Object[] {x, y});
+            log.fine("show at [{0}, {1}]", new Object[] {x, y});
         }
         final ContextMenu popupMenu = new ContextMenu();
 
         popupMenu.setOnAction(t -> {
             MenuItem item = (MenuItem) t.getTarget();
-            log.log(Level.FINE, "onAction: item={0}", item);
+            log.fine("onAction: item={0}", item);
             showContext.notifyItemSelected(((MenuItemPeer)item).getItemPeer().getAction());
         });
 
@@ -71,7 +68,7 @@
 
     @Override protected void insertItem(ContextMenuItem item, int index) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "item={0}, index={1}", new Object[] {item, index});
+            log.fine("item={0}, index={1}", new Object[] {item, index});
         }
         if (item == null) {
             return;
@@ -90,7 +87,7 @@
     }
 
     private MenuItem createMenuItem(ContextMenuItem item) {
-        log.log(Level.FINE, "item={0}", item);
+        log.fine("item={0}", item);
 
         if (item.getType() == ContextMenuItem.SUBMENU_TYPE) {
             MenuImpl menu = new MenuImpl(item.getTitle());
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/PopupMenuImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/PopupMenuImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,16 +25,12 @@
 
 package com.sun.javafx.webkit.theme;
 
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 
 import javafx.scene.control.ContextMenu;
 import javafx.scene.control.MenuItem;
 import javafx.scene.web.WebView;
-import javafx.stage.WindowEvent;
 
 import com.sun.webkit.Invoker;
 import com.sun.webkit.graphics.WCFont;
@@ -44,7 +40,7 @@
 
 public final class PopupMenuImpl extends com.sun.webkit.PopupMenu {
 
-    private final static Logger log = Logger.getLogger(PopupMenuImpl.class.getName());
+    private final static PlatformLogger log = PlatformLogger.getLogger(PopupMenuImpl.class.getName());
 
     private final ContextMenu popupMenu;
 
@@ -65,14 +61,14 @@
         });
         popupMenu.setOnAction(t -> {
             MenuItem item = (MenuItem) t.getTarget();
-            log.log(Level.FINE, "onAction: item={0}", item);
+            log.fine("onAction: item={0}", item);
             notifySelectionCommited(popupMenu.getItems().indexOf(item));
         });
     }
 
     @Override protected void show(WebPage page, final int x, final int y, final int width) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "show at [{0}, {1}], width={2}", new Object[] {x, y, width});
+            log.fine("show at [{0}, {1}], width={2}", new Object[] {x, y, width});
         }
         // TODO: doesn't work
         popupMenu.setPrefWidth(width);
@@ -90,7 +86,7 @@
                                         int bgColor, int fgColor, WCFont font)
     {
         if (log.isLoggable(Level.FINEST)) {
-            log.log(Level.FINEST, "itemText={0}, isLabel={1}, isSeparator={2}, isEnabled={3}, " +
+            log.finest("itemText={0}, isLabel={1}, isSeparator={2}, isEnabled={3}, " +
                     "bgColor={4}, fgColor={5}, font={6}", new Object[] {itemText, isLabel,
                     isSeparator, isEnabled, bgColor, fgColor, font});
         }
@@ -109,7 +105,7 @@
     }
 
     @Override protected void setSelectedItem(int index) {
-        log.log(Level.FINEST, "index={0}", index);
+        log.finest("index={0}", index);
         // TODO requestFocus is not supported currently
         //popupMenu.getItems().get(index).requestFocus();
     }
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/RenderThemeImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/RenderThemeImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -44,13 +44,12 @@
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import java.util.LinkedHashMap;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.javafx.webkit.Accessor;
 import com.sun.webkit.LoadListenerClient;
 import com.sun.webkit.graphics.Ref;
@@ -60,7 +59,7 @@
 import javafx.application.Application;
 
 public final class RenderThemeImpl extends RenderTheme {
-    private final static Logger log = Logger.getLogger(RenderThemeImpl.class.getName());
+    private final static PlatformLogger log = PlatformLogger.getLogger(RenderThemeImpl.class.getName());
 
     enum WidgetType {
         TEXTFIELD      (0),
@@ -128,7 +127,7 @@
 
         T get(long id) {
             if (log.isLoggable(Level.FINE)) {
-                log.log(Level.FINE, "type: {0}, size: {1}, id: 0x{2}",
+                log.fine("type: {0}, size: {1}, id: 0x{2}",
                         new Object[] {type, pool.size(), Long.toHexString(id)});
             }
             assert ids.size() == pool.size();
@@ -152,7 +151,7 @@
 
         void put(long id, T control, int updateContentCycleID) {
             if (log.isLoggable(Level.FINEST)) {
-                log.log(Level.FINEST, "size: {0}, id: 0x{1}, control: {2}",
+                log.finest("size: {0}, id: 0x{1}, control: {2}",
                         new Object[] {pool.size(), Long.toHexString(id), control.getType()});
             }
             if (ids.size() >= capacity) {
@@ -298,7 +297,7 @@
                     fc = new FormProgressBar(WidgetType.METER);
                     break;
                 default:
-                    log.log(Level.ALL, "unknown widget index: {0}", widgetIndex);
+                    log.severe("unknown widget index: {0}", widgetIndex);
                     return null;
             }
             fc.asControl().setFocusTraversable(false);
--- a/modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/ScrollBarThemeImpl.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/javafx/webkit/theme/ScrollBarThemeImpl.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -26,10 +26,9 @@
 package com.sun.javafx.webkit.theme;
 
 import java.lang.ref.WeakReference;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
-import com.sun.javafx.util.Utils;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import javafx.beans.Observable;
 import javafx.geometry.Bounds;
 import javafx.geometry.Orientation;
@@ -47,7 +46,7 @@
 
 public final class ScrollBarThemeImpl extends ScrollBarTheme {
 
-    private final static Logger log = Logger.getLogger(ScrollBarThemeImpl.class.getName());
+    private final static PlatformLogger log = PlatformLogger.getLogger(ScrollBarThemeImpl.class.getName());
 
     private WeakReference<ScrollBar> testSBRef = // used for scrollbar thickness calculation
             new WeakReference<ScrollBar>(null);
@@ -174,7 +173,7 @@
         }
 
         if (log.isLoggable(Level.FINEST)) {
-            log.log(Level.FINEST, "[{0}, {1} {2}x{3}], {4}",
+            log.finest("[{0}, {1} {2}x{3}], {4}",
                     new Object[] {x, y, sb.getWidth(), sb.getHeight(),
                     sb.getOrientation() == Orientation.VERTICAL ? "VERTICAL" : "HORIZONTAL"});
         }
@@ -217,7 +216,7 @@
         } else {
             rect[0] = rect[1] = rect[2] = rect[3] = 0;
         }
-        log.log(Level.FINEST, "id {0} part {1} bounds {2},{3} {4}x{5}",
+        log.finest("id {0} part {1} bounds {2},{3} {4}x{5}",
                 new Object[] {String.valueOf(id), String.valueOf(part), rect[0], rect[1], rect[2], rect[3]});
     }
 
--- a/modules/javafx.web/src/main/java/com/sun/webkit/BackForwardList.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/BackForwardList.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
--- a/modules/javafx.web/src/main/java/com/sun/webkit/ColorChooser.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/ColorChooser.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, 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
@@ -29,9 +29,6 @@
 import javafx.scene.paint.Color;
 import javafx.scene.web.WebView;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
 public final class ColorChooser {
     /**
      * Color conversion from double (0.0 to 1.0) to uchar (0 to 255)
--- a/modules/javafx.web/src/main/java/com/sun/webkit/EventLoop.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/EventLoop.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -25,13 +25,12 @@
 
 package com.sun.webkit;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import com.sun.javafx.logging.PlatformLogger;
 
 public abstract class EventLoop {
 
-    private static final Logger logger =
-            Logger.getLogger(EventLoop.class.getName());
+    private static final PlatformLogger logger =
+            PlatformLogger.getLogger(EventLoop.class.getName());
 
     private static EventLoop instance;
 
@@ -41,7 +40,7 @@
     }
 
     private static void fwkCycle() {
-        logger.log(Level.FINE, "Executing event loop cycle");
+        logger.fine("Executing event loop cycle");
         instance.cycle();
     }
 
--- a/modules/javafx.web/src/main/java/com/sun/webkit/FileSystem.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/FileSystem.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,14 +25,13 @@
 
 package com.sun.webkit;
 
+import com.sun.javafx.logging.PlatformLogger;
 import java.io.File;
 import java.io.IOException;
 import static java.lang.String.format;
 import java.nio.file.Files;
 import java.nio.file.InvalidPathException;
 import java.nio.file.Paths;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 final class FileSystem {
 
@@ -41,8 +40,8 @@
     private static final int TYPE_FILE = 1;
     private static final int TYPE_DIRECTORY = 2;
 
-    private final static Logger logger =
-            Logger.getLogger(FileSystem.class.getName());
+    private final static PlatformLogger logger =
+            PlatformLogger.getLogger(FileSystem.class.getName());
 
 
     private FileSystem() {
@@ -60,8 +59,7 @@
                 return file.length();
             }
         } catch (SecurityException ex) {
-            logger.log(Level.FINE, format("Error determining "
-                    + "size of file [%s]", path), ex);
+            logger.fine(format("Error determining size of file [%s]", path), ex);
         }
         return -1;
     }
@@ -82,8 +80,7 @@
                 return true;
             }
         } catch (SecurityException ex) {
-            logger.log(Level.FINE, format("Error determining "
-                    + "Metadata for file [%s]", path), ex);
+            logger.fine(format("Error determining Metadata for file [%s]", path), ex);
         }
         return false;
     }
@@ -99,8 +96,7 @@
             Files.createDirectories(Paths.get(path));
             return true;
         } catch (InvalidPathException|IOException ex) {
-            logger.log(Level.FINE, format("Error creating "
-                    + "directory [%s]", path), ex);
+            logger.fine(format("Error creating directory [%s]", path), ex);
             return false;
         }
     }
--- a/modules/javafx.web/src/main/java/com/sun/webkit/LocalizedStrings.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/LocalizedStrings.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,14 +25,13 @@
 
 package com.sun.webkit;
 
+import com.sun.javafx.logging.PlatformLogger;
 import java.util.Locale;
 import java.util.ResourceBundle;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 final class LocalizedStrings {
-    private final static Logger log =
-        Logger.getLogger(LocalizedStrings.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(LocalizedStrings.class.getName());
 
     private final static ResourceBundle BUNDLE =
         ResourceBundle.getBundle("com.sun.webkit.LocalizedStrings",
@@ -42,13 +41,13 @@
     private LocalizedStrings() {}
 
     private static String getLocalizedProperty(String propName) {
-        log.log(Level.FINE, "Get property: " + propName);
+        log.fine("Get property: " + propName);
         String propValue = BUNDLE.getString(propName);
         if ((propValue != null) && (propValue.trim().length() > 0)) {
-            log.log(Level.FINE, "Property value: " + propValue);
+            log.fine("Property value: " + propValue);
             return propValue.trim();
         }
-        log.log(Level.FINE, "Unknown property value");
+        log.fine("Unknown property value");
         return null;
     }
 }
--- a/modules/javafx.web/src/main/java/com/sun/webkit/WCPasteboard.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/WCPasteboard.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,15 +25,14 @@
 
 package com.sun.webkit;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import com.sun.javafx.logging.PlatformLogger;
 
 import com.sun.webkit.graphics.WCImageFrame;
 
 final class WCPasteboard {
 
-    private final static Logger log =
-        Logger.getLogger(WCPasteboard.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(WCPasteboard.class.getName());
 
     private static final Pasteboard pasteboard;
 
@@ -55,24 +54,24 @@
     }
 
     private static void writePlainText(String text) {
-        log.log(Level.FINE, "writePlainText(): text = {0}", new Object[] {text});
+        log.fine("writePlainText(): text = {0}", new Object[] {text});
         pasteboard.writePlainText(text);
     }
 
     private static void writeSelection(boolean canSmartCopyOrDelete, String text, String html)
     {
-        log.log(Level.FINE, "writeSelection(): canSmartCopyOrDelete = {0},\n text = \n{1}\n html=\n{2}",
+        log.fine("writeSelection(): canSmartCopyOrDelete = {0},\n text = \n{1}\n html=\n{2}",
                 new Object[] {canSmartCopyOrDelete, text, html});
         pasteboard.writeSelection(canSmartCopyOrDelete, text, html);
     }
 
     private static void writeImage(WCImageFrame img) {
-        log.log(Level.FINE, "writeImage(): img = {0}", new Object[] {img});
+        log.fine("writeImage(): img = {0}", new Object[] {img});
         pasteboard.writeImage(img);
     }
 
     private static void writeUrl(String url, String markup) {
-        log.log(Level.FINE, "writeUrl(): url = {0}, markup = {1}",
+        log.fine("writeUrl(): url = {0}, markup = {1}",
                 new Object[] {url, markup});
         pasteboard.writeUrl(url, markup);
     }
--- a/modules/javafx.web/src/main/java/com/sun/webkit/WCPluginWidget.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/WCPluginWidget.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,12 +25,11 @@
 
 package com.sun.webkit;
 
+import com.sun.javafx.logging.PlatformLogger;
 import static com.sun.webkit.network.URLs.newURL;
 
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import com.sun.webkit.plugin.Plugin;
 import com.sun.webkit.plugin.PluginListener;
@@ -40,8 +39,8 @@
 
 final class WCPluginWidget extends WCWidget implements PluginListener {
 
-    private final static Logger log =
-        Logger.getLogger(WCPluginWidget.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(WCPluginWidget.class.getName());
 
     private final Plugin plugin;
     private long pData = 0L;//for native code
@@ -84,7 +83,7 @@
         try {
             url = newURL(urlString);
         } catch (MalformedURLException ex) {
-            log.log(Level.FINE, null, ex);
+            log.fine(null, ex);
         }
         return new WCPluginWidget(
                 webPage,
--- a/modules/javafx.web/src/main/java/com/sun/webkit/WCWidget.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/WCWidget.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,12 +25,12 @@
 
 package com.sun.webkit;
 
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.webkit.graphics.WCRectangle;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 class WCWidget {
-    private final static Logger log = Logger.getLogger(WCWidget.class.getName());
+    private final static PlatformLogger log = PlatformLogger.getLogger(WCWidget.class.getName());
 
     static {
         initIDs();
@@ -70,39 +70,39 @@
     protected void setVisible(boolean visible) {}
 
     private void fwkDestroy() {
-        log.log(Level.FINER, "destroy");
+        log.finer("destroy");
         destroy();
     }
 
     private void fwkSetBounds(int x, int y, int w, int h) {
         if (log.isLoggable(Level.FINER)) {
-            log.log(Level.FINER, "setBounds({0}, {1}, {2}, {3})",
+            log.finer("setBounds({0}, {1}, {2}, {3})",
                     new Object[] { x, y, w, h });
         }
         setBounds(x, y, w, h);
     }
 
     private void fwkRequestFocus() {
-        log.log(Level.FINER, "requestFocus");
+        log.finer("requestFocus");
         requestFocus();
     }
 
     private void fwkSetCursor(long cursorID) {
         if (log.isLoggable(Level.FINER)) {
-            log.log(Level.FINER, "setCursor({0})", cursorID);
+            log.finer("setCursor({0})", cursorID);
         }
         setCursor(cursorID);
     }
 
     private void fwkSetVisible(boolean visible) {
         if (log.isLoggable(Level.FINER)) {
-            log.log(Level.FINER, "setVisible({0})", visible);
+            log.finer("setVisible({0})", visible);
         }
         setVisible(visible);
     }
 
     protected int fwkGetScreenDepth() {
-        log.log(Level.FINER, "getScreenDepth");
+        log.finer("getScreenDepth");
         WebPageClient pageClient = page.getPageClient();
         return pageClient != null
                 ? pageClient.getScreenDepth()
@@ -111,7 +111,7 @@
 
     protected WCRectangle fwkGetScreenRect(boolean available) {
         if (log.isLoggable(Level.FINER)) {
-            log.log(Level.FINER, "getScreenRect({0})", available);
+            log.finer("getScreenRect({0})", available);
         }
         WebPageClient pageClient = page.getPageClient();
         return pageClient != null
--- a/modules/javafx.web/src/main/java/com/sun/webkit/WebPage.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/WebPage.java	Fri Aug 10 15:30:29 2018 -0700
@@ -26,6 +26,8 @@
 package com.sun.webkit;
 
 import com.sun.glass.utils.NativeLibLoader;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.webkit.event.WCFocusEvent;
 import com.sun.webkit.event.WCInputMethodEvent;
 import com.sun.webkit.event.WCKeyEvent;
@@ -56,8 +58,6 @@
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.concurrent.locks.ReentrantLock;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import netscape.javascript.JSException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -76,8 +76,8 @@
  */
 
 public final class WebPage {
-    private final static Logger log = Logger.getLogger(WebPage.class.getName());
-    private final static Logger paintLog = Logger.getLogger(WebPage.class.getName() + ".paint");
+    private final static PlatformLogger log = PlatformLogger.getLogger(WebPage.class.getName());
+    private final static PlatformLogger paintLog = PlatformLogger.getLogger(WebPage.class.getName() + ".paint");
 
     private static final int MAX_FRAME_QUEUE_SIZE = 10;
 
@@ -277,8 +277,7 @@
 
     private void updateDirty(WCRectangle clip) {
         if (paintLog.isLoggable(Level.FINEST)) {
-            paintLog.log(Level.FINEST, "Entering, "
-                    + "dirtyRects: {0}, currentFrame: {1}",
+            paintLog.finest("Entering, dirtyRects: {0}, currentFrame: {1}",
                     new Object[] {dirtyRects, currentFrame});
         }
 
@@ -300,7 +299,7 @@
             if (r.getWidth() <= 0 || r.getHeight() <= 0) {
                 continue;
             }
-            paintLog.log(Level.FINEST, "Updating: {0}", r);
+            paintLog.finest("Updating: {0}", r);
             WCRenderQueue rq = WCGraphicsManager.getGraphicsManager()
                     .createRenderQueue(r, true);
             twkUpdateContent(getPage(), rq, r.getIntX() - 1, r.getIntY() - 1,
@@ -317,15 +316,13 @@
         }
 
         if (paintLog.isLoggable(Level.FINEST)) {
-            paintLog.log(Level.FINEST, "Dirty rects processed, "
-                    + "dirtyRects: {0}, currentFrame: {1}",
+            paintLog.finest("Dirty rects processed, dirtyRects: {0}, currentFrame: {1}",
                     new Object[] {dirtyRects, currentFrame});
         }
 
         if (currentFrame.getRQList().size() > 0) {
             synchronized (frameQueue) {
-                paintLog.log(Level.FINEST, "About to update frame queue, "
-                        + "frameQueue: {0}", frameQueue);
+                paintLog.finest("About to update frame queue, frameQueue: {0}", frameQueue);
 
                 Iterator<RenderFrame> it = frameQueue.iterator();
                 while (it.hasNext()) {
@@ -335,7 +332,7 @@
                         if (rq.isOpaque()
                                 && rqRect.contains(frame.getEnclosingRect()))
                         {
-                            paintLog.log(Level.FINEST, "Dropping: {0}", frame);
+                            paintLog.finest("Dropping: {0}", frame);
                             frame.drop();
                             it.remove();
                             break;
@@ -347,20 +344,18 @@
                 currentFrame = new RenderFrame();
 
                 if (frameQueue.size() > MAX_FRAME_QUEUE_SIZE) {
-                    paintLog.log(Level.FINEST, "Frame queue exceeded maximum "
+                    paintLog.finest("Frame queue exceeded maximum "
                             + "size, clearing and requesting full repaint");
                     dropRenderFrames();
                     repaintAll();
                 }
 
-                paintLog.log(Level.FINEST, "Frame queue updated, "
-                        + "frameQueue: {0}", frameQueue);
+                paintLog.finest("Frame queue updated, frameQueue: {0}", frameQueue);
             }
         }
 
         if (paintLog.isLoggable(Level.FINEST)) {
-            paintLog.log(Level.FINEST,
-                    "Exiting, dirtyRects: {0}, currentFrame: {1}",
+            paintLog.finest("Exiting, dirtyRects: {0}, currentFrame: {1}",
                     new Object[] {dirtyRects, currentFrame});
         }
     }
@@ -402,7 +397,7 @@
                 for (WCRectangle r: dirtyRects) {
                     if (scrollRect.contains(r)) {
                         if (paintLog.isLoggable(Level.FINEST)) {
-                            paintLog.log(Level.FINEST, "translating old dirty rect by the delta: " + r);
+                            paintLog.finest("translating old dirty rect by the delta: " + r);
                         }
                         r.translate(dx, dy);
                     }
@@ -530,9 +525,9 @@
     public void setBounds(int x, int y, int w, int h) {
         lockPage();
         try {
-            log.log(Level.FINE, "setBounds: " + x + " " + y + " " + w + " " + h);
+            log.fine("setBounds: " + x + " " + y + " " + w + " " + h);
             if (isDisposed) {
-                log.log(Level.FINE, "setBounds() request for a disposed web page.");
+                log.fine("setBounds() request for a disposed web page.");
                 return;
             }
             width = w;
@@ -565,9 +560,9 @@
     public void setOpaque(long frameID, boolean isOpaque) {
         lockPage();
         try {
-            log.log(Level.FINE, "setOpaque: " + isOpaque);
+            log.fine("setOpaque: " + isOpaque);
             if (isDisposed) {
-                log.log(Level.FINE, "setOpaque() request for a disposed web page.");
+                log.fine("setOpaque() request for a disposed web page.");
                 return;
             }
             if (!frames.contains(frameID)) {
@@ -583,9 +578,9 @@
     public void setBackgroundColor(long frameID, int backgroundColor) {
         lockPage();
         try {
-            log.log(Level.FINE, "setBackgroundColor: " + backgroundColor);
+            log.fine("setBackgroundColor: " + backgroundColor);
             if (isDisposed) {
-                log.log(Level.FINE, "setBackgroundColor() request for a disposed web page.");
+                log.fine("setBackgroundColor() request for a disposed web page.");
                 return;
             }
             if (!frames.contains(frameID)) {
@@ -601,10 +596,10 @@
     public void setBackgroundColor(int backgroundColor) {
         lockPage();
         try {
-            log.log(Level.FINE, "setBackgroundColor: " + backgroundColor +
+            log.fine("setBackgroundColor: " + backgroundColor +
                    " for all frames");
             if (isDisposed) {
-                log.log(Level.FINE, "setBackgroundColor() request for a disposed web page.");
+                log.fine("setBackgroundColor() request for a disposed web page.");
                 return;
             }
 
@@ -625,7 +620,7 @@
         try {
             ++updateContentCycleID;
 
-            paintLog.log(Level.FINEST, "toPaint: {0}", toPaint);
+            paintLog.finest("toPaint: {0}", toPaint);
             if (isDisposed) {
                 paintLog.fine("updateContent() request for a disposed web page.");
                 return;
@@ -722,10 +717,10 @@
             frameQueue.clear();
         }
 
-        paintLog.log(Level.FINEST, "Frames to render: {0}", framesToRender);
+        paintLog.finest("Frames to render: {0}", framesToRender);
 
         for (RenderFrame frame : framesToRender) {
-            paintLog.log(Level.FINEST, "Rendering: {0}", frame);
+            paintLog.finest("Rendering: {0}", frame);
             for (WCRenderQueue rq : frame.getRQList()) {
                 gc.saveState();
                 if (rq.getClip() != null) {
@@ -758,9 +753,9 @@
     public void dispatchFocusEvent(WCFocusEvent fe) {
         lockPage();
         try {
-            log.log(Level.FINEST, "dispatchFocusEvent: " + fe);
+            log.finest("dispatchFocusEvent: " + fe);
             if (isDisposed) {
-                log.log(Level.FINE, "Focus event for a disposed web page.");
+                log.fine("Focus event for a disposed web page.");
                 return;
             }
             twkProcessFocusEvent(getPage(), fe.getID(), fe.getDirection());
@@ -773,13 +768,13 @@
     public boolean dispatchKeyEvent(WCKeyEvent ke) {
         lockPage();
         try {
-            log.log(Level.FINEST, "dispatchKeyEvent: " + ke);
+            log.finest("dispatchKeyEvent: " + ke);
             if (isDisposed) {
-                log.log(Level.FINE, "Key event for a disposed web page.");
+                log.fine("Key event for a disposed web page.");
                 return false;
             }
             if (WCKeyEvent.filterEvent(ke)) {
-                log.log(Level.FINEST, "filtered");
+                log.finest("filtered");
                 return false;
             }
             return twkProcessKeyEvent(getPage(), ke.getType(), ke.getText(),
@@ -795,9 +790,9 @@
     public boolean dispatchMouseEvent(WCMouseEvent me) {
         lockPage();
         try {
-            log.log(Level.FINEST, "dispatchMouseEvent: " + me.getX() + "," + me.getY());
+            log.finest("dispatchMouseEvent: " + me.getX() + "," + me.getY());
             if (isDisposed) {
-                log.log(Level.FINE, "Mouse event for a disposed web page.");
+                log.fine("Mouse event for a disposed web page.");
                 return false;
             }
 
@@ -817,9 +812,9 @@
     public boolean dispatchMouseWheelEvent(WCMouseWheelEvent me) {
         lockPage();
         try {
-            log.log(Level.FINEST, "dispatchMouseWheelEvent: " + me);
+            log.finest("dispatchMouseWheelEvent: " + me);
             if (isDisposed) {
-                log.log(Level.FINE, "MouseWheel event for a disposed web page.");
+                log.fine("MouseWheel event for a disposed web page.");
                 return false;
             }
             return twkProcessMouseWheelEvent(getPage(),
@@ -835,9 +830,9 @@
     public boolean dispatchInputMethodEvent(WCInputMethodEvent ie) {
         lockPage();
         try {
-            log.log(Level.FINEST, "dispatchInputMethodEvent: " + ie);
+            log.finest("dispatchInputMethodEvent: " + ie);
             if (isDisposed) {
-                log.log(Level.FINE, "InputMethod event for a disposed web page.");
+                log.fine("InputMethod event for a disposed web page.");
                 return false;
             }
             switch (ie.getID()) {
@@ -878,11 +873,11 @@
     {
         lockPage();
         try {
-            log.log(Level.FINEST, "dispatchDragOperation: " + x + "," + y
+            log.finest("dispatchDragOperation: " + x + "," + y
                     + " dndCommand:" + commandId
                     + " dndAction" + dndActionId);
             if (isDisposed) {
-                log.log(Level.FINE, "DnD event for a disposed web page.");
+                log.fine("DnD event for a disposed web page.");
                 return 0;
             }
             return twkProcessDrag(getPage(),
@@ -915,7 +910,7 @@
         lockPage();
         try {
             if (isDisposed) {
-                log.log(Level.FINE, "getClientTextLocation() request for a disposed web page.");
+                log.fine("getClientTextLocation() request for a disposed web page.");
                 return new int[] { 0, 0, 0, 0 };
             }
             Invoker.getInvoker().checkEventThread();
@@ -930,7 +925,7 @@
         lockPage();
         try {
             if (isDisposed) {
-                log.log(Level.FINE, "getClientLocationOffset() request for a disposed web page.");
+                log.fine("getClientLocationOffset() request for a disposed web page.");
                 return 0;
             }
             Invoker.getInvoker().checkEventThread();
@@ -945,7 +940,7 @@
         lockPage();
         try {
             if (isDisposed) {
-                log.log(Level.FINE, "getClientInsertPositionOffset() request for a disposed web page.");
+                log.fine("getClientInsertPositionOffset() request for a disposed web page.");
                 return 0;
             }
             return twkGetInsertPositionOffset(getPage());
@@ -959,7 +954,7 @@
         lockPage();
         try {
             if (isDisposed) {
-                log.log(Level.FINE, "getClientCommittedTextOffset() request for a disposed web page.");
+                log.fine("getClientCommittedTextOffset() request for a disposed web page.");
                 return 0;
             }
             return twkGetCommittedTextLength(getPage());
@@ -973,7 +968,7 @@
         lockPage();
         try {
             if (isDisposed) {
-                log.log(Level.FINE, "getClientCommittedText() request for a disposed web page.");
+                log.fine("getClientCommittedText() request for a disposed web page.");
                 return "";
             }
             return twkGetCommittedText(getPage());
@@ -987,7 +982,7 @@
         lockPage();
         try {
             if (isDisposed) {
-                log.log(Level.FINE, "getClientSelectedText() request for a disposed web page.");
+                log.fine("getClientSelectedText() request for a disposed web page.");
                 return "";
             }
             return twkGetSelectedText(getPage());
@@ -1004,7 +999,7 @@
     public void dispose() {
         lockPage();
         try {
-            log.log(Level.FINER, "dispose");
+            log.finer("dispose");
 
             stop();
             dropRenderFrames();
@@ -1014,7 +1009,7 @@
             pPage = 0;
 
             for (long frameID : frames) {
-                log.log(Level.FINE, "Undestroyed frame view: " + frameID);
+                log.fine("Undestroyed frame view: " + frameID);
             }
             frames.clear();
 
@@ -1030,9 +1025,9 @@
     public String getName(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get Name: frame = " + frameID);
+            log.fine("Get Name: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "getName() request for a disposed web page.");
+                log.fine("getName() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(frameID)) {
@@ -1048,9 +1043,9 @@
     public String getURL(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get URL: frame = " + frameID);
+            log.fine("Get URL: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "getURL() request for a disposed web page.");
+                log.fine("getURL() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(frameID)) {
@@ -1066,9 +1061,9 @@
     public String getEncoding() {
         lockPage();
         try {
-            log.log(Level.FINE, "Get encoding");
+            log.fine("Get encoding");
             if (isDisposed) {
-                log.log(Level.FINE, "getEncoding() request for a disposed web page.");
+                log.fine("getEncoding() request for a disposed web page.");
                 return null;
             }
             return twkGetEncoding(getPage());
@@ -1081,9 +1076,9 @@
     public void setEncoding(String encoding) {
         lockPage();
         try {
-            log.log(Level.FINE, "Set encoding: encoding = " + encoding);
+            log.fine("Set encoding: encoding = " + encoding);
             if (isDisposed) {
-                log.log(Level.FINE, "setEncoding() request for a disposed web page.");
+                log.fine("setEncoding() request for a disposed web page.");
                 return;
             }
             if (encoding != null && !encoding.isEmpty()) {
@@ -1099,9 +1094,9 @@
     public String getInnerText(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get inner text: frame = " + frameID);
+            log.fine("Get inner text: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "getInnerText() request for a disposed web page.");
+                log.fine("getInnerText() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(frameID)) {
@@ -1118,9 +1113,9 @@
     public String getRenderTree(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get render tree: frame = " + frameID);
+            log.fine("Get render tree: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "getRenderTree() request for a disposed web page.");
+                log.fine("getRenderTree() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(frameID)) {
@@ -1137,9 +1132,9 @@
     public int getUnloadEventListenersCount(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "frame: " + frameID);
+            log.fine("frame: " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "request for a disposed web page.");
+                log.fine("request for a disposed web page.");
                 return 0;
             }
             if (!frames.contains(frameID)) {
@@ -1155,9 +1150,9 @@
     public String getContentType(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get content type: frame = " + frameID);
+            log.fine("Get content type: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "getContentType() request for a disposed web page.");
+                log.fine("getContentType() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(frameID)) {
@@ -1173,9 +1168,9 @@
     public String getTitle(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get title: frame = " + frameID);
+            log.fine("Get title: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "getTitle() request for a disposed web page.");
+                log.fine("getTitle() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(frameID)) {
@@ -1191,9 +1186,9 @@
     public WCImage getIcon(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get icon: frame = " + frameID);
+            log.fine("Get icon: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "getIcon() request for a disposed web page.");
+                log.fine("getIcon() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(frameID)) {
@@ -1214,9 +1209,9 @@
     public void open(final long frameID, final String url) {
         lockPage();
         try {
-            log.log(Level.FINE, "Open URL: " + url);
+            log.fine("Open URL: " + url);
             if (isDisposed) {
-                log.log(Level.FINE, "open() request for a disposed web page.");
+                log.fine("open() request for a disposed web page.");
                 return;
             }
             if (!frames.contains(frameID)) {
@@ -1240,12 +1235,12 @@
     public void load(final long frameID, final String text, final String contentType) {
         lockPage();
         try {
-            log.log(Level.FINE, "Load text: " + text);
+            log.fine("Load text: " + text);
             if (text == null) {
                 return;
             }
             if (isDisposed) {
-                log.log(Level.FINE, "load() request for a disposed web page.");
+                log.fine("load() request for a disposed web page.");
                 return;
             }
             if (!frames.contains(frameID)) {
@@ -1270,12 +1265,12 @@
     public void stop(final long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Stop loading: frame = " + frameID);
+            log.fine("Stop loading: frame = " + frameID);
 
             String url;
             String contentType;
             if (isDisposed) {
-                log.log(Level.FINE, "cancel() request for a disposed web page.");
+                log.fine("cancel() request for a disposed web page.");
                 return;
             }
             if (!frames.contains(frameID)) {
@@ -1297,9 +1292,9 @@
     public void stop() {
         lockPage();
         try {
-            log.log(Level.FINE, "Stop loading sync");
+            log.fine("Stop loading sync");
             if (isDisposed) {
-                log.log(Level.FINE, "stopAll() request for a disposed web page.");
+                log.fine("stopAll() request for a disposed web page.");
                 return;
             }
             twkStopAll(getPage());
@@ -1312,9 +1307,9 @@
     public void refresh(final long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Refresh: frame = " + frameID);
+            log.fine("Refresh: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "refresh() request for a disposed web page.");
+                log.fine("refresh() request for a disposed web page.");
                 return;
             }
             if (!frames.contains(frameID)) {
@@ -1334,9 +1329,9 @@
     public boolean goBack() {
         lockPage();
         try {
-            log.log(Level.FINE, "Go back");
+            log.fine("Go back");
             if (isDisposed) {
-                log.log(Level.FINE, "goBack() request for a disposed web page.");
+                log.fine("goBack() request for a disposed web page.");
                 return false;
             }
             return twkGoBackForward(getPage(), -1);
@@ -1349,9 +1344,9 @@
     public boolean goForward() {
         lockPage();
         try {
-            log.log(Level.FINE, "Go forward");
+            log.fine("Go forward");
             if (isDisposed) {
-                log.log(Level.FINE, "goForward() request for a disposed web page.");
+                log.fine("goForward() request for a disposed web page.");
                 return false;
             }
             return twkGoBackForward(getPage(), 1);
@@ -1364,9 +1359,9 @@
     public boolean copy() {
         lockPage();
         try {
-            log.log(Level.FINE, "Copy");
+            log.fine("Copy");
             if (isDisposed) {
-                log.log(Level.FINE, "copy() request for a disposed web page.");
+                log.fine("copy() request for a disposed web page.");
                 return false;
             }
             long frameID = getMainFrame();
@@ -1384,10 +1379,10 @@
     public boolean find(String stringToFind, boolean forward, boolean wrap, boolean matchCase) {
         lockPage();
         try {
-            log.log(Level.FINE, "Find in page: stringToFind = " + stringToFind + ", " +
+            log.fine("Find in page: stringToFind = " + stringToFind + ", " +
                     (forward ? "forward" : "backward") + (wrap ? ", wrap" : "") + (matchCase ? ", matchCase" : ""));
             if (isDisposed) {
-                log.log(Level.FINE, "find() request for a disposed web page.");
+                log.fine("find() request for a disposed web page.");
                 return false;
             }
             return twkFindInPage(getPage(), stringToFind, forward, wrap, matchCase);
@@ -1403,10 +1398,10 @@
     {
         lockPage();
         try {
-            log.log(Level.FINE, "Find in frame: stringToFind = " + stringToFind + ", " +
+            log.fine("Find in frame: stringToFind = " + stringToFind + ", " +
                     (forward ? "forward" : "backward") + (wrap ? ", wrap" : "") + (matchCase ? ", matchCase" : ""));
             if (isDisposed) {
-                log.log(Level.FINE, "find() request for a disposed web page.");
+                log.fine("find() request for a disposed web page.");
                 return false;
             }
             if (!frames.contains(frameID)) {
@@ -1440,9 +1435,9 @@
     public float getZoomFactor(boolean textOnly) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get zoom factor, textOnly=" + textOnly);
+            log.fine("Get zoom factor, textOnly=" + textOnly);
             if (isDisposed) {
-                log.log(Level.FINE, "getZoomFactor() request for a disposed web page.");
+                log.fine("getZoomFactor() request for a disposed web page.");
                 return 1.0f;
             }
             long frameID = getMainFrame();
@@ -1460,7 +1455,7 @@
         try {
             log.fine(String.format("Set zoom factor %.2f, textOnly=%b", zoomFactor, textOnly));
             if (isDisposed) {
-                log.log(Level.FINE, "setZoomFactor() request for a disposed web page.");
+                log.fine("setZoomFactor() request for a disposed web page.");
                 return;
             }
             long frameID = getMainFrame();
@@ -1482,9 +1477,9 @@
     public void reset(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Reset: frame = " + frameID);
+            log.fine("Reset: frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "reset() request for a disposed web page.");
+                log.fine("reset() request for a disposed web page.");
                 return;
             }
             if ((frameID == 0) || !frames.contains(frameID)) {
@@ -1500,9 +1495,9 @@
     public Object executeScript(long frameID, String script) throws JSException {
         lockPage();
         try {
-            log.log(Level.FINE, "execute script: \"" + script + "\" in frame = " + frameID);
+            log.fine("execute script: \"" + script + "\" in frame = " + frameID);
             if (isDisposed) {
-                log.log(Level.FINE, "executeScript() request for a disposed web page.");
+                log.fine("executeScript() request for a disposed web page.");
                 return null;
             }
             if ((frameID == 0) || !frames.contains(frameID)) {
@@ -1518,13 +1513,13 @@
     public long getMainFrame() {
         lockPage();
         try {
-            log.log(Level.FINER, "getMainFrame: page = " + pPage);
+            log.finer("getMainFrame: page = " + pPage);
             if (isDisposed) {
-                log.log(Level.FINE, "getMainFrame() request for a disposed web page.");
+                log.fine("getMainFrame() request for a disposed web page.");
                 return 0L;
             }
             long mainFrameID = twkGetMainFrame(getPage());
-            log.log(Level.FINER, "Main frame = " + mainFrameID);
+            log.finer("Main frame = " + mainFrameID);
             frames.add(mainFrameID);
             return mainFrameID;
         } finally {
@@ -1535,9 +1530,9 @@
     public long getParentFrame(long childID) {
         lockPage();
         try {
-            log.log(Level.FINE, "getParentFrame: child = " + childID);
+            log.fine("getParentFrame: child = " + childID);
             if (isDisposed) {
-                log.log(Level.FINE, "getParentFrame() request for a disposed web page.");
+                log.fine("getParentFrame() request for a disposed web page.");
                 return 0L;
             }
             if (!frames.contains(childID)) {
@@ -1552,9 +1547,9 @@
     public List<Long> getChildFrames(long parentID) {
         lockPage();
         try {
-            log.log(Level.FINE, "getChildFrames: parent = " + parentID);
+            log.fine("getChildFrames: parent = " + parentID);
             if (isDisposed) {
-                log.log(Level.FINE, "getChildFrames() request for a disposed web page.");
+                log.fine("getChildFrames() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(parentID)) {
@@ -1620,9 +1615,9 @@
     public Document getDocument(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "getDocument");
+            log.fine("getDocument");
             if (isDisposed) {
-                log.log(Level.FINE, "getDocument() request for a disposed web page.");
+                log.fine("getDocument() request for a disposed web page.");
                 return null;
             }
 
@@ -1638,9 +1633,9 @@
     public Element getOwnerElement(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "getOwnerElement");
+            log.fine("getOwnerElement");
             if (isDisposed) {
-                log.log(Level.FINE, "getOwnerElement() request for a disposed web page.");
+                log.fine("getOwnerElement() request for a disposed web page.");
                 return null;
             }
 
@@ -1659,17 +1654,17 @@
         lockPage();
         try {
             if (log.isLoggable(Level.FINE)) {
-                log.log(Level.FINE, "command: [{0}], value: [{1}]",
+                log.fine("command: [{0}], value: [{1}]",
                         new Object[] {command, value});
             }
             if (isDisposed) {
-                log.log(Level.FINE, "Web page is already disposed");
+                log.fine("Web page is already disposed");
                 return false;
             }
 
             boolean result = twkExecuteCommand(getPage(), command, value);
 
-            log.log(Level.FINE, "result: [{0}]", result);
+            log.fine("result: [{0}]", result);
             return result;
         } finally {
             unlockPage();
@@ -1679,15 +1674,15 @@
     public boolean queryCommandEnabled(String command) {
         lockPage();
         try {
-            log.log(Level.FINE, "command: [{0}]", command);
+            log.fine("command: [{0}]", command);
             if (isDisposed) {
-                log.log(Level.FINE, "Web page is already disposed");
+                log.fine("Web page is already disposed");
                 return false;
             }
 
             boolean result = twkQueryCommandEnabled(getPage(), command);
 
-            log.log(Level.FINE, "result: [{0}]", result);
+            log.fine("result: [{0}]", result);
             return result;
         } finally {
             unlockPage();
@@ -1697,15 +1692,15 @@
     public boolean queryCommandState(String command) {
         lockPage();
         try {
-            log.log(Level.FINE, "command: [{0}]", command);
+            log.fine("command: [{0}]", command);
             if (isDisposed) {
-                log.log(Level.FINE, "Web page is already disposed");
+                log.fine("Web page is already disposed");
                 return false;
             }
 
             boolean result = twkQueryCommandState(getPage(), command);
 
-            log.log(Level.FINE, "result: [{0}]", result);
+            log.fine("result: [{0}]", result);
             return result;
         } finally {
             unlockPage();
@@ -1715,15 +1710,15 @@
     public String queryCommandValue(String command) {
         lockPage();
         try {
-            log.log(Level.FINE, "command: [{0}]", command);
+            log.fine("command: [{0}]", command);
             if (isDisposed) {
-                log.log(Level.FINE, "Web page is already disposed");
+                log.fine("Web page is already disposed");
                 return null;
             }
 
             String result = twkQueryCommandValue(getPage(), command);
 
-            log.log(Level.FINE, "result: [{0}]", result);
+            log.fine("result: [{0}]", result);
             return result;
         } finally {
             unlockPage();
@@ -1733,9 +1728,9 @@
     public boolean isEditable() {
         lockPage();
         try {
-            log.log(Level.FINE, "isEditable");
+            log.fine("isEditable");
             if (isDisposed) {
-                log.log(Level.FINE, "isEditable() request for a disposed web page.");
+                log.fine("isEditable() request for a disposed web page.");
                 return false;
             }
 
@@ -1748,9 +1743,9 @@
     public void setEditable(boolean editable) {
         lockPage();
         try {
-            log.log(Level.FINE, "setEditable");
+            log.fine("setEditable");
             if (isDisposed) {
-                log.log(Level.FINE, "setEditable() request for a disposed web page.");
+                log.fine("setEditable() request for a disposed web page.");
                 return;
             }
 
@@ -1767,9 +1762,9 @@
     public String getHtml(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "getHtml");
+            log.fine("getHtml");
             if (isDisposed) {
-                log.log(Level.FINE, "getHtml() request for a disposed web page.");
+                log.fine("getHtml() request for a disposed web page.");
                 return null;
             }
             if (!frames.contains(frameID)) {
@@ -1875,16 +1870,16 @@
     public int getFrameHeight(long frameID) {
         lockPage();
         try {
-            log.log(Level.FINE, "Get page height");
+            log.fine("Get page height");
             if (isDisposed) {
-                log.log(Level.FINE, "getFrameHeight() request for a disposed web page.");
+                log.fine("getFrameHeight() request for a disposed web page.");
                 return 0;
             }
             if (!frames.contains(frameID)) {
                 return 0;
             }
             int height = twkGetFrameHeight(frameID);
-            log.log(Level.FINE, "Height = " + height);
+            log.fine("Height = " + height);
             return height;
         } finally {
             unlockPage();
@@ -1896,9 +1891,9 @@
     {
         lockPage();
         try {
-            log.log(Level.FINE, "Adjust page height");
+            log.fine("Adjust page height");
             if (isDisposed) {
-                log.log(Level.FINE, "adjustFrameHeight() request for a disposed web page.");
+                log.fine("adjustFrameHeight() request for a disposed web page.");
                 return 0;
             }
             if (!frames.contains(frameID)) {
@@ -1944,9 +1939,7 @@
         lockPage();
         try {
             boolean result = twkGetDeveloperExtrasEnabled(getPage());
-            log.log(Level.FINE,
-                    "Getting developerExtrasEnabled, result: [{0}]",
-                    result);
+            log.fine("Getting developerExtrasEnabled, result: [{0}]", result);
             return result;
         } finally {
             unlockPage();
@@ -1956,9 +1949,7 @@
     public void setDeveloperExtrasEnabled(boolean enabled) {
         lockPage();
         try {
-            log.log(Level.FINE,
-                    "Setting developerExtrasEnabled, value: [{0}]",
-                    enabled);
+            log.fine("Setting developerExtrasEnabled, value: [{0}]", enabled);
             twkSetDeveloperExtrasEnabled(getPage(), enabled);
         } finally {
             unlockPage();
@@ -2051,7 +2042,7 @@
     public void connectInspectorFrontend() {
         lockPage();
         try {
-            log.log(Level.FINE, "Connecting inspector frontend");
+            log.fine("Connecting inspector frontend");
             twkConnectInspectorFrontend(getPage());
         } finally {
             unlockPage();
@@ -2061,7 +2052,7 @@
     public void disconnectInspectorFrontend() {
         lockPage();
         try {
-            log.log(Level.FINE, "Disconnecting inspector frontend");
+            log.fine("Disconnecting inspector frontend");
             twkDisconnectInspectorFrontend(getPage());
         } finally {
             unlockPage();
@@ -2072,10 +2063,8 @@
         lockPage();
         try {
             if (log.isLoggable(Level.FINE)) {
-                log.log(Level.FINE,
-                        "Dispatching inspector message from frontend, "
-                        + "message: [{0}]",
-                        message);
+                log.fine("Dispatching inspector message from frontend, "
+                        + "message: [{0}]",  message);
             }
             twkDispatchInspectorMessageFromFrontend(getPage(), message);
         } finally {
@@ -2088,18 +2077,18 @@
     // *************************************************************************
 
     private void fwkFrameCreated(long frameID) {
-        log.log(Level.FINE, "Frame created: frame = " + frameID);
+        log.fine("Frame created: frame = " + frameID);
         if (frames.contains(frameID)) {
-            log.log(Level.FINE, "Error in fwkFrameCreated: frame is already in frames");
+            log.fine("Error in fwkFrameCreated: frame is already in frames");
             return;
         }
         frames.add(frameID);
     }
 
     private void fwkFrameDestroyed(long frameID) {
-        log.log(Level.FINE, "Frame destroyed: frame = " + frameID);
+        log.fine("Frame destroyed: frame = " + frameID);
         if (!frames.contains(frameID)) {
-            log.log(Level.FINE, "Error in fwkFrameDestroyed: frame is not found in frames");
+            log.fine("Error in fwkFrameDestroyed: frame is not found in frames");
             return;
         }
         frames.remove(frameID);
@@ -2109,7 +2098,7 @@
         lockPage();
         try {
             if (paintLog.isLoggable(Level.FINEST)) {
-                paintLog.log(Level.FINEST, "x: {0}, y: {1}, w: {2}, h: {3}",
+                paintLog.finest("x: {0}, y: {1}, w: {2}, h: {3}",
                         new Object[] {x, y, w, h});
             }
             addDirtyRect(new WCRectangle(x, y, w, h));
@@ -2131,7 +2120,7 @@
     }
 
     private void fwkTransferFocus(boolean forward) {
-        log.log(Level.FINER, "Transfer focus " + (forward ? "forward" : "backward"));
+        log.finer("Transfer focus " + (forward ? "forward" : "backward"));
 
         if (pageClient != null) {
             pageClient.transferFocus(forward);
@@ -2139,7 +2128,7 @@
     }
 
     private void fwkSetCursor(long id) {
-        log.log(Level.FINER, "Set cursor: " + id);
+        log.finer("Set cursor: " + id);
 
         if (pageClient != null) {
             pageClient.setCursor(id);
@@ -2147,7 +2136,7 @@
     }
 
     private void fwkSetFocus(boolean focus) {
-        log.log(Level.FINER, "Set focus: " + (focus ? "true" : "false"));
+        log.finer("Set focus: " + (focus ? "true" : "false"));
 
         if (pageClient != null) {
             pageClient.setFocus(focus);
@@ -2155,7 +2144,7 @@
     }
 
     private void fwkSetTooltip(String tooltip) {
-        log.log(Level.FINER, "Set tooltip: " + tooltip);
+        log.finer("Set tooltip: " + tooltip);
 
         if (pageClient != null) {
             pageClient.setTooltip(tooltip);
@@ -2163,7 +2152,7 @@
     }
 
     private void fwkPrint() {
-        log.log(Level.FINER, "Print");
+        log.finer("Print");
 
         if (uiClient != null) {
             uiClient.print();
@@ -2171,7 +2160,7 @@
     }
 
     private void fwkSetRequestURL(long pFrame, int id, String url) {
-        log.log(Level.FINER, "Set request URL: id = " + id + ", url = " + url);
+        log.finer("Set request URL: id = " + id + ", url = " + url);
 
         synchronized (requestURLs) {
             requestURLs.put(id, url);
@@ -2179,7 +2168,7 @@
     }
 
     private void fwkRemoveRequestURL(long pFrame, int id) {
-        log.log(Level.FINER, "Set request URL: id = " + id);
+        log.finer("Set request URL: id = " + id);
 
         synchronized (requestURLs) {
             requestURLs.remove(id);
@@ -2189,7 +2178,7 @@
 
     private WebPage fwkCreateWindow(
             boolean menu, boolean status, boolean toolbar, boolean resizable) {
-        log.log(Level.FINER, "Create window");
+        log.finer("Create window");
 
         if (uiClient != null) {
             return uiClient.createPage(menu, status, toolbar, resizable);
@@ -2198,7 +2187,7 @@
     }
 
     private void fwkShowWindow() {
-        log.log(Level.FINER, "Show window");
+        log.finer("Show window");
 
         if (uiClient != null) {
             uiClient.showView();
@@ -2206,7 +2195,7 @@
     }
 
     private void fwkCloseWindow() {
-        log.log(Level.FINER, "Close window");
+        log.finer("Close window");
 
         if (permitCloseWindowAction()) {
             if (uiClient != null) {
@@ -2216,7 +2205,7 @@
     }
 
     private WCRectangle fwkGetWindowBounds() {
-        log.log(Level.FINE, "Get window bounds");
+        log.fine("Get window bounds");
 
         if (uiClient != null) {
             WCRectangle bounds = uiClient.getViewBounds();
@@ -2228,7 +2217,7 @@
     }
 
     private void fwkSetWindowBounds(int x, int y, int w, int h) {
-        log.log(Level.FINER, "Set window bounds: " + x + " " + y + " " + w + " " + h);
+        log.finer("Set window bounds: " + x + " " + y + " " + w + " " + h);
 
         if (uiClient != null) {
             uiClient.setViewBounds(new WCRectangle(x, y, w, h));
@@ -2236,7 +2225,7 @@
     }
 
     private WCRectangle fwkGetPageBounds() {
-        log.log(Level.FINER, "Get page bounds");
+        log.finer("Get page bounds");
         return new WCRectangle(0, 0, width, height);
     }
 
@@ -2245,7 +2234,7 @@
     }
 
     private void fwkSetStatusbarText(String text) {
-        log.log(Level.FINER, "Set statusbar text: " + text);
+        log.finer("Set statusbar text: " + text);
 
         if (uiClient != null) {
             uiClient.setStatusbarText(text);
@@ -2253,7 +2242,7 @@
     }
 
     private String[] fwkChooseFile(String initialFileName, boolean multiple, String mimeFilters) {
-        log.log(Level.FINER, "Choose file, initial=" + initialFileName);
+        log.finer("Choose file, initial=" + initialFileName);
 
         return uiClient != null
                 ? uiClient.chooseFile(initialFileName, multiple, mimeFilters)
@@ -2267,7 +2256,7 @@
           String[] mimeTypes, Object[] values,
           boolean isImageSource)
     {
-        log.log(Level.FINER, "Start drag: ");
+        log.finer("Start drag: ");
         if (uiClient != null) {
             uiClient.startDrag(
                   WCImage.getImage(image),
@@ -2279,7 +2268,7 @@
     }
 
     private WCPoint fwkScreenToWindow(WCPoint ptScreen) {
-        log.log(Level.FINER, "fwkScreenToWindow");
+        log.finer("fwkScreenToWindow");
 
         if (pageClient != null) {
             return pageClient.screenToWindow(ptScreen);
@@ -2288,7 +2277,7 @@
     }
 
     private WCPoint fwkWindowToScreen(WCPoint ptWindow) {
-        log.log(Level.FINER, "fwkWindowToScreen");
+        log.finer("fwkWindowToScreen");
 
         if (pageClient != null) {
             return pageClient.windowToScreen(ptWindow);
@@ -2298,7 +2287,7 @@
 
 
     private void fwkAlert(String text) {
-        log.log(Level.FINE, "JavaScript alert(): text = " + text);
+        log.fine("JavaScript alert(): text = " + text);
 
         if (uiClient != null) {
             uiClient.alert(text);
@@ -2306,7 +2295,7 @@
     }
 
     private boolean fwkConfirm(String text) {
-        log.log(Level.FINE, "JavaScript confirm(): text = " + text);
+        log.fine("JavaScript confirm(): text = " + text);
 
         if (uiClient != null) {
             return uiClient.confirm(text);
@@ -2315,7 +2304,7 @@
     }
 
     private String fwkPrompt(String text, String defaultValue) {
-        log.log(Level.FINE, "JavaScript prompt(): text = " + text + ", default = " + defaultValue);
+        log.fine("JavaScript prompt(): text = " + text + ", default = " + defaultValue);
 
         if (uiClient != null) {
             return uiClient.prompt(text, defaultValue);
@@ -2324,7 +2313,7 @@
     }
 
     private boolean fwkCanRunBeforeUnloadConfirmPanel() {
-        log.log(Level.FINE, "JavaScript canRunBeforeUnloadConfirmPanel()");
+        log.fine("JavaScript canRunBeforeUnloadConfirmPanel()");
 
         if (uiClient != null) {
             return uiClient.canRunBeforeUnloadConfirmPanel();
@@ -2333,7 +2322,7 @@
     }
 
     private boolean fwkRunBeforeUnloadConfirmPanel(String message) {
-        log.log(Level.FINE, "JavaScript runBeforeUnloadConfirmPanel(): message = " + message);
+        log.fine("JavaScript runBeforeUnloadConfirmPanel(): message = " + message);
 
         if (uiClient != null) {
             return uiClient.runBeforeUnloadConfirmPanel(message);
@@ -2344,7 +2333,7 @@
     private void fwkAddMessageToConsole(String message, int lineNumber,
             String sourceId)
     {
-        log.log(Level.FINE, "fwkAddMessageToConsole(): message = " + message
+        log.fine("fwkAddMessageToConsole(): message = " + message
                 + ", lineNumber = " + lineNumber + ", sourceId = " + sourceId);
         if (pageClient != null) {
             pageClient.addMessageToConsole(message, lineNumber, sourceId);
@@ -2355,7 +2344,7 @@
                                   String url, String contentType,
                                   double progress, int errorCode)
     {
-        log.log(Level.FINER, "Load event: pFrame = " + frameID + ", state = " + state +
+        log.finer("Load event: pFrame = " + frameID + ", state = " + state +
                 ", url = " + url + ", contenttype=" + contentType +
                 ", progress = " + progress + ", error = " + errorCode);
 
@@ -2366,13 +2355,13 @@
                                           int id, String contentType,
                                           double progress, int errorCode)
     {
-        log.log(Level.FINER, "Resource load event: pFrame = " + frameID + ", state = " + state +
+        log.finer("Resource load event: pFrame = " + frameID + ", state = " + state +
                 ", id = " + id + ", contenttype=" + contentType +
                 ", progress = " + progress + ", error = " + errorCode);
 
         String url = requestURLs.get(id);
         if (url == null) {
-            log.log(Level.FINE, "Error in fwkFireResourceLoadEvent: unknown request id " + id);
+            log.fine("Error in fwkFireResourceLoadEvent: unknown request id " + id);
             return;
         }
 
@@ -2390,7 +2379,7 @@
     }
 
     private boolean fwkPermitNavigateAction(long pFrame, String url) {
-        log.log(Level.FINE, "Policy: permit NAVIGATE: pFrame = " + pFrame + ", url = " + url);
+        log.fine("Policy: permit NAVIGATE: pFrame = " + pFrame + ", url = " + url);
 
         if (policyClient != null) {
             return policyClient.permitNavigateAction(pFrame, str2url(url));
@@ -2399,7 +2388,7 @@
     }
 
     private boolean fwkPermitRedirectAction(long pFrame, String url) {
-        log.log(Level.FINE, "Policy: permit REDIRECT: pFrame = " + pFrame + ", url = " + url);
+        log.fine("Policy: permit REDIRECT: pFrame = " + pFrame + ", url = " + url);
 
         if (policyClient != null) {
             return policyClient.permitRedirectAction(pFrame, str2url(url));
@@ -2408,7 +2397,7 @@
     }
 
     private boolean fwkPermitAcceptResourceAction(long pFrame, String url) {
-        log.log(Level.FINE, "Policy: permit ACCEPT_RESOURCE: pFrame + " + pFrame + ", url = " + url);
+        log.fine("Policy: permit ACCEPT_RESOURCE: pFrame + " + pFrame + ", url = " + url);
 
         if (policyClient != null) {
             return policyClient.permitAcceptResourceAction(pFrame, str2url(url));
@@ -2419,7 +2408,7 @@
     private boolean fwkPermitSubmitDataAction(long pFrame, String url,
                                               String httpMethod, boolean isSubmit)
     {
-        log.log(Level.FINE, "Policy: permit " + (isSubmit ? "" : "RE") + "SUBMIT_DATA: pFrame = " +
+        log.fine("Policy: permit " + (isSubmit ? "" : "RE") + "SUBMIT_DATA: pFrame = " +
                 pFrame + ", url = " + url + ", httpMethod = " + httpMethod);
 
         if (policyClient != null) {
@@ -2433,7 +2422,7 @@
     }
 
     private boolean fwkPermitEnableScriptsAction(long pFrame, String url) {
-        log.log(Level.FINE, "Policy: permit ENABLE_SCRIPTS: pFrame + " + pFrame + ", url = " + url);
+        log.fine("Policy: permit ENABLE_SCRIPTS: pFrame + " + pFrame + ", url = " + url);
 
         if (policyClient != null) {
             return policyClient.permitEnableScriptsAction(pFrame, str2url(url));
@@ -2442,7 +2431,7 @@
     }
 
     private boolean fwkPermitNewWindowAction(long pFrame, String url) {
-        log.log(Level.FINE, "Policy: permit NEW_PAGE: pFrame = " + pFrame + ", url = " + url);
+        log.fine("Policy: permit NEW_PAGE: pFrame = " + pFrame + ", url = " + url);
 
         if (policyClient != null) {
             return policyClient.permitNewPageAction(pFrame, str2url(url));
@@ -2452,7 +2441,7 @@
 
     // Called from fwkCloseWindow, that's why no "fwk" prefix
     private boolean permitCloseWindowAction() {
-        log.log(Level.FINE, "Policy: permit CLOSE_PAGE");
+        log.fine("Policy: permit CLOSE_PAGE");
 
         if (policyClient != null) {
             // Unfortunately, webkit doesn't provide an information about what
@@ -2463,23 +2452,22 @@
     }
 
     private void fwkRepaintAll() {
-        log.log(Level.FINE, "Repainting the entire page");
+        log.fine("Repainting the entire page");
         repaintAll();
     }
 
     private boolean fwkSendInspectorMessageToFrontend(String message) {
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE,
-                    "Sending inspector message to frontend, message: [{0}]",
+            log.fine("Sending inspector message to frontend, message: [{0}]",
                     message);
         }
         boolean result = false;
         if (inspectorClient != null) {
-            log.log(Level.FINE, "Invoking inspector client");
+            log.fine("Invoking inspector client");
             result = inspectorClient.sendMessageToFrontend(message);
         }
         if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, "Result: [{0}]", result);
+            log.fine("Result: [{0}]", result);
         }
         return result;
     }
@@ -2506,7 +2494,7 @@
         try {
             return newURL(url);
         } catch (MalformedURLException ex) {
-            log.log(Level.FINE, "Exception while converting \"" + url + "\" to URL", ex);
+            log.fine("Exception while converting \"" + url + "\" to URL", ex);
         }
         return null;
     }
--- a/modules/javafx.web/src/main/java/com/sun/webkit/graphics/GraphicsDecoder.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/graphics/GraphicsDecoder.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,10 +25,11 @@
 
 package com.sun.webkit.graphics;
 
+import com.sun.javafx.logging.PlatformLogger;
+
 import java.lang.annotation.Native;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
-import java.util.logging.Logger;
 
 public final class GraphicsDecoder  {
     @Native public final static int FILLRECT_FFFFI         = 0;
@@ -84,8 +85,8 @@
     @Native public final static int SET_MITER_LIMIT        = 54;
     @Native public final static int SET_TEXT_MODE          = 55;
 
-    private final static Logger log =
-        Logger.getLogger(GraphicsDecoder.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(GraphicsDecoder.class.getName());
 
     static void decode(WCGraphicsManager gm, WCGraphicsContext gc, BufferData bdata) {
         if (gc == null) {
--- a/modules/javafx.web/src/main/java/com/sun/webkit/graphics/WCGraphicsManager.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/graphics/WCGraphicsManager.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,6 +25,7 @@
 
 package com.sun.webkit.graphics;
 
+import com.sun.javafx.logging.PlatformLogger;
 import com.sun.webkit.SharedBuffer;
 import com.sun.webkit.SimpleSharedBufferInputStream;
 import java.io.IOException;
@@ -34,13 +35,11 @@
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 public abstract class WCGraphicsManager {
 
-    private static final Logger logger =
-            Logger.getLogger(WCGraphicsManager.class.getName());
+    private static final PlatformLogger logger =
+            PlatformLogger.getLogger(WCGraphicsManager.class.getName());
 
     private final AtomicInteger idCount = new AtomicInteger(0);
 
@@ -79,9 +78,7 @@
             return createFontCustomPlatformData(
                     new SimpleSharedBufferInputStream(sharedBuffer));
         } catch (IOException ex) {
-            logger.log(Level.FINEST,
-                       "Error creating font custom platform data",
-                       ex);
+            logger.finest("Error creating font custom platform data", ex);
             return null;
         }
     }
--- a/modules/javafx.web/src/main/java/com/sun/webkit/graphics/WCMediaPlayer.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/graphics/WCMediaPlayer.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,27 +25,12 @@
 
 package com.sun.webkit.graphics;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import com.sun.javafx.logging.PlatformLogger;
 import com.sun.webkit.Invoker;
 
 public abstract class WCMediaPlayer extends Ref {
 
-    protected final static Logger log;
-    protected final static boolean verbose;
-
-    static {
-        log = Logger.getLogger("webkit.mediaplayer");
-        if (log.getLevel() == null) {
-            // disable logging if webkit.mediaplayer.level
-            // is not specified (explicitly) in log config file
-            verbose = false;
-            log.setLevel(Level.OFF);
-        } else {
-            verbose = true;
-            log.log(Level.CONFIG, "webkit.mediaplayer logging is ON, level: {0}", log.getLevel());
-        }
-    }
+    protected final static PlatformLogger log = PlatformLogger.getLogger("webkit.mediaplayer");
 
     // pointer to native Player object;
     // read the value only on FX event thread, check that it has non-zero value;
@@ -169,7 +154,7 @@
     }
 
     protected void notifyPaused(boolean paused) {
-        if (verbose) log.log(Level.FINE, "notifyPaused, {0} => {1}",
+        log.fine("notifyPaused, {0} => {1}",
                 new Object[]{Boolean.valueOf(this.paused), Boolean.valueOf(paused)});
         if (this.paused != paused) {
             this.paused = paused;
@@ -184,7 +169,7 @@
 
     // pass -1 as readyState value if the state is not changed
     protected void notifySeeking(boolean seeking, int readyState) {
-        if (verbose) log.log(Level.FINE, "notifySeeking, {0} => {1}",
+        log.fine("notifySeeking, {0} => {1}",
                 new Object[]{Boolean.valueOf(this.seeking), Boolean.valueOf(seeking)});
         if (this.seeking != seeking || this.readyState != readyState) {
             this.seeking = seeking;
@@ -267,72 +252,72 @@
     /* ======================================= */
 
     private void fwkLoad(String url, String userAgent) {
-        if (verbose) log.log(Level.FINE, "fwkLoad, url={0}, userAgent={1}", new Object[] {url, userAgent});
+        log.fine("fwkLoad, url={0}, userAgent={1}", new Object[] {url, userAgent});
         load(url, userAgent);
     }
 
     private void fwkCancelLoad() {
-        if (verbose) log.log(Level.FINE, "fwkCancelLoad");
+        log.fine("fwkCancelLoad");
         cancelLoad();
     }
 
     private void fwkPrepareToPlay() {
-        if (verbose) log.log(Level.FINE, "fwkPrepareToPlay");
+        log.fine("fwkPrepareToPlay");
         prepareToPlay();
     }
 
     private void fwkDispose() {
-        if (verbose) log.log(Level.FINE, "fwkDispose");
+        log.fine("fwkDispose");
         nPtr = 0;
         cancelLoad();
         disposePlayer();
     }
 
     private void fwkPlay() {
-        if (verbose) log.log(Level.FINE, "fwkPlay");
+        log.fine("fwkPlay");
         play();
     }
 
     private void fwkPause() {
-        if (verbose) log.log(Level.FINE, "fwkPause");
+        log.fine("fwkPause");
         pause();
     }
 
     private float fwkGetCurrentTime() {
         float res = getCurrentTime();
-        if (verbose) log.log(Level.FINER, "fwkGetCurrentTime(), return {0}", res);
+        log.finer("fwkGetCurrentTime(), return {0}", res);
         return res;
     }
 
     private void fwkSeek(float time) {
-        if (verbose) log.log(Level.FINE, "fwkSeek({0})", time);
+        log.fine("fwkSeek({0})", time);
         seek(time);
     }
 
     private void fwkSetRate(float rate) {
-        if (verbose) log.log(Level.FINE, "fwkSetRate({0})", rate);
+        log.fine("fwkSetRate({0})", rate);
         setRate(rate);
     }
 
     private void fwkSetVolume(float volume) {
-        if (verbose) log.log(Level.FINE, "fwkSetVolume({0})", volume);
+        log.fine("fwkSetVolume({0})", volume);
         setVolume(volume);
     }
 
     private void fwkSetMute(boolean mute) {
-        if (verbose) log.log(Level.FINE, "fwkSetMute({0})", mute);
+        log.fine("fwkSetMute({0})", mute);
         setMute(mute);
     }
 
     private void fwkSetSize(int w, int h) {
-        //if (verbose) log.log(Level.FINE, "setSize({0} x {1})", new Object[]{w, h});
+        //log.fine("setSize({0} x {1})", new Object[]{w, h});
         setSize(w, h);
     }
 
     private boolean preserve = true;
 
     private void fwkSetPreservesPitch(boolean preserve) {
-        if (verbose) log.log(Level.FINE, "setPreservesPitch({0})", preserve);
+        log.fine("setPreservesPitch({0})", preserve);
 //        synchronized(renderLock) {
             this.preserve = preserve;
             setPreservesPitch(preserve);
@@ -340,22 +325,17 @@
     }
 
     private void fwkSetPreload(int preload) {
-        if (verbose) {
-            log.log(Level.FINE, "fwkSetPreload({0})",
-                    preload == PRELOAD_NONE ? "PRELOAD_NONE"
-                    : preload == PRELOAD_METADATA ? "PRELOAD_METADATA"
-                    : preload == PRELOAD_AUTO ? "PRELOAD_AUTO"
-                    : ("INVALID VALUE: " + preload));
-        }
+        log.fine("fwkSetPreload({0})",
+                preload == PRELOAD_NONE ? "PRELOAD_NONE"
+                : preload == PRELOAD_METADATA ? "PRELOAD_METADATA"
+                : preload == PRELOAD_AUTO ? "PRELOAD_AUTO"
+                : ("INVALID VALUE: " + preload));
         this.preload = preload;
     }
 
     /* called from GraphicsDecoder */
     void render(WCGraphicsContext gc, int x, int y, int w, int h) {
-        if (verbose) {
-            log.log(Level.FINER, "render(x={0}, y={1}, w={2}, h={3}",
-                    new Object[]{x, y, w, h});
-        }
+        log.finer("render(x={0}, y={1}, w={2}, h={3}", new Object[]{x, y, w, h});
         renderCurrentFrame(gc, x, y, w, h);
     }
 
--- a/modules/javafx.web/src/main/java/com/sun/webkit/graphics/WCRenderQueue.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/graphics/WCRenderQueue.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -26,18 +26,18 @@
 package com.sun.webkit.graphics;
 
 import java.lang.annotation.Native;
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
 import com.sun.webkit.Invoker;
 import java.nio.ByteBuffer;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 public abstract class WCRenderQueue extends Ref {
     private final static AtomicInteger idCountObj = new AtomicInteger(0);
-    private final static Logger log =
-        Logger.getLogger(WCRenderQueue.class.getName());
+    private final static PlatformLogger log =
+            PlatformLogger.getLogger(WCRenderQueue.class.getName());
     @Native public final static int MAX_QUEUE_SIZE = 0x80000;
 
     private final LinkedList<BufferData> buffers = new LinkedList<BufferData>();
@@ -67,7 +67,7 @@
 
     public synchronized void addBuffer(ByteBuffer buffer) {
         if (log.isLoggable(Level.FINE) && buffers.isEmpty()) {
-            log.log(Level.FINE, "'{'WCRenderQueue{0}[{1}]",
+            log.fine("'{'WCRenderQueue{0}[{1}]",
                     new Object[]{hashCode(), idCountObj.incrementAndGet()});
         }
         currentBuffer.setBuffer(buffer);
@@ -138,7 +138,7 @@
             });
             size = 0;
             if (log.isLoggable(Level.FINE)) {
-                log.log(Level.FINE, "'}'WCRenderQueue{0}[{1}]",
+                log.fine("'}'WCRenderQueue{0}[{1}]",
                         new Object[]{hashCode(), idCountObj.decrementAndGet()});
             }
         }
--- a/modules/javafx.web/src/main/java/com/sun/webkit/network/Cookie.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/network/Cookie.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,10 +25,10 @@
 
 package com.sun.webkit.network;
 
+import com.sun.javafx.logging.PlatformLogger;
+
 import java.net.URI;
 import java.text.ParseException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -37,8 +37,8 @@
  */
 final class Cookie {
 
-    private static final Logger logger =
-            Logger.getLogger(Cookie.class.getName());
+    private static final PlatformLogger logger =
+            PlatformLogger.getLogger(Cookie.class.getName());
     private static final Pattern IP_ADDRESS_PATTERN = Pattern.compile(
             "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})");
 
@@ -83,20 +83,20 @@
      * object.
      */
     static Cookie parse(String setCookieString, ExtendedTime currentTime) {
-        logger.log(Level.FINEST, "setCookieString: [{0}]", setCookieString);
+        logger.finest("setCookieString: [{0}]", setCookieString);
 
         String[] items = setCookieString.split(";", -1);
 
         String[] nameValuePair = items[0].split("=", 2);
         if (nameValuePair.length != 2) {
-            logger.log(Level.FINEST, "Name-value pair string lacks '=', "
+            logger.finest("Name-value pair string lacks '=', "
                     + "ignoring cookie");
             return null;
         }
         String name = nameValuePair[0].trim();
         String value = nameValuePair[1].trim();
         if (name.length() == 0) {
-            logger.log(Level.FINEST, "Name string is empty, ignoring cookie");
+            logger.finest("Name string is empty, ignoring cookie");
             return null;
         }
 
@@ -126,11 +126,11 @@
                 } else if ("HttpOnly".equalsIgnoreCase(attrName)) {
                     httpOnly = true;
                 } else {
-                    logger.log(Level.FINEST, "Unknown attribute: [{0}], "
+                    logger.finest("Unknown attribute: [{0}], "
                             + "ignoring", attrName);
                 }
             } catch (ParseException ex) {
-                logger.log(Level.FINEST, "{0}, ignoring", ex.getMessage());
+                logger.finest("{0}, ignoring", ex.getMessage());
             }
         }
 
@@ -154,7 +154,7 @@
         Cookie result = new Cookie(name, value, expiryTime, domain, path,
                 currentTime, currentTime.baseTime(), persistent, false,
                 secure, httpOnly);
-        logger.log(Level.FINEST, "result: {0}", result);
+        logger.finest("result: {0}", result);
         return result;
     }
 
--- a/modules/javafx.web/src/main/java/com/sun/webkit/network/CookieManager.java	Fri Aug 03 05:52:01 2018 -0700
+++ b/modules/javafx.web/src/main/java/com/sun/webkit/network/CookieManager.java	Fri Aug 10 15:30:29 2018 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, 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
@@ -25,6 +25,9 @@
 
 package com.sun.webkit.network;
 
+import com.sun.javafx.logging.PlatformLogger;
+import com.sun.javafx.logging.PlatformLogger.Level;
+
 import java.net.CookieHandler;
 import java.net.URI;
 import java.util.Arrays;
@@ -33,16 +36,14 @@
 import java.util.List;
 import java.util.ListIterator;
 import java.ut