changeset 6378:5f994e8a51cc

RT-35197: Use Lambda in FX runtime and samples [Lambdify base] Summary: Base was lambdified and unlambdified file names recorded in the JIRA Reviewed-by: martin.sladecek, krc
author snorthov
date Thu, 27 Feb 2014 11:03:36 -0500
parents 21c34af9c73c
children 16994ab70364
files modules/base/src/main/java/com/sun/javafx/PlatformUtil.java modules/base/src/main/java/com/sun/javafx/collections/TrackableObservableList.java modules/base/src/main/java/com/sun/javafx/collections/UnmodifiableObservableMap.java modules/base/src/main/java/com/sun/javafx/collections/VetoableListDecorator.java modules/base/src/main/java/com/sun/javafx/logging/PrintLogger.java modules/base/src/main/java/com/sun/javafx/runtime/SystemProperties.java modules/base/src/main/java/javafx/beans/property/ListPropertyBase.java modules/base/src/main/java/javafx/beans/property/MapPropertyBase.java modules/base/src/main/java/javafx/beans/property/ReadOnlyBooleanProperty.java modules/base/src/main/java/javafx/beans/property/ReadOnlyDoubleProperty.java modules/base/src/main/java/javafx/beans/property/ReadOnlyFloatProperty.java modules/base/src/main/java/javafx/beans/property/ReadOnlyIntegerProperty.java modules/base/src/main/java/javafx/beans/property/ReadOnlyLongProperty.java modules/base/src/main/java/javafx/beans/property/SetPropertyBase.java modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanBooleanProperty.java modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanDoubleProperty.java modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanFloatProperty.java modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanIntegerProperty.java modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanLongProperty.java modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanObjectProperty.java modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanStringProperty.java modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanBooleanProperty.java modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanDoubleProperty.java modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanFloatProperty.java modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanIntegerProperty.java modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanLongProperty.java modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanObjectProperty.java modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanStringProperty.java modules/base/src/main/java/javafx/collections/FXCollections.java modules/base/src/main/java/javafx/collections/transformation/FilteredList.java modules/base/src/main/java/javafx/collections/transformation/TransformationList.java modules/base/src/main/java/javafx/event/Event.java modules/base/src/test/java/com/sun/javafx/binding/ExpressionHelperBaseTest.java modules/base/src/test/java/com/sun/javafx/collections/ListListenerHelperTest.java modules/base/src/test/java/com/sun/javafx/collections/MapListenerHelperTest.java modules/base/src/test/java/com/sun/javafx/collections/MappingChangeTest.java modules/base/src/test/java/com/sun/javafx/collections/SetListenerHelperTest.java modules/base/src/test/java/com/sun/javafx/event/EventHandlerManagerTest.java modules/base/src/test/java/javafx/beans/property/adapter/JavaBeanPropertyTestBase.java modules/base/src/test/java/javafx/beans/property/adapter/ReadOnlyJavaBeanPropertyTestBase.java modules/base/src/test/java/javafx/binding/BindingsCreateBindingTest.java modules/base/src/test/java/javafx/collections/FXCollectionsTest.java modules/base/src/test/java/javafx/collections/FilteredListTest.java modules/base/src/test/java/javafx/collections/ListChangeBuilderTest.java modules/base/src/test/java/javafx/collections/ObservableListTest.java modules/base/src/test/java/javafx/collections/ObservableListWithExtractor.java modules/base/src/test/java/javafx/collections/SortedListTest.java modules/base/src/test/java/javafx/collections/TestedObservableLists.java modules/base/src/test/java/javafx/collections/TestedObservableMaps.java modules/base/src/test/java/javafx/collections/TestedObservableSets.java modules/base/src/test/java/javafx/collections/VetoableObservableListTest.java
diffstat 51 files changed, 416 insertions(+), 893 deletions(-) [+]
line wrap: on
line diff
--- a/modules/base/src/main/java/com/sun/javafx/PlatformUtil.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/com/sun/javafx/PlatformUtil.java	Thu Feb 27 11:03:36 2014 -0500
@@ -48,38 +48,14 @@
     private static String javafxPlatform;
 
     static {
-        javafxPlatform = AccessController.doPrivileged(new PrivilegedAction<String>() {
-            @Override public String run() {
-                return System.getProperty("javafx.platform");
-            }
-        });
+        javafxPlatform = AccessController.doPrivileged((PrivilegedAction<String>) () -> System.getProperty("javafx.platform"));
         loadProperties();
-        embedded = AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
-            @Override public Boolean run() {
-                return Boolean.getBoolean("com.sun.javafx.isEmbedded");
-            }
-        });
-        embedded3DEnabled = AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
-            @Override public Boolean run() {
-                return Boolean.getBoolean("com.sun.javafx.experimental.embedded.3d");
-            }
-        });
-        embeddedType = AccessController.doPrivileged(new PrivilegedAction<String>() {
-            @Override public String run() {
-                return System.getProperty("embedded");
-            }
-        });
-        useEGL = AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
-            @Override public Boolean run() {
-                return Boolean.getBoolean("use.egl");
-            }
-        });
+        embedded = AccessController.doPrivileged((PrivilegedAction<Boolean>) () -> Boolean.getBoolean("com.sun.javafx.isEmbedded"));
+        embedded3DEnabled = AccessController.doPrivileged((PrivilegedAction<Boolean>) () -> Boolean.getBoolean("com.sun.javafx.experimental.embedded.3d"));
+        embeddedType = AccessController.doPrivileged((PrivilegedAction<String>) () -> System.getProperty("embedded"));
+        useEGL = AccessController.doPrivileged((PrivilegedAction<Boolean>) () -> Boolean.getBoolean("use.egl"));
         if (useEGL) {
-            doEGLCompositing = AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
-                @Override public Boolean run() {
-                    return Boolean.getBoolean("doNativeComposite");
-                }
-            });
+            doEGLCompositing = AccessController.doPrivileged((PrivilegedAction<Boolean>) () -> Boolean.getBoolean("doNativeComposite"));
         } else
             doEGLCompositing = false;
     }
@@ -156,11 +132,7 @@
     public static boolean useGLES2() {
         String useGles2 = "false";
         useGles2 =
-                AccessController.doPrivileged(new PrivilegedAction<String>() {
-                    public String run() {
-                        return System.getProperty("use.gles2");
-                    }
-                });
+                AccessController.doPrivileged((PrivilegedAction<String>) () -> System.getProperty("use.gles2"));
         if ("true".equals(useGles2))
             return true;
         else
@@ -278,35 +250,33 @@
                 (vmname != null && vmname.indexOf("Embedded") > 0))) {
             return;
         }
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                final File rtDir = getRTDir();
-                final String propertyFilename = "javafx.platform.properties";
-                File rtProperties = new File(rtDir, propertyFilename);
-                // First look for javafx.platform.properties in the JavaFX runtime
-                // Then in the installation directory of the JRE
-                if (rtProperties.exists()) {
-                    loadPropertiesFromFile(rtProperties);
-                    return null;
-                } 
-                String javaHome = System.getProperty("java.home");
-                File javaHomeProperties = new File(javaHome,
-                                                   "lib" + File.separator
-                                                   + propertyFilename);
-                if (javaHomeProperties.exists()) {
-                    loadPropertiesFromFile(javaHomeProperties);
-                    return null;
-                } 
-                
-                String javafxRuntimePath = System.getProperty("javafx.runtime.path");
-                File javafxRuntimePathProperties = new File(javafxRuntimePath,
-                                                         File.separator + propertyFilename);
-                if (javafxRuntimePathProperties.exists()) {
-                   loadPropertiesFromFile(javafxRuntimePathProperties);
-                   return null;
-                }
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            final File rtDir = getRTDir();
+            final String propertyFilename = "javafx.platform.properties";
+            File rtProperties = new File(rtDir, propertyFilename);
+            // First look for javafx.platform.properties in the JavaFX runtime
+            // Then in the installation directory of the JRE
+            if (rtProperties.exists()) {
+                loadPropertiesFromFile(rtProperties);
                 return null;
             }
+            String javaHome = System.getProperty("java.home");
+            File javaHomeProperties = new File(javaHome,
+                                               "lib" + File.separator
+                                               + propertyFilename);
+            if (javaHomeProperties.exists()) {
+                loadPropertiesFromFile(javaHomeProperties);
+                return null;
+            }
+
+            String javafxRuntimePath = System.getProperty("javafx.runtime.path");
+            File javafxRuntimePathProperties = new File(javafxRuntimePath,
+                                                     File.separator + propertyFilename);
+            if (javafxRuntimePathProperties.exists()) {
+               loadPropertiesFromFile(javafxRuntimePathProperties);
+               return null;
+            }
+            return null;
         });
     }
     
--- a/modules/base/src/main/java/com/sun/javafx/collections/TrackableObservableList.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/com/sun/javafx/collections/TrackableObservableList.java	Thu Feb 27 11:03:36 2014 -0500
@@ -41,12 +41,8 @@
 
     public TrackableObservableList() {
         super(new ArrayList<T>());
-        addListener(new ListChangeListener<T>() {
-
-            @Override
-            public void onChanged(Change<? extends T> c) {
-                TrackableObservableList.this.onChanged((Change<T>)c);
-            }
+        addListener((Change<? extends T> c) -> {
+            TrackableObservableList.this.onChanged((Change<T>)c);
         });
     }
 
--- a/modules/base/src/main/java/com/sun/javafx/collections/UnmodifiableObservableMap.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/com/sun/javafx/collections/UnmodifiableObservableMap.java	Thu Feb 27 11:03:36 2014 -0500
@@ -51,11 +51,8 @@
 
     public UnmodifiableObservableMap(ObservableMap<K, V> map) {
         this.backingMap = map;
-        listener = new MapChangeListener<K, V>() {
-            @Override
-            public void onChanged(Change<? extends K,? extends V> c) {
-                callObservers(new MapAdapterChange<K, V>(UnmodifiableObservableMap.this, c));
-            }
+        listener = c -> {
+            callObservers(new MapAdapterChange<K, V>(UnmodifiableObservableMap.this, c));
         };
         this.backingMap.addListener(new WeakMapChangeListener<K, V>(listener));
     }
--- a/modules/base/src/main/java/com/sun/javafx/collections/VetoableListDecorator.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/com/sun/javafx/collections/VetoableListDecorator.java	Thu Feb 27 11:03:36 2014 -0500
@@ -72,12 +72,9 @@
 
     public VetoableListDecorator(ObservableList<E> decorated) {
         this.list = decorated;
-        this.list.addListener(new ListChangeListener<E>() {
-            @Override
-            public void onChanged(ListChangeListener.Change<? extends E> c) {
-                ListListenerHelper.fireValueChangedEvent(helper, 
-                        new SourceAdapterChange<E>(VetoableListDecorator.this, c));
-            }
+        this.list.addListener((ListChangeListener.Change<? extends E> c) -> {
+            ListListenerHelper.fireValueChangedEvent(helper,
+                    new SourceAdapterChange<E>(VetoableListDecorator.this, c));
         });
     }
 
--- a/modules/base/src/main/java/com/sun/javafx/logging/PrintLogger.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/com/sun/javafx/logging/PrintLogger.java	Thu Feb 27 11:03:36 2014 -0500
@@ -62,22 +62,13 @@
      * only the time of the pulse is logged.
      */
     private static long THRESHOLD = (long)
-            AccessController.doPrivileged(new PrivilegedAction<Integer>() {
-                @Override public Integer run() {
-                    return Integer.getInteger("javafx.pulseLogger.threshold", 17);
-                }
-            });
+            AccessController.doPrivileged((PrivilegedAction<Integer>) () -> Integer.getInteger("javafx.pulseLogger.threshold", 17));
     
     /**
      * Optionally exit after a given number of pulses
      */
     private static final int EXIT_ON_PULSE =
-            AccessController.doPrivileged(new PrivilegedAction<Integer>() {
-                @Override
-                public Integer run() {
-                    return Integer.getInteger("javafx.pulseLogger.exitOnPulse", 0);
-                }
-            });
+            AccessController.doPrivileged((PrivilegedAction<Integer>) () -> Integer.getInteger("javafx.pulseLogger.exitOnPulse", 0));
 
     /**
      * We have a simple counter that keeps track of the current pulse number.
@@ -160,11 +151,7 @@
 
     public static Logger getInstance() {
         if (printLogger == null) {
-            boolean enabled = AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
-                    @Override public Boolean run() {
-                        return Boolean.getBoolean("javafx.pulseLogger");
-                    }
-                });
+            boolean enabled = AccessController.doPrivileged((PrivilegedAction<Boolean>) () -> Boolean.getBoolean("javafx.pulseLogger"));
             if (enabled) {
                 printLogger = new PrintLogger();
             }
@@ -408,12 +395,7 @@
                 if (!counters.isEmpty()) {
                     System.err.println("Counters:");
                     List<Map.Entry<String,Counter>> entries = new ArrayList(counters.entrySet());
-                    Collections.sort(entries, new Comparator<Map.Entry<String,Counter>>() {
-                        @Override
-                        public int compare(Map.Entry<String,Counter> a, Map.Entry<String,Counter> b) {
-                            return a.getKey().compareTo(b.getKey());
-                        }
-                    });
+                    Collections.sort(entries, (a, b) -> a.getKey().compareTo(b.getKey()));
                     for (Map.Entry<String, Counter> entry : entries) {
                         System.err.println("\t" + entry.getKey() + ": " + entry.getValue().value);
                     }
--- a/modules/base/src/main/java/com/sun/javafx/runtime/SystemProperties.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/com/sun/javafx/runtime/SystemProperties.java	Thu Feb 27 11:03:36 2014 -0500
@@ -61,14 +61,12 @@
     private static boolean isDebug;
 
     static {
-        AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-                addProperties (sysprop_table, false);
-                addProperties (jfxprop_table, true);
-                setVersions();
-                isDebug = "true".equalsIgnoreCase(getProperty("javafx.debug"));
-                return null;
-            }
+        AccessController.doPrivileged((PrivilegedAction) () -> {
+            addProperties (sysprop_table, false);
+            addProperties (jfxprop_table, true);
+            setVersions();
+            isDebug = "true".equalsIgnoreCase(getProperty("javafx.debug"));
+            return null;
         });
     }
 
--- a/modules/base/src/main/java/javafx/beans/property/ListPropertyBase.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/ListPropertyBase.java	Thu Feb 27 11:03:36 2014 -0500
@@ -50,13 +50,10 @@
  */
 public abstract class ListPropertyBase<E> extends ListProperty<E> {
 
-    private final ListChangeListener<E> listChangeListener = new ListChangeListener<E>() {
-        @Override
-        public void onChanged(Change<? extends E> change) {
-            invalidateProperties();
-            invalidated();
-            fireValueChangedEvent(change);
-        }
+    private final ListChangeListener<E> listChangeListener = change -> {
+        invalidateProperties();
+        invalidated();
+        fireValueChangedEvent(change);
     };
 
     private ObservableList<E> value;
--- a/modules/base/src/main/java/javafx/beans/property/MapPropertyBase.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/MapPropertyBase.java	Thu Feb 27 11:03:36 2014 -0500
@@ -50,13 +50,10 @@
  */
 public abstract class MapPropertyBase<K, V> extends MapProperty<K, V> {
 
-    private final MapChangeListener<K, V> mapChangeListener = new MapChangeListener<K, V>() {
-        @Override
-        public void onChanged(Change<? extends K, ? extends V> change) {
-            invalidateProperties();
-            invalidated();
-            fireValueChangedEvent(change);
-        }
+    private final MapChangeListener<K, V> mapChangeListener = change -> {
+        invalidateProperties();
+        invalidated();
+        fireValueChangedEvent(change);
     };
 
     private ObservableMap<K, V> value;
--- a/modules/base/src/main/java/javafx/beans/property/ReadOnlyBooleanProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/ReadOnlyBooleanProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -94,13 +94,10 @@
         return property instanceof ReadOnlyBooleanProperty ? (ReadOnlyBooleanProperty) property
                 : new ReadOnlyBooleanPropertyBase() {
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
@@ -141,13 +138,10 @@
         return new ReadOnlyObjectPropertyBase<Boolean>() {
 
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
--- a/modules/base/src/main/java/javafx/beans/property/ReadOnlyDoubleProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/ReadOnlyDoubleProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -94,13 +94,10 @@
         return property instanceof ReadOnlyDoubleProperty ? (ReadOnlyDoubleProperty) property:
            new ReadOnlyDoublePropertyBase() {
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
@@ -141,13 +138,10 @@
         return new ReadOnlyObjectPropertyBase<Double>() {
 
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
--- a/modules/base/src/main/java/javafx/beans/property/ReadOnlyFloatProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/ReadOnlyFloatProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -94,13 +94,10 @@
         return property instanceof ReadOnlyFloatProperty ? (ReadOnlyFloatProperty) property:
            new ReadOnlyFloatPropertyBase() {
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
@@ -141,13 +138,10 @@
         return new ReadOnlyObjectPropertyBase<Float>() {
 
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
--- a/modules/base/src/main/java/javafx/beans/property/ReadOnlyIntegerProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/ReadOnlyIntegerProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -95,13 +95,10 @@
         return property instanceof ReadOnlyIntegerProperty ? (ReadOnlyIntegerProperty) property:
            new ReadOnlyIntegerPropertyBase() {
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
@@ -142,13 +139,10 @@
         return new ReadOnlyObjectPropertyBase<Integer>() {
 
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
--- a/modules/base/src/main/java/javafx/beans/property/ReadOnlyLongProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/ReadOnlyLongProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -93,13 +93,10 @@
         return property instanceof ReadOnlyLongProperty ? (ReadOnlyLongProperty) property:
            new ReadOnlyLongPropertyBase() {
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
@@ -140,13 +137,10 @@
         return new ReadOnlyObjectPropertyBase<Long>() {
 
             private boolean valid = true;
-            private final InvalidationListener listener = new InvalidationListener() {
-                @Override
-                public void invalidated(Observable observable) {
-                    if (valid) {
-                        valid = false;
-                        fireValueChangedEvent();
-                    }
+            private final InvalidationListener listener = observable -> {
+                if (valid) {
+                    valid = false;
+                    fireValueChangedEvent();
                 }
             };
 
--- a/modules/base/src/main/java/javafx/beans/property/SetPropertyBase.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/SetPropertyBase.java	Thu Feb 27 11:03:36 2014 -0500
@@ -50,13 +50,10 @@
  */
 public abstract class SetPropertyBase<E> extends SetProperty<E> {
 
-    private final SetChangeListener<E> setChangeListener = new SetChangeListener<E>() {
-        @Override
-        public void onChanged(Change<? extends E> change) {
-            invalidateProperties();
-            invalidated();
-            fireValueChangedEvent(change);
-        }
+    private final SetChangeListener<E> setChangeListener = change -> {
+        invalidateProperties();
+        invalidated();
+        fireValueChangedEvent(change);
     };
 
     private ObservableSet<E> value;
--- a/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanBooleanProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanBooleanProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -77,11 +77,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new Listener<Boolean>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                JavaBeanBooleanProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            JavaBeanBooleanProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -94,15 +91,13 @@
      */
     @Override
     public boolean get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
-            public Boolean run() {
-                try {
-                    return (Boolean)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Boolean>) () -> {
+            try {
+                return (Boolean)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
@@ -120,18 +115,16 @@
             throw new RuntimeException("A bound value cannot be set.");
         }
 
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                try {
-                    MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
-                    ExpressionHelper.fireValueChangedEvent(helper);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
-                return null;
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            try {
+                MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
+                ExpressionHelper.fireValueChangedEvent(helper);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
+            return null;
         }, acc);
     }
 
--- a/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanDoubleProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanDoubleProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -77,11 +77,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new Listener<Number>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                JavaBeanDoubleProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            JavaBeanDoubleProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -94,16 +91,14 @@
      */
     @Override
     public double get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Double>() {
-            public Double run() {
-                try {
-                    return ((Number)MethodUtil.invoke(
-                        descriptor.getGetter(), getBean(), (Object[])null)).doubleValue();
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Double>) () -> {
+            try {
+                return ((Number)MethodUtil.invoke(
+                    descriptor.getGetter(), getBean(), (Object[])null)).doubleValue();
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
@@ -121,18 +116,16 @@
             throw new RuntimeException("A bound value cannot be set.");
         }
 
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                try {
-                    MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
-                    ExpressionHelper.fireValueChangedEvent(helper);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
-                return null;
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            try {
+                MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
+                ExpressionHelper.fireValueChangedEvent(helper);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
+            return null;
         }, acc);
     }
 
--- a/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanFloatProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanFloatProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -77,11 +77,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new Listener<Number>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                JavaBeanFloatProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            JavaBeanFloatProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -94,16 +91,14 @@
      */
     @Override
     public float get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Float>() {
-            public Float run() {
-                try {
-                    return ((Number)MethodUtil.invoke(
-                        descriptor.getGetter(), getBean(), (Object[])null)).floatValue();
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Float>) () -> {
+            try {
+                return ((Number)MethodUtil.invoke(
+                    descriptor.getGetter(), getBean(), (Object[])null)).floatValue();
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
@@ -120,18 +115,16 @@
         if (isBound()) {
             throw new RuntimeException("A bound value cannot be set.");
         }
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                try {
-                    MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
-                    ExpressionHelper.fireValueChangedEvent(helper);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
-                return null;
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            try {
+                MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
+                ExpressionHelper.fireValueChangedEvent(helper);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
+            return null;
         }, acc);
     }
 
--- a/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanIntegerProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanIntegerProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -77,11 +77,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new Listener<Number>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                JavaBeanIntegerProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            JavaBeanIntegerProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -94,16 +91,14 @@
      */
     @Override
     public int get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Integer>() {
-            public Integer run() {
-                try {
-                    return ((Number)MethodUtil.invoke(
-                        descriptor.getGetter(), getBean(), (Object[])null)).intValue();
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Integer>) () -> {
+            try {
+                return ((Number)MethodUtil.invoke(
+                    descriptor.getGetter(), getBean(), (Object[])null)).intValue();
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
@@ -120,18 +115,16 @@
         if (isBound()) {
             throw new RuntimeException("A bound value cannot be set.");
         }
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                try {
-                    MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
-                    ExpressionHelper.fireValueChangedEvent(helper);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
-                return null;
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            try {
+                MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
+                ExpressionHelper.fireValueChangedEvent(helper);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
+            return null;
         }, acc);
     }
 
--- a/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanLongProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanLongProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -77,11 +77,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new Listener<Number>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                JavaBeanLongProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            JavaBeanLongProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -94,16 +91,14 @@
      */
     @Override
     public long get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Long>() {
-            public Long run() {
-                try {
-                    return ((Number)MethodUtil.invoke(
-                        descriptor.getGetter(), getBean(), (Object[])null)).longValue();
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Long>) () -> {
+            try {
+                return ((Number)MethodUtil.invoke(
+                    descriptor.getGetter(), getBean(), (Object[])null)).longValue();
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
@@ -120,18 +115,16 @@
         if (isBound()) {
             throw new RuntimeException("A bound value cannot be set.");
         }
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                try {
-                    MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
-                    ExpressionHelper.fireValueChangedEvent(helper);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
-                return null;
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            try {
+                MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
+                ExpressionHelper.fireValueChangedEvent(helper);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
+            return null;
         }, acc);
     }
 
--- a/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanObjectProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanObjectProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -79,11 +79,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new Listener<T>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                JavaBeanObjectProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            JavaBeanObjectProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -97,15 +94,13 @@
     @SuppressWarnings("unchecked")
     @Override
     public T get() {
-        return AccessController.doPrivileged(new PrivilegedAction<T>() {
-            public T run() {
-                try {
-                    return (T)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<T>) () -> {
+            try {
+                return (T)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
@@ -123,18 +118,16 @@
             throw new RuntimeException("A bound value cannot be set.");
         }
 
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                try {
-                    MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
-                    ExpressionHelper.fireValueChangedEvent(helper);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
-                return null;
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            try {
+                MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
+                ExpressionHelper.fireValueChangedEvent(helper);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
+            return null;
         }, acc);
     }
 
--- a/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanStringProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/JavaBeanStringProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -77,11 +77,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new Listener<String>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                JavaBeanStringProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            JavaBeanStringProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -94,15 +91,13 @@
      */
     @Override
     public String get() {
-        return AccessController.doPrivileged(new PrivilegedAction<String>() {
-            public String run() {
-                try {
-                    return (String)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<String>) () -> {
+            try {
+                return (String)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
@@ -119,18 +114,16 @@
         if (isBound()) {
             throw new RuntimeException("A bound value cannot be set.");
         }
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            public Void run() {
-                try {
-                    MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
-                    ExpressionHelper.fireValueChangedEvent(helper);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
-                return null;
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            try {
+                MethodUtil.invoke(descriptor.getSetter(), getBean(), new Object[] {value});
+                ExpressionHelper.fireValueChangedEvent(helper);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
+            return null;
         }, acc);
     }
 
--- a/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanBooleanProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanBooleanProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -66,11 +66,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new ReadOnlyListener<Boolean>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                ReadOnlyJavaBeanBooleanProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            ReadOnlyJavaBeanBooleanProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -83,15 +80,13 @@
      */
     @Override
     public boolean get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
-            public Boolean run() {
-                try {
-                    return (Boolean)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Boolean>) () -> {
+            try {
+                return (Boolean)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
--- a/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanDoubleProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanDoubleProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -66,11 +66,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new ReadOnlyListener<Number>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                ReadOnlyJavaBeanDoubleProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            ReadOnlyJavaBeanDoubleProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -83,16 +80,14 @@
      */
     @Override
     public double get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Double>() {
-            public Double run() {
-                try {
-                    return ((Number)MethodUtil.invoke(
-                        descriptor.getGetter(), getBean(), (Object[])null)).doubleValue();
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Double>) () -> {
+            try {
+                return ((Number)MethodUtil.invoke(
+                    descriptor.getGetter(), getBean(), (Object[])null)).doubleValue();
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
--- a/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanFloatProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanFloatProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -66,11 +66,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new ReadOnlyListener<Number>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                ReadOnlyJavaBeanFloatProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            ReadOnlyJavaBeanFloatProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -83,16 +80,14 @@
      */
     @Override
     public float get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Float>() {
-            public Float run() {
-                try {
-                    return ((Number)MethodUtil.invoke(
-                        descriptor.getGetter(), getBean(), (Object[])null)).floatValue();
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Float>) () -> {
+            try {
+                return ((Number)MethodUtil.invoke(
+                    descriptor.getGetter(), getBean(), (Object[])null)).floatValue();
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
--- a/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanIntegerProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanIntegerProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -66,11 +66,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new ReadOnlyListener<Number>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                ReadOnlyJavaBeanIntegerProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            ReadOnlyJavaBeanIntegerProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -83,16 +80,14 @@
      */
     @Override
     public int get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Integer>() {
-            public Integer run() {
-                try {
-                    return ((Number)MethodUtil.invoke(
-                        descriptor.getGetter(), getBean(), (Object[])null)).intValue();
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Integer>) () -> {
+            try {
+                return ((Number)MethodUtil.invoke(
+                    descriptor.getGetter(), getBean(), (Object[])null)).intValue();
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
--- a/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanLongProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanLongProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -66,11 +66,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new ReadOnlyListener<Number>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                ReadOnlyJavaBeanLongProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            ReadOnlyJavaBeanLongProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -83,16 +80,14 @@
      */
     @Override
     public long get() {
-        return AccessController.doPrivileged(new PrivilegedAction<Long>() {
-            public Long run() {
-                try {
-                    return ((Number)MethodUtil.invoke(
-                        descriptor.getGetter(), getBean(), (Object[])null)).longValue();
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<Long>) () -> {
+            try {
+                return ((Number)MethodUtil.invoke(
+                    descriptor.getGetter(), getBean(), (Object[])null)).longValue();
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
--- a/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanObjectProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanObjectProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -68,11 +68,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new ReadOnlyListener<T>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                ReadOnlyJavaBeanObjectProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            ReadOnlyJavaBeanObjectProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -85,15 +82,13 @@
      */
     @Override
     public T get() {
-        return AccessController.doPrivileged(new PrivilegedAction<T>() {
-            public T run() {
-                try {
-                    return (T)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<T>) () -> {
+            try {
+                return (T)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
--- a/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanStringProperty.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/beans/property/adapter/ReadOnlyJavaBeanStringProperty.java	Thu Feb 27 11:03:36 2014 -0500
@@ -66,11 +66,8 @@
         this.descriptor = descriptor;
         this.listener = descriptor.new ReadOnlyListener<String>(bean, this);
         descriptor.addListener(listener);
-        Cleaner.create(this, new Runnable() {
-            @Override
-            public void run() {
-                ReadOnlyJavaBeanStringProperty.this.descriptor.removeListener(listener);
-            }
+        Cleaner.create(this, () -> {
+            ReadOnlyJavaBeanStringProperty.this.descriptor.removeListener(listener);
         });
     }
 
@@ -83,15 +80,13 @@
      */
     @Override
     public String get() {
-        return AccessController.doPrivileged(new PrivilegedAction<String>() {
-            public String run() {
-                try {
-                    return (String)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
-                } catch (IllegalAccessException e) {
-                    throw new UndeclaredThrowableException(e);
-                } catch (InvocationTargetException e) {
-                    throw new UndeclaredThrowableException(e);
-                }
+        return AccessController.doPrivileged((PrivilegedAction<String>) () -> {
+            try {
+                return (String)MethodUtil.invoke(descriptor.getGetter(), getBean(), (Object[])null);
+            } catch (IllegalAccessException e) {
+                throw new UndeclaredThrowableException(e);
+            } catch (InvocationTargetException e) {
+                throw new UndeclaredThrowableException(e);
             }
         }, acc);
     }
--- a/modules/base/src/main/java/javafx/collections/FXCollections.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/collections/FXCollections.java	Thu Feb 27 11:03:36 2014 -0500
@@ -925,12 +925,8 @@
 
         public UnmodifiableObservableListImpl(ObservableList<T> backingList) {
             this.backingList = backingList;
-            listener = new ListChangeListener<T>() {
-
-                @Override
-                public void onChanged(Change<? extends T> c) {
-                    fireChange(new SourceAdapterChange<T>(UnmodifiableObservableListImpl.this, c));
-                }
+            listener = c -> {
+                fireChange(new SourceAdapterChange<T>(UnmodifiableObservableListImpl.this, c));
             };
             this.backingList.addListener(new WeakListChangeListener<T>(listener));
         }
@@ -1183,12 +1179,8 @@
         SynchronizedObservableList(ObservableList<T> seq, Object mutex) {
             super(seq, mutex);
             this.backingList = seq;
-            listener = new ListChangeListener<T>() {
-
-                @Override
-                public void onChanged(Change<? extends T> c) {
-                    ListListenerHelper.fireValueChangedEvent(helper, new SourceAdapterChange<T>(SynchronizedObservableList.this, c));
-                }
+            listener = c -> {
+                ListListenerHelper.fireValueChangedEvent(helper, new SourceAdapterChange<T>(SynchronizedObservableList.this, c));
             };
             backingList.addListener(new WeakListChangeListener<T>(listener));
         }
@@ -1274,12 +1266,8 @@
             }
             this.list = list;
             this.type = type;
-            listener = new ListChangeListener<T>() {
-
-                @Override
-                public void onChanged(Change<? extends T> c) {
-                    fireChange(new SourceAdapterChange<T>(CheckedObservableList.this, c));
-                }
+            listener = c -> {
+                fireChange(new SourceAdapterChange<T>(CheckedObservableList.this, c));
             };
             list.addListener(new WeakListChangeListener<T>(listener));
         }
@@ -1651,11 +1639,8 @@
 
         private void initListener() {
             if (listener == null) {
-                listener = new SetChangeListener<E>() {
-                    @Override
-                    public void onChanged(Change<? extends E> c) {
-                        callObservers(new SetAdapterChange<E>(UnmodifiableObservableSet.this, c));
-                    }
+                listener = c -> {
+                    callObservers(new SetAdapterChange<E>(UnmodifiableObservableSet.this, c));
                 };
                 this.backingSet.addListener(new WeakSetChangeListener<E>(listener));
             }
@@ -1874,11 +1859,8 @@
         SynchronizedObservableSet(ObservableSet<E> set, Object mutex) {
             super(set, mutex);
             backingSet = set;
-            listener = new SetChangeListener<E>() {
-                @Override
-                public void onChanged(Change<? extends E> c) {
-                    SetListenerHelper.fireValueChangedEvent(listenerHelper, new SetAdapterChange<E>(SynchronizedObservableSet.this, c));
-                }
+            listener = c -> {
+                SetListenerHelper.fireValueChangedEvent(listenerHelper, new SetAdapterChange<E>(SynchronizedObservableSet.this, c));
             };
             backingSet.addListener(new WeakSetChangeListener<E>(listener));
         }
@@ -1920,11 +1902,8 @@
             }
             backingSet = set;
             this.type = type;
-            listener = new SetChangeListener<E>() {
-                @Override
-                public void onChanged(SetChangeListener.Change<? extends E> c) {
-                    callObservers(new SetAdapterChange<E>(CheckedObservableSet.this, c));
-                }
+            listener = c -> {
+                callObservers(new SetAdapterChange<E>(CheckedObservableSet.this, c));
             };
             backingSet.addListener(new WeakSetChangeListener<E>(listener));
         }
@@ -2148,11 +2127,8 @@
             backingMap = map;
             this.keyType = keyType;
             this.valueType = valueType;
-            listener = new MapChangeListener<K, V>() {
-                @Override
-                public void onChanged(MapChangeListener.Change<? extends K, ? extends V> c) {
-                    callObservers(new MapAdapterChange<K, V>(CheckedObservableMap.this, c));
-                }
+            listener = c -> {
+                callObservers(new MapAdapterChange<K, V>(CheckedObservableMap.this, c));
             };
             backingMap.addListener(new WeakMapChangeListener<K, V>(listener));
         }
@@ -2769,11 +2745,8 @@
         SynchronizedObservableMap(ObservableMap<K, V> map, Object mutex) {
             super(map, mutex);
             backingMap = map;
-            listener = new MapChangeListener<K, V>() {
-                @Override
-                public void onChanged(Change<? extends K, ? extends V> c) {
-                    MapListenerHelper.fireValueChangedEvent(listenerHelper, new MapAdapterChange<K, V>(SynchronizedObservableMap.this, c));
-                }
+            listener = c -> {
+                MapListenerHelper.fireValueChangedEvent(listenerHelper, new MapAdapterChange<K, V>(SynchronizedObservableMap.this, c));
             };
             backingMap.addListener(new WeakMapChangeListener<K, V>(listener));
         }
--- a/modules/base/src/main/java/javafx/collections/transformation/FilteredList.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/collections/transformation/FilteredList.java	Thu Feb 27 11:03:36 2014 -0500
@@ -53,14 +53,7 @@
     private int size;
 
     private SortHelper helper;
-    private static final Predicate ALWAYS_TRUE = new Predicate() {
-
-        @Override
-        public boolean test(Object t) {
-            return true;
-        }
-
-    };
+    private static final Predicate ALWAYS_TRUE = t -> true;
 
     /**
      * Constructs a new FilteredList wrapper around the source list.
--- a/modules/base/src/main/java/javafx/collections/transformation/TransformationList.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/collections/transformation/TransformationList.java	Thu Feb 27 11:03:36 2014 -0500
@@ -102,12 +102,8 @@
 
     private ListChangeListener<F> getListener() {
         if (sourceListener == null) {
-            sourceListener = new ListChangeListener<F>() {
-
-                @Override
-                public void onChanged(Change<? extends F> c) {
-                    TransformationList.this.sourceChanged(c);
-                }
+            sourceListener = c -> {
+                TransformationList.this.sourceChanged(c);
             };
         }
         return sourceListener;
--- a/modules/base/src/main/java/javafx/event/Event.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/main/java/javafx/event/Event.java	Thu Feb 27 11:03:36 2014 -0500
@@ -47,13 +47,7 @@
     /**
      * The constant which represents an unknown event source / target.
      */
-    public static final EventTarget NULL_SOURCE_TARGET = new EventTarget() {
-        @Override
-        public EventDispatchChain buildEventDispatchChain(
-                final EventDispatchChain tail) {
-            return tail;
-        }
-    };
+    public static final EventTarget NULL_SOURCE_TARGET = tail -> tail;
 
     /**
      * Common supertype for all event types.
--- a/modules/base/src/test/java/com/sun/javafx/binding/ExpressionHelperBaseTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/com/sun/javafx/binding/ExpressionHelperBaseTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -35,19 +35,9 @@
     private static final Object listener = new Object();
     private static final Object listener2 = new Object();
     
-    private static final WeakListener validWeakListener = new WeakListener() {
-        @Override
-        public boolean wasGarbageCollected() {
-            return false;
-        }
-    };
+    private static final WeakListener validWeakListener = () -> false;
     
-    private static final WeakListener gcedWeakListener = new WeakListener() {
-        @Override
-        public boolean wasGarbageCollected() {
-            return true;
-        }
-    };
+    private static final WeakListener gcedWeakListener = () -> true;
     
     @Test
     public void testEmptyArray() {
--- a/modules/base/src/test/java/com/sun/javafx/collections/ListListenerHelperTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/com/sun/javafx/collections/ListListenerHelperTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -151,11 +151,8 @@
     
     @Test
     public void testInvalidation_ChangeInPulse() {
-        final InvalidationListener listener = new InvalidationListener() {
-            @Override
-            public void invalidated(Observable observable) {
-                helper = ListListenerHelper.addListener(helper, invalidationListenerMock[0]);
-            }
+        final InvalidationListener listener = observable -> {
+            helper = ListListenerHelper.addListener(helper, invalidationListenerMock[0]);
         };
         helper = ListListenerHelper.addListener(helper, listener);
         ListListenerHelper.fireValueChangedEvent(helper, change);
@@ -210,11 +207,8 @@
 
     @Test
     public void testChange_ChangeInPulse() {
-        final ListChangeListener<Object> listener = new ListChangeListener<Object>() {
-            @Override
-            public void onChanged(Change<? extends Object> c) {
-                helper = ListListenerHelper.addListener(helper, changeListenerMock[0]);
-            }
+        final ListChangeListener<Object> listener = c -> {
+            helper = ListListenerHelper.addListener(helper, changeListenerMock[0]);
         };
         helper = ListListenerHelper.addListener(helper, listener);
         ListListenerHelper.fireValueChangedEvent(helper, change);
--- a/modules/base/src/test/java/com/sun/javafx/collections/MapListenerHelperTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/com/sun/javafx/collections/MapListenerHelperTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -149,11 +149,8 @@
     
     @Test
     public void testInvalidation_ChangeInPulse() {
-        final InvalidationListener listener = new InvalidationListener() {
-            @Override
-            public void invalidated(Observable observable) {
-                helper = MapListenerHelper.addListener(helper, invalidationListenerMock[0]);
-            }
+        final InvalidationListener listener = observable -> {
+            helper = MapListenerHelper.addListener(helper, invalidationListenerMock[0]);
         };
         helper = MapListenerHelper.addListener(helper, listener);
         MapListenerHelper.fireValueChangedEvent(helper, change);
@@ -208,11 +205,8 @@
 
     @Test
     public void testChange_ChangeInPulse() {
-        final MapChangeListener<Object, Object> listener = new MapChangeListener<Object, Object>() {
-            @Override
-            public void onChanged(Change<? extends Object, ? extends Object> change) {
-                helper = MapListenerHelper.addListener(helper, changeListenerMock[0]);
-            }
+        final MapChangeListener<Object, Object> listener = change1 -> {
+            helper = MapListenerHelper.addListener(helper, changeListenerMock[0]);
         };
         helper = MapListenerHelper.addListener(helper, listener);
         MapListenerHelper.fireValueChangedEvent(helper, change);
--- a/modules/base/src/test/java/com/sun/javafx/collections/MappingChangeTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/com/sun/javafx/collections/MappingChangeTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -49,12 +49,7 @@
     public void testAddRemove() {
         Change<Integer> change = new NonIterableChange.SimpleRemovedChange<Integer>(0, 1, new Integer(5), originalList);
         MappingChange<Integer, String> mapChange = new MappingChange<Integer, String>(change,
-                new MappingChange.Map<Integer, String>() {
-            @Override
-            public String map(Integer e) {
-                return e.toString();
-            }
-        }, list);
+                e -> e.toString(), list);
         
         assertTrue(mapChange.next());
         assertEquals(0, mapChange.getFrom());
@@ -69,12 +64,7 @@
     public void testUpdate() {
         Change<Integer> change = new NonIterableChange.SimpleUpdateChange<Integer>(0, 1, originalList);
         MappingChange<Integer, String> mapChange = new MappingChange<Integer, String>(change,
-                new MappingChange.Map<Integer, String>() {
-            @Override
-            public String map(Integer e) {
-                return e.toString();
-            }
-        }, list);
+                e -> e.toString(), list);
         
         assertTrue(mapChange.next());
         assertEquals(0, mapChange.getFrom());
@@ -89,12 +79,7 @@
     public void testPermutation() {
         Change<Integer> change = new NonIterableChange.SimplePermutationChange<Integer>(0, 2, new int[] {1, 0}, originalList);
         MappingChange<Integer, String> mapChange = new MappingChange<Integer, String>(change,
-                new MappingChange.Map<Integer, String>() {
-            @Override
-            public String map(Integer e) {
-                return e.toString();
-            }
-        }, list);
+                e -> e.toString(), list);
         
         assertTrue(mapChange.next());
         assertEquals(0, mapChange.getFrom());
@@ -147,12 +132,7 @@
             }
         };
         MappingChange<Integer, String> mapChange = new MappingChange<Integer, String>(change,
-                new MappingChange.Map<Integer, String>() {
-            @Override
-            public String map(Integer e) {
-                return e.toString();
-            }
-        }, list);
+                e -> e.toString(), list);
         
         assertTrue(mapChange.next());
         assertEquals(0, mapChange.getFrom());
--- a/modules/base/src/test/java/com/sun/javafx/collections/SetListenerHelperTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/com/sun/javafx/collections/SetListenerHelperTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -153,11 +153,8 @@
     
     @Test
     public void testInvalidation_ChangeInPulse() {
-        final InvalidationListener listener = new InvalidationListener() {
-            @Override
-            public void invalidated(Observable observable) {
-                helper = SetListenerHelper.addListener(helper, invalidationListenerMock[0]);
-            }
+        final InvalidationListener listener = observable -> {
+            helper = SetListenerHelper.addListener(helper, invalidationListenerMock[0]);
         };
         helper = SetListenerHelper.addListener(helper, listener);
         SetListenerHelper.fireValueChangedEvent(helper, change);
@@ -212,11 +209,8 @@
 
     @Test
     public void testChange_ChangeInPulse() {
-        final SetChangeListener<Object> listener = new SetChangeListener<Object>() {
-            @Override
-            public void onChanged(Change<? extends Object> change) {
-                helper = SetListenerHelper.addListener(helper, changeListenerMock[0]);
-            }
+        final SetChangeListener<Object> listener = change1 -> {
+            helper = SetListenerHelper.addListener(helper, changeListenerMock[0]);
         };
         helper = SetListenerHelper.addListener(helper, listener);
         SetListenerHelper.fireValueChangedEvent(helper, change);
--- a/modules/base/src/test/java/com/sun/javafx/event/EventHandlerManagerTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/com/sun/javafx/event/EventHandlerManagerTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -481,10 +481,7 @@
     public void addEventHandlerShouldThrowNPEForNullEventType() {
         eventHandlerManager.addEventHandler(
                 null,
-                new EventHandler<Event>() {
-                    @Override
-                    public void handle(final Event event) {
-                    }
+                event -> {
                 });
     }
 
@@ -497,10 +494,7 @@
     public void removeEventHandlerShouldThrowNPEForNullEventType() {
         eventHandlerManager.removeEventHandler(
                 null,
-                new EventHandler<Event>() {
-                    @Override
-                    public void handle(final Event event) {
-                    }
+                event -> {
                 });
     }
 
@@ -513,10 +507,7 @@
     public void addEventFilterShouldThrowNPEForNullEventType() {
         eventHandlerManager.addEventFilter(
                 null,
-                new EventHandler<Event>() {
-                    @Override
-                    public void handle(final Event event) {
-                    }
+                event -> {
                 });
     }
 
@@ -529,10 +520,7 @@
     public void removeEventFilterShouldThrowNPEForNullEventType() {
         eventHandlerManager.removeEventHandler(
                 null,
-                new EventHandler<Event>() {
-                    @Override
-                    public void handle(final Event event) {
-                    }
+                event -> {
                 });
     }
 
@@ -545,10 +533,7 @@
     public void setEventHandlerShouldThrowNPEForNullEventType() {
         eventHandlerManager.setEventHandler(
                 null,
-                new EventHandler<Event>() {
-                    @Override
-                    public void handle(final Event event) {
-                    }
+                event -> {
                 });
     }
 
--- a/modules/base/src/test/java/javafx/beans/property/adapter/JavaBeanPropertyTestBase.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/beans/property/adapter/JavaBeanPropertyTestBase.java	Thu Feb 27 11:03:36 2014 -0500
@@ -117,11 +117,8 @@
     @Test
     public void testInvalidationListener() {
         final BooleanProperty fired = new SimpleBooleanProperty(false);
-        final InvalidationListener listener = new InvalidationListener() {
-            @Override
-            public void invalidated(Observable observable) {
-                fired.set(true);
-            }
+        final InvalidationListener listener = observable -> {
+            fired.set(true);
         };
 
         property.addListener(listener);
@@ -138,11 +135,8 @@
     @Test
     public void testChangeListener() {
         final BooleanProperty fired = new SimpleBooleanProperty(false);
-        final ChangeListener<Object> listener = new ChangeListener<Object>() {
-            @Override
-            public void changed(ObservableValue<?> observable, Object oldValue, Object newValue) {
-                fired.set(true);
-            }
+        final ChangeListener<Object> listener = (observable, oldValue, newValue) -> {
+            fired.set(true);
         };
 
         property.addListener(listener);
--- a/modules/base/src/test/java/javafx/beans/property/adapter/ReadOnlyJavaBeanPropertyTestBase.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/beans/property/adapter/ReadOnlyJavaBeanPropertyTestBase.java	Thu Feb 27 11:03:36 2014 -0500
@@ -98,11 +98,8 @@
     @Test
     public void testInvalidationListener() {
         final BooleanProperty fired = new SimpleBooleanProperty(false);
-        final InvalidationListener listener = new InvalidationListener() {
-            @Override
-            public void invalidated(Observable observable) {
-                fired.set(true);
-            }
+        final InvalidationListener listener = observable -> {
+            fired.set(true);
         };
 
         property.addListener(listener);
@@ -129,11 +126,8 @@
     @Test
     public void testChangeListener() {
         final BooleanProperty fired = new SimpleBooleanProperty(false);
-        final ChangeListener<Object> listener = new ChangeListener<Object>() {
-            @Override
-            public void changed(ObservableValue<?> observable, Object oldValue, Object newValue) {
-                fired.set(true);
-            }
+        final ChangeListener<Object> listener = (observable, oldValue, newValue) -> {
+            fired.set(true);
         };
 
         property.addListener(listener);
--- a/modules/base/src/test/java/javafx/binding/BindingsCreateBindingTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/binding/BindingsCreateBindingTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -97,12 +97,7 @@
             log.reset();
 
             // func returns value0, no dependencies specified
-            final Callable<T> func0 = new Callable<T>() {
-                @Override
-                public T call() throws Exception {
-                    return value0;
-                }
-            };
+            final Callable<T> func0 = () -> value0;
             final Binding<T> binding0 = f.create(func0);
 
             f.check(value0, binding0.getValue());
@@ -110,12 +105,7 @@
             binding0.dispose();
 
             // func returns value1, dependencies set to null
-            final Callable<T> func1 = new Callable<T>() {
-                @Override
-                public T call() throws Exception {
-                    return value1;
-                }
-            };
+            final Callable<T> func1 = () -> value1;
             final Binding<T> binding1 = f.create(func1, (Observable[])null);
 
             f.check(value1, binding1.getValue());
@@ -123,11 +113,8 @@
             binding1.dispose();
 
             // func throws exception, dependencies set to empty array
-            final Callable<T> func2 = new Callable<T>() {
-                @Override
-                public T call() throws Exception {
-                    throw new Exception();
-                }
+            final Callable<T> func2 = () -> {
+                throw new Exception();
             };
             final Binding<T> binding2 = f.create(func2, new Observable [0]);
 
@@ -140,12 +127,7 @@
 
     @Test
     public void testOneDependency() {
-        final Callable<T> func = new Callable<T>() {
-            @Override
-            public T call() throws Exception {
-                return p0.getValue();
-            }
-        };
+        final Callable<T> func = () -> p0.getValue();
         final Binding<T> binding = f.create(func, p0);
 
         f.check(p0.getValue(), binding.getValue());
@@ -157,12 +139,7 @@
 
     @Test
     public void testCreateBoolean_TwoDependencies() {
-        final Callable<T> func = new Callable<T>() {
-            @Override
-            public T call() throws Exception {
-                return p0.getValue();
-            }
-        };
+        final Callable<T> func = () -> p0.getValue();
         final Binding<T> binding = f.create(func, p0, p1);
 
         f.check(p0.getValue(), binding.getValue());
--- a/modules/base/src/test/java/javafx/collections/FXCollectionsTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/FXCollectionsTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -167,14 +167,7 @@
         observer.check1Permutation(seq, new int[] {4, 8, 0, 5, 6, 9, 7, 1, 2, 3});
         seq.setAll( "q", "w", "e", "r", "t", "y", "u", "i", "o", "p");
         observer.clear();
-        FXCollections.sort(seq, new Comparator<String>() {
-
-            @Override
-            public int compare(String o1, String o2) {
-                return o1.charAt(0) - o2.charAt(0);
-            }
-            
-        });
+        FXCollections.sort(seq, (o1, o2) -> o1.charAt(0) - o2.charAt(0));
         observer.check1Permutation(seq, new int[] {4, 8, 0, 5, 6, 9, 7, 1, 2, 3});
     }
     
@@ -198,13 +191,7 @@
             observer.check1();
         }
         observer.clear();
-        FXCollections.sort(seq, new Comparator<String>() {
-
-            @Override
-            public int compare(String o1, String o2) {
-                return -o1.compareTo(o2);
-            }
-        });
+        FXCollections.sort(seq, (o1, o2) -> -o1.compareTo(o2));
         assertArrayEquals(new String[]{"two", "three", "one", "four", "five"}, seq.toArray(new String[0]));
         if (permutation) {
             observer.check1Permutation(seq, new int[] {4, 3, 2, 1, 0});
--- a/modules/base/src/test/java/javafx/collections/FilteredListTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/FilteredListTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -91,14 +91,7 @@
 
     @Test
     public void testLiveMode_Permutation() {
-        FXCollections.sort(list, new Comparator<String>() {
-
-            @Override
-            public int compare(String o1, String o2) {
-                return -o1.compareTo(o2);
-            }
-
-        });
+        FXCollections.sort(list, (o1, o2) -> -o1.compareTo(o2));
         mlo.check1Permutation(filteredList, new int[] {1, 0});
         assertEquals(Arrays.asList("d", "a"), filteredList);
     }
--- a/modules/base/src/test/java/javafx/collections/ListChangeBuilderTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/ListChangeBuilderTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -451,13 +451,8 @@
     @Test
     public void testToString_Update() {
         observableList.removeListener(observer);
-        observableList.addListener(new ListChangeListener<String>() {
-
-            @Override
-            public void onChanged(ListChangeListener.Change<? extends String> change) {
-                assertNotNull(change.toString());
-            }
-            
+        observableList.addListener((ListChangeListener.Change<? extends String> change) -> {
+            assertNotNull(change.toString());
         });
         builder.beginChange();
         
@@ -469,13 +464,8 @@
     @Test
     public void testToString_Add() {
         observableList.removeListener(observer);
-        observableList.addListener(new ListChangeListener<String>() {
-
-            @Override
-            public void onChanged(ListChangeListener.Change<? extends String> change) {
-                assertNotNull(change.toString());
-            }
-            
+        observableList.addListener((ListChangeListener.Change<? extends String> change) -> {
+            assertNotNull(change.toString());
         });
         builder.beginChange();
         
@@ -487,13 +477,8 @@
     @Test
     public void testToString_Remove() {
         observableList.removeListener(observer);
-        observableList.addListener(new ListChangeListener<String>() {
-
-            @Override
-            public void onChanged(ListChangeListener.Change<? extends String> change) {
-                assertNotNull(change.toString());
-            }
-            
+        observableList.addListener((ListChangeListener.Change<? extends String> change) -> {
+            assertNotNull(change.toString());
         });
         builder.beginChange();
         
@@ -505,13 +490,8 @@
     @Test
     public void testToString_Composed() {
         observableList.removeListener(observer);
-        observableList.addListener(new ListChangeListener<String>() {
-
-            @Override
-            public void onChanged(ListChangeListener.Change<? extends String> change) {
-                assertNotNull(change.toString());
-            }
-            
+        observableList.addListener((ListChangeListener.Change<? extends String> change) -> {
+            assertNotNull(change.toString());
         });
         builder.beginChange();
         
@@ -525,13 +505,8 @@
     @Test
     public void testToString_Permutation() {
         observableList.removeListener(observer);
-        observableList.addListener(new ListChangeListener<String>() {
-
-            @Override
-            public void onChanged(ListChangeListener.Change<? extends String> change) {
-                assertNotNull(change.toString());
-            }
-            
+        observableList.addListener((ListChangeListener.Change<? extends String> change) -> {
+            assertNotNull(change.toString());
         });
         builder.beginChange();
         
--- a/modules/base/src/test/java/javafx/collections/ObservableListTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/ObservableListTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -255,12 +255,8 @@
 
     @Test
     public void testObserverCanRemoveObservers() {
-        final ListChangeListener<String> listObserver = new ListChangeListener<String>() {
-
-            @Override
-            public void onChanged(Change<? extends String> change) {
-                change.getList().removeListener(mlo);
-            }
+        final ListChangeListener<String> listObserver = change -> {
+            change.getList().removeListener(mlo);
         };
         list.addListener(listObserver);
         list.add("x");
--- a/modules/base/src/test/java/javafx/collections/ObservableListWithExtractor.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/ObservableListWithExtractor.java	Thu Feb 27 11:03:36 2014 -0500
@@ -73,13 +73,7 @@
     public void setUp() {
         p0 = new Person();
         obs = new MockListObserver();
-        Callback<Person, Observable[]> callback = new Callback<Person, Observable[]>() {
-
-            @Override
-            public Observable[] call(Person param) {
-                return new Observable[]{param.name};
-            }
-        };
+        Callback<Person, Observable[]> callback = param -> new Observable[]{param.name};
         if (mode == Mode.OBSERVABLE_LIST_WRAPPER) {
             observedList = modifiedList = FXCollections.observableArrayList(callback);
         } else {
@@ -341,13 +335,7 @@
         ArrayList<Person> arrayList = new ArrayList<Person>();
         arrayList.add(p0);
         obs = new MockListObserver();
-        Callback<Person, Observable[]> callback = new Callback<Person, Observable[]>() {
-
-            @Override
-            public Observable[] call(Person param) {
-                return new Observable[]{param.name};
-            }
-        };
+        Callback<Person, Observable[]> callback = param -> new Observable[]{param.name};
         if (mode == Mode.OBSERVABLE_LIST_WRAPPER) {
             observedList = modifiedList = FXCollections.observableList(arrayList, callback);
         } else {
--- a/modules/base/src/test/java/javafx/collections/SortedListTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/SortedListTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -186,27 +186,23 @@
       sourceList.addAll(other);
       // wrap into a sorted list and add a listener to the sorted
       final SortedList<Double> sorted = new SortedList<Double>(sourceList, new NaturalElementComparator<>());
-      ListChangeListener<Double> listener = new ListChangeListener<Double>() {
+      ListChangeListener<Double> listener = c -> {
+          assertEquals(Arrays.<Double>asList(400.0, 600.0, 1300.0), c.getList());
 
-          @Override
-          public void onChanged(Change<? extends Double> c) {
-              assertEquals(Arrays.<Double>asList(400.0, 600.0, 1300.0), c.getList());
+          c.next();
+          assertEquals(Arrays.<Double>asList(-300.0, 50.0), c.getRemoved());
+          assertEquals(0, c.getFrom());
+          assertEquals(0, c.getTo());
+          assertTrue(c.next());
+          assertEquals(Arrays.<Double>asList(4000.), c.getRemoved());
+          assertEquals(3, c.getFrom());
+          assertEquals(3, c.getTo());
+          assertFalse(c.next());
 
-              c.next();
-              assertEquals(Arrays.<Double>asList(-300.0, 50.0), c.getRemoved());
-              assertEquals(0, c.getFrom());
-              assertEquals(0, c.getTo());
-              assertTrue(c.next());
-              assertEquals(Arrays.<Double>asList(4000.), c.getRemoved());
-              assertEquals(3, c.getFrom());
-              assertEquals(3, c.getTo());
-              assertFalse(c.next());
 
-
-              // grab sourceIndex of last (aka: highest) value in sorted list
-              int sourceIndex = sorted.getSourceIndex(sorted.size() - 1);
-              assertEquals(0, sourceIndex);
-          }
+          // grab sourceIndex of last (aka: highest) value in sorted list
+          int sourceIndex = sorted.getSourceIndex(sorted.size() - 1);
+          assertEquals(0, sourceIndex);
       };
       sorted.addListener(listener);
       sourceList.removeAll(other);
@@ -224,18 +220,14 @@
         ObservableList<Person> list = FXCollections.observableList(backingList, (Person p) -> new Observable[] {p.name});
 
         SortedList<Person> sorted = new SortedList<Person>(list, new NaturalElementComparator<>());
-        ListChangeListener<Person> listener = new ListChangeListener<Person>() {
-
-            @Override
-            public void onChanged(Change<? extends Person> c) {
-                c.next();
-                assertTrue(c.wasPermutated());
-                assertArrayEquals(new int[] {0, 4, 1, 2, 3}, c.getPermutation());
-                assertTrue(c.next());
-                assertTrue(c.wasUpdated());
-                assertEquals(4, c.getFrom());
-                assertEquals(5, c.getTo());
-            }
+        ListChangeListener<Person> listener = c -> {
+            c.next();
+            assertTrue(c.wasPermutated());
+            assertArrayEquals(new int[] {0, 4, 1, 2, 3}, c.getPermutation());
+            assertTrue(c.next());
+            assertTrue(c.wasUpdated());
+            assertEquals(4, c.getFrom());
+            assertEquals(5, c.getTo());
         };
         assertEquals(Arrays.asList(new Person("b"),
                 new Person("c"),
--- a/modules/base/src/test/java/javafx/collections/TestedObservableLists.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/TestedObservableLists.java	Thu Feb 27 11:03:36 2014 -0500
@@ -34,50 +34,20 @@
 
 public interface TestedObservableLists {
 
-    Callable<ObservableList<String>> ARRAY_LIST = new Callable<ObservableList<String>>() {
+    Callable<ObservableList<String>> ARRAY_LIST = () -> FXCollections.observableList(new ArrayList<String>());
+
+    Callable<ObservableList<String>> LINKED_LIST = () -> FXCollections.observableList(new LinkedList<String>());
+
+    Callable<ObservableList<String>> VETOABLE_LIST = () -> new VetoableListDecorator<String>(FXCollections.<String>observableArrayList()) {
+
         @Override
-        public ObservableList<String> call() throws Exception {
-            return FXCollections.observableList(new ArrayList<String>());
-        }
+        protected void onProposedChange(List list, int[] idx) { }
     };
 
-    Callable<ObservableList<String>> LINKED_LIST = new Callable<ObservableList<String>>() {
-        @Override
-        public ObservableList<String> call() throws Exception {
-            return FXCollections.observableList(new LinkedList<String>());
-        }
-    };
+    Callable<ObservableList<String>> CHECKED_OBSERVABLE_ARRAY_LIST = () -> FXCollections.checkedObservableList(FXCollections.observableList(new ArrayList()), String.class);
 
-    Callable<ObservableList<String>> VETOABLE_LIST = new Callable<ObservableList<String>>() {
-        @Override
-        public ObservableList<String> call() throws Exception {
-            return new VetoableListDecorator<String>(FXCollections.<String>observableArrayList()) {
-
-                @Override
-                protected void onProposedChange(List list, int[] idx) { }
-            };
-        }
-    };
-
-    Callable<ObservableList<String>> CHECKED_OBSERVABLE_ARRAY_LIST = new Callable<ObservableList<String>>() {
-        @Override
-        public ObservableList<String> call() throws Exception {
-            return FXCollections.checkedObservableList(FXCollections.observableList(new ArrayList()), String.class);
-        }
-    };
-
-    Callable<ObservableList<String>> SYNCHRONIZED_OBSERVABLE_ARRAY_LIST = new Callable<ObservableList<String>>() {
-        @Override
-        public ObservableList<String> call() throws Exception {
-            return FXCollections.synchronizedObservableList(FXCollections.observableList(new ArrayList<String>()));
-        }
-    };
+    Callable<ObservableList<String>> SYNCHRONIZED_OBSERVABLE_ARRAY_LIST = () -> FXCollections.synchronizedObservableList(FXCollections.observableList(new ArrayList<String>()));
     
-    Callable<ObservableList<String>> OBSERVABLE_LIST_PROPERTY = new Callable<ObservableList<String>>() {
-        @Override
-        public ObservableList<String> call() throws Exception {
-            return new SimpleListProperty<>(FXCollections.observableList(new ArrayList<String>()));
-        }
-    };
+    Callable<ObservableList<String>> OBSERVABLE_LIST_PROPERTY = () -> new SimpleListProperty<>(FXCollections.observableList(new ArrayList<String>()));
     
 }
--- a/modules/base/src/test/java/javafx/collections/TestedObservableMaps.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/TestedObservableMaps.java	Thu Feb 27 11:03:36 2014 -0500
@@ -33,44 +33,19 @@
 
 public interface TestedObservableMaps {
 
-    Callable<ObservableMap<String, String>> HASH_MAP = new Callable<ObservableMap<String, String>>() {
-        @Override
-        public ObservableMap<String, String> call() throws Exception {
-            return FXCollections.observableMap(new HashMap<String, String>());
-        }
-    };
+    Callable<ObservableMap<String, String>> HASH_MAP = () -> FXCollections.observableMap(new HashMap<String, String>());
 
     Callable<ObservableMap<String, String>> TREE_MAP = new CallableTreeMapImpl();
 
-    Callable<ObservableMap<String, String>> LINKED_HASH_MAP = new Callable<ObservableMap<String, String>>() {
-        @Override
-        public ObservableMap<String, String> call() throws Exception {
-            return FXCollections.observableMap(new LinkedHashMap<String, String>());
-        }
-    };
+    Callable<ObservableMap<String, String>> LINKED_HASH_MAP = () -> FXCollections.observableMap(new LinkedHashMap<String, String>());
 
     Callable<ObservableMap<String, String>> CONCURRENT_HASH_MAP = new CallableConcurrentHashMapImpl();
 
-    Callable<ObservableMap<String, String>> CHECKED_OBSERVABLE_HASH_MAP = new Callable<ObservableMap<String, String>>() {
-        @Override
-        public ObservableMap<String, String> call() throws Exception {
-            return FXCollections.checkedObservableMap(FXCollections.observableMap(new HashMap()), String.class, String.class);
-        }
-    };
+    Callable<ObservableMap<String, String>> CHECKED_OBSERVABLE_HASH_MAP = () -> FXCollections.checkedObservableMap(FXCollections.observableMap(new HashMap()), String.class, String.class);
 
-    Callable<ObservableMap<String, String>> SYNCHRONIZED_OBSERVABLE_HASH_MAP = new Callable<ObservableMap<String, String>>() {
-        @Override
-        public ObservableMap<String, String> call() throws Exception {
-            return FXCollections.synchronizedObservableMap(FXCollections.observableMap(new HashMap<String, String>()));
-        }
-    };
+    Callable<ObservableMap<String, String>> SYNCHRONIZED_OBSERVABLE_HASH_MAP = () -> FXCollections.synchronizedObservableMap(FXCollections.observableMap(new HashMap<String, String>()));
     
-    Callable<ObservableMap<String, String>> OBSERVABLE_MAP_PROPERTY = new Callable<ObservableMap<String, String>>() {
-        @Override
-        public ObservableMap<String, String> call() throws Exception {
-            return new SimpleMapProperty<>(FXCollections.observableMap(new HashMap<String, String>()));
-        }
-    };
+    Callable<ObservableMap<String, String>> OBSERVABLE_MAP_PROPERTY = () -> new SimpleMapProperty<>(FXCollections.observableMap(new HashMap<String, String>()));
 
     static class CallableTreeMapImpl implements Callable<ObservableMap<String, String>> {
         public CallableTreeMapImpl() {
--- a/modules/base/src/test/java/javafx/collections/TestedObservableSets.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/TestedObservableSets.java	Thu Feb 27 11:03:36 2014 -0500
@@ -32,42 +32,17 @@
 
 public interface TestedObservableSets {
 
-    Callable<ObservableSet<String>> HASH_SET = new Callable<ObservableSet<String>>() {
-        @Override
-        public ObservableSet<String> call() throws Exception {
-            return FXCollections.observableSet(new HashSet<String>());
-        }
-    };
+    Callable<ObservableSet<String>> HASH_SET = () -> FXCollections.observableSet(new HashSet<String>());
 
     Callable<ObservableSet<String>> TREE_SET = new CallableTreeSetImpl();
 
-    Callable<ObservableSet<String>> LINKED_HASH_SET = new Callable<ObservableSet<String>>() {
-        @Override
-        public ObservableSet<String> call() throws Exception {
-            return FXCollections.observableSet(new LinkedHashSet<String>());
-        }
-    };
+    Callable<ObservableSet<String>> LINKED_HASH_SET = () -> FXCollections.observableSet(new LinkedHashSet<String>());
 
-    Callable<ObservableSet<String>> CHECKED_OBSERVABLE_HASH_SET = new Callable<ObservableSet<String>>() {
-        @Override
-        public ObservableSet<String> call() throws Exception {
-            return FXCollections.checkedObservableSet(FXCollections.observableSet(new HashSet()), String.class);
-        }
-    };
+    Callable<ObservableSet<String>> CHECKED_OBSERVABLE_HASH_SET = () -> FXCollections.checkedObservableSet(FXCollections.observableSet(new HashSet()), String.class);
 
-    Callable<ObservableSet<String>> SYNCHRONIZED_OBSERVABLE_HASH_SET = new Callable<ObservableSet<String>>() {
-        @Override
-        public ObservableSet<String> call() throws Exception {
-            return FXCollections.synchronizedObservableSet(FXCollections.observableSet(new HashSet<String>()));
-        }
-    };
+    Callable<ObservableSet<String>> SYNCHRONIZED_OBSERVABLE_HASH_SET = () -> FXCollections.synchronizedObservableSet(FXCollections.observableSet(new HashSet<String>()));
     
-    Callable<ObservableSet<String>> OBSERVABLE_SET_PROPERTY = new Callable<ObservableSet<String>>() {
-        @Override
-        public ObservableSet<String> call() throws Exception {
-            return new SimpleSetProperty<>(FXCollections.observableSet(new HashSet<String>()));
-        }
-    };
+    Callable<ObservableSet<String>> OBSERVABLE_SET_PROPERTY = () -> new SimpleSetProperty<>(FXCollections.observableSet(new HashSet<String>()));
 
     static class CallableTreeSetImpl implements Callable<ObservableSet<String>> {
         public CallableTreeSetImpl() {
--- a/modules/base/src/test/java/javafx/collections/VetoableObservableListTest.java	Thu Feb 27 14:37:17 2014 +0100
+++ b/modules/base/src/test/java/javafx/collections/VetoableObservableListTest.java	Thu Feb 27 11:03:36 2014 -0500
@@ -495,11 +495,8 @@
     public void testSubListCreatedOnChangeValid() {
         final List<List<? extends String>> subLists = new ArrayList<>();
 
-        list.addListener(new ListChangeListener<String>() {
-            @Override
-            public void onChanged(Change<? extends String> c) {
-                subLists.add(c.getList().subList(0, 1));
-            }
+        list.addListener((ListChangeListener<String>) c -> {
+            subLists.add(c.getList().subList(0, 1));
         });
 
         list.add("abc");