You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by mk...@apache.org on 2022/02/26 16:52:04 UTC

[netbeans] branch master updated: Update project platform/api.search to JDK8 source level and remove warnings.

This is an automated email from the ASF dual-hosted git repository.

mklaehn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new ee2ceb2  Update project platform/api.search to JDK8 source level and remove warnings.
ee2ceb2 is described below

commit ee2ceb2cbdad2ef5c05691c02116f31ea345a7ab
Author: Martin Klähn <mk...@apache.org>
AuthorDate: Fri Feb 25 16:39:22 2022 +0100

    Update project platform/api.search to JDK8 source level and remove warnings.
    
    - add override annotations
    - using multi-catch
    - using try-with-resources
    - using diamond operator
    - use JDK 5 for-loop
    - convert to lambda or member reference
    - handle deprecations where possible
---
 platform/api.search/nbproject/project.properties   |   2 +-
 .../src/org/netbeans/api/search/SearchHistory.java |   4 +-
 .../netbeans/api/search/SearchScopeOptions.java    |   2 +-
 .../netbeans/api/search/provider/SearchInfo.java   |  20 +---
 .../api/search/provider/SearchInfoUtils.java       |   2 +-
 .../search/provider/impl/CompoundSearchInfo.java   |   6 +-
 .../api/search/provider/impl/DefinitionUtils.java  |   2 +-
 .../api/search/provider/impl/FilterHelper.java     |   6 +-
 .../search/provider/impl/SimpleSearchIterator.java |   4 +-
 .../netbeans/api/search/ui/FileNameController.java |   2 +-
 .../api/search/ui/ScopeOptionsController.java      |  22 +---
 .../api/search/ui/SearchPatternController.java     |  99 +++++++---------
 .../org/netbeans/modules/search/ActionManager.java |   4 +-
 .../netbeans/modules/search/BasicComposition.java  |   2 +-
 .../netbeans/modules/search/BasicSearchForm.java   |  83 +++++---------
 .../modules/search/BasicSearchProvider.java        |   7 +-
 .../src/org/netbeans/modules/search/CleanTask.java |   1 +
 .../org/netbeans/modules/search/ContextView.java   |  12 +-
 .../modules/search/DefaultSearchScopeProvider.java |   2 +-
 .../netbeans/modules/search/FindDialogMemory.java  |   4 +-
 .../netbeans/modules/search/FindInFilesAction.java |   2 +-
 .../modules/search/GraphicalSearchListener.java    |   2 +-
 .../netbeans/modules/search/IgnoreListPanel.java   |  17 +--
 .../netbeans/modules/search/ListComboBoxModel.java |   2 +-
 .../src/org/netbeans/modules/search/Manager.java   |  78 ++++++-------
 .../netbeans/modules/search/MatchingObject.java    |  84 +++++---------
 .../search/OpenFilesSearchScopeProvider.java       |  14 +--
 .../netbeans/modules/search/PatternSandbox.java    | 125 +++++++--------------
 .../netbeans/modules/search/PrintDetailsTask.java  |  13 +--
 .../org/netbeans/modules/search/ReplaceTask.java   |  14 +--
 .../org/netbeans/modules/search/ResultView.java    |  30 +++--
 .../netbeans/modules/search/ResultViewPanel.java   |   7 +-
 .../netbeans/modules/search/SearchDisplayer.java   |  26 ++---
 .../org/netbeans/modules/search/SearchPanel.java   |  18 +--
 .../netbeans/modules/search/SearchScopeBrowse.java |  10 +-
 .../netbeans/modules/search/SearchScopeList.java   |  13 +--
 .../org/netbeans/modules/search/SearchTask.java    |  14 +--
 .../org/netbeans/modules/search/TextDetail.java    |  66 ++++-------
 .../matcher/AsciiMultiLineMappedMatcher.java       |   2 +-
 .../modules/search/matcher/DefaultMatcher.java     |  45 ++++----
 .../modules/search/matcher/FastMatcher.java        |   4 +-
 .../search/matcher/FinishingTextDetailList.java    |   4 +-
 .../search/matcher/MultiLineMappedMatcherBig.java  |   2 +-
 .../matcher/MultiLineMappedMatcherSmall.java       |   2 +-
 .../search/matcher/MultiLineStreamMatcher.java     |   4 +-
 .../modules/search/matcher/ReadLineBuffer.java     |   2 +-
 .../search/matcher/SingleLineStreamMatcher.java    |   7 +-
 .../search/ui/AbstractSearchResultsPanel.java      |  65 +++--------
 .../search/ui/BasicAbstractResultsPanel.java       |  59 +++-------
 .../search/ui/BasicReplaceResultsPanel.java        |  66 +++++------
 .../search/ui/DefaultSearchResultsPanel.java       |  13 +--
 .../netbeans/modules/search/ui/IssuesPanel.java    |   2 +-
 .../modules/search/ui/MatchingObjectNode.java      |  47 +++-----
 .../org/netbeans/modules/search/ui/MoreAction.java |   6 +-
 .../search/ui/OpenMatchingObjectsAction.java       |   8 +-
 .../netbeans/modules/search/ui/RefreshAction.java  |  40 +++----
 .../search/ui/ResultsOutlineCellRenderer.java      |  39 ++++---
 .../modules/search/ui/ResultsOutlineSupport.java   |  80 +++++--------
 .../spi/search/SearchInfoDefinitionFactory.java    |   2 +-
 .../netbeans/spi/search/SearchScopeDefinition.java |   4 +-
 .../search/impl/CompoundSearchInfoDefinition.java  |   6 +-
 .../search/impl/SimpleSearchInfoDefinition.java    |  12 +-
 .../search/impl/SubnodesSearchInfoDefinition.java  |   7 +-
 .../search/provider/SearchResultsDisplayer.java    |   2 +-
 .../org/netbeans/api/search/SearchHistoryTest.java |  41 +++----
 .../search/provider/impl/SearchIteratorTest.java   |   2 +-
 .../modules/search/MatchingObjectTest.java         |  48 +++-----
 .../modules/search/SearchScopeListTest.java        |  30 ++---
 .../netbeans/modules/search/SearchTestUtils.java   |   2 +-
 .../search/matcher/BufferedCharSequenceTest.java   |   6 +-
 .../modules/search/matcher/DefaultMatcherTest.java |  37 ++----
 .../matcher/SearchPerformanceComparator.java       |  47 +++-----
 .../search/ui/BasicSearchResultsPanelTest.java     |   2 +-
 .../search/ui/ResultsOutlineSupportTest.java       |  62 ++++------
 .../spi/search/SearchScopeDefinitionTest.java      |  53 ++++-----
 platform/janitor/nbproject/project.properties      |   2 +-
 76 files changed, 618 insertions(+), 1065 deletions(-)

diff --git a/platform/api.search/nbproject/project.properties b/platform/api.search/nbproject/project.properties
index 7a4e8cb..7d593a0 100644
--- a/platform/api.search/nbproject/project.properties
+++ b/platform/api.search/nbproject/project.properties
@@ -16,6 +16,6 @@
 # under the License.
 is.autoload=true
 javac.source=1.8
-javac.compilerargs=-Xlint:all -Xlint:-serial
+javac.compilerargs=-Xlint:all -Xlint:-serial -Werror
 javadoc.arch=${basedir}/arch.xml
 javadoc.apichanges=${basedir}/apichanges.xml
diff --git a/platform/api.search/src/org/netbeans/api/search/SearchHistory.java b/platform/api.search/src/org/netbeans/api/search/SearchHistory.java
index d0ff1f0..06e7606 100644
--- a/platform/api.search/src/org/netbeans/api/search/SearchHistory.java
+++ b/platform/api.search/src/org/netbeans/api/search/SearchHistory.java
@@ -58,9 +58,9 @@ public final class SearchHistory {
 
     /** Shareable SearchPattern history. It is a List of SearchPatterns */
     private List<SearchPattern> searchPatternsList
-            = new ArrayList<SearchPattern>(MAX_SEARCH_PATTERNS_ITEMS);
+            = new ArrayList<>(MAX_SEARCH_PATTERNS_ITEMS);
     
-    private List<ReplacePattern> replacePatternsList = new ArrayList<ReplacePattern>(MAX_SEARCH_PATTERNS_ITEMS);
+    private List<ReplacePattern> replacePatternsList = new ArrayList<>(MAX_SEARCH_PATTERNS_ITEMS);
 
     /** Singleton instance */
     private static SearchHistory INSTANCE = null;
diff --git a/platform/api.search/src/org/netbeans/api/search/SearchScopeOptions.java b/platform/api.search/src/org/netbeans/api/search/SearchScopeOptions.java
index a4e7dcd..2bb1de1 100644
--- a/platform/api.search/src/org/netbeans/api/search/SearchScopeOptions.java
+++ b/platform/api.search/src/org/netbeans/api/search/SearchScopeOptions.java
@@ -45,7 +45,7 @@ public class SearchScopeOptions {
     private boolean regexp = false;
     private boolean searchInArchives = false;
     private boolean searchInGenerated = false;
-    private List<SearchFilterDefinition> filters = new LinkedList<SearchFilterDefinition>();
+    private List<SearchFilterDefinition> filters = new LinkedList<>();
 
     /*
      * Use static methods to create intances. This also makes this class final
diff --git a/platform/api.search/src/org/netbeans/api/search/provider/SearchInfo.java b/platform/api.search/src/org/netbeans/api/search/provider/SearchInfo.java
index 63bde1e..7e3a60c 100644
--- a/platform/api.search/src/org/netbeans/api/search/provider/SearchInfo.java
+++ b/platform/api.search/src/org/netbeans/api/search/provider/SearchInfo.java
@@ -125,15 +125,7 @@ public abstract class SearchInfo {
             @NonNull final SearchScopeOptions options,
             @NonNull final SearchListener listener,
             @NonNull final AtomicBoolean terminated) {
-
-        return new Iterable<FileObject>() {
-
-            @Override
-            public Iterator<FileObject> iterator() {
-                return createFilesToSearchIterator(options, listener,
-                        terminated);
-            }
-        };
+        return () -> createFilesToSearchIterator(options, listener, terminated);
     }
 
     /**
@@ -169,14 +161,6 @@ public abstract class SearchInfo {
             @NonNull final SearchScopeOptions options,
             @NonNull final SearchListener listener,
             @NonNull final AtomicBoolean terminated) {
-
-        return new Iterable<URI>() {
-
-            @Override
-            public Iterator<URI> iterator() {
-                return createUrisToSearchIterator(options, listener,
-                        terminated);
-            }
-        };
+        return () -> createUrisToSearchIterator(options, listener, terminated);
     }
 }
diff --git a/platform/api.search/src/org/netbeans/api/search/provider/SearchInfoUtils.java b/platform/api.search/src/org/netbeans/api/search/provider/SearchInfoUtils.java
index 6041e2a..52d9fd7 100644
--- a/platform/api.search/src/org/netbeans/api/search/provider/SearchInfoUtils.java
+++ b/platform/api.search/src/org/netbeans/api/search/provider/SearchInfoUtils.java
@@ -260,7 +260,7 @@ public final class SearchInfoUtils {
      * Create list of default search filters.
      */
     private static List<SearchFilter> createDefaultFilterList() {
-        List<SearchFilter> l = new ArrayList<SearchFilter>(2);
+        List<SearchFilter> l = new ArrayList<>(2);
         l.add(SearchInfoUtils.VISIBILITY_FILTER);
         l.add(SearchInfoUtils.SHARABILITY_FILTER);
         return Collections.unmodifiableList(l);
diff --git a/platform/api.search/src/org/netbeans/api/search/provider/impl/CompoundSearchInfo.java b/platform/api.search/src/org/netbeans/api/search/provider/impl/CompoundSearchInfo.java
index de20b01..8c21829 100644
--- a/platform/api.search/src/org/netbeans/api/search/provider/impl/CompoundSearchInfo.java
+++ b/platform/api.search/src/org/netbeans/api/search/provider/impl/CompoundSearchInfo.java
@@ -84,7 +84,7 @@ public class CompoundSearchInfo extends SearchInfo {
         }
 
         List<SearchInfo> searchableElements =
-                new ArrayList<SearchInfo>(elements.length);
+                new ArrayList<>(elements.length);
         for (SearchInfo element : elements) {
             if (element.canSearch()) {
                 searchableElements.add(element);
@@ -113,7 +113,7 @@ public class CompoundSearchInfo extends SearchInfo {
         }
 
         List<SearchInfo> searchableElements =
-                new ArrayList<SearchInfo>(elements.length);
+                new ArrayList<>(elements.length);
         for (SearchInfo element : elements) {
             if (element.canSearch()) {
                 searchableElements.add(element);
@@ -135,7 +135,7 @@ public class CompoundSearchInfo extends SearchInfo {
 
     @Override
     public List<SearchRoot> getSearchRoots() {
-        List<SearchRoot> allRoots = new LinkedList<SearchRoot>();
+        List<SearchRoot> allRoots = new LinkedList<>();
         for (SearchInfo si : elements) {
             allRoots.addAll(si.getSearchRoots());
         }
diff --git a/platform/api.search/src/org/netbeans/api/search/provider/impl/DefinitionUtils.java b/platform/api.search/src/org/netbeans/api/search/provider/impl/DefinitionUtils.java
index cb95457..03b9e99 100644
--- a/platform/api.search/src/org/netbeans/api/search/provider/impl/DefinitionUtils.java
+++ b/platform/api.search/src/org/netbeans/api/search/provider/impl/DefinitionUtils.java
@@ -39,7 +39,7 @@ public final class DefinitionUtils {
     public static List<SearchFilter> createSearchFilterList(
             SearchFilterDefinition[] definitions) {
 
-        List<SearchFilter> list = new ArrayList<SearchFilter>(
+        List<SearchFilter> list = new ArrayList<>(
                 definitions.length);
 
         for (SearchFilterDefinition def : definitions) {
diff --git a/platform/api.search/src/org/netbeans/api/search/provider/impl/FilterHelper.java b/platform/api.search/src/org/netbeans/api/search/provider/impl/FilterHelper.java
index 1c2b01a..b7c810c 100644
--- a/platform/api.search/src/org/netbeans/api/search/provider/impl/FilterHelper.java
+++ b/platform/api.search/src/org/netbeans/api/search/provider/impl/FilterHelper.java
@@ -46,7 +46,7 @@ import org.openide.filesystems.FileUtil;
  */
 class FilterHelper {
 
-    private List<SearchFilterDefinition> filters = new ArrayList<SearchFilterDefinition>();
+    private List<SearchFilterDefinition> filters = new ArrayList<>();
     private boolean active;
     private Stack<List<SearchFilterDefinition>> stack;
 
@@ -81,7 +81,7 @@ class FilterHelper {
         for (SearchFilterDefinition fof : options.getFilters()) {
             filters.add(fof);
         }
-        stack = new Stack<List<SearchFilterDefinition>>();
+        stack = new Stack<>();
         stack.push(filters);
         /*
          * If helper is not active, filters are not used at all and all files
@@ -174,7 +174,7 @@ class FilterHelper {
                     case TRAVERSE_ALL_SUBFOLDERS:
                         if (remainingFilters == null) {
                             remainingFilters =
-                                    new LinkedList<SearchFilterDefinition>(
+                                    new LinkedList<>(
                                     stack.peek());
                         }
                         remainingFilters.remove(filter);
diff --git a/platform/api.search/src/org/netbeans/api/search/provider/impl/SimpleSearchIterator.java b/platform/api.search/src/org/netbeans/api/search/provider/impl/SimpleSearchIterator.java
index 2b10893..2ce7416 100644
--- a/platform/api.search/src/org/netbeans/api/search/provider/impl/SimpleSearchIterator.java
+++ b/platform/api.search/src/org/netbeans/api/search/provider/impl/SimpleSearchIterator.java
@@ -48,7 +48,7 @@ public class SimpleSearchIterator extends AbstractFileObjectIterator {
      * stack of the ancestor folders' children enumerations
      */
     private final Stack<Enumeration<? extends FileObject>> enums
-            = new Stack<Enumeration<? extends FileObject>>();   //unsynced stack
+            = new Stack<>();   //unsynced stack
     /**
      * whether value of {@link #nextObject} is up-to-date
      */
@@ -225,7 +225,7 @@ public class SimpleSearchIterator extends AbstractFileObjectIterator {
     static <T extends FileObject> Enumeration<T> sortEnum(
             Enumeration<T> enm) {
 
-        TreeMap<String, T> map = new TreeMap<String, T>();
+        TreeMap<String, T> map = new TreeMap<>();
         while (enm.hasMoreElements()) {
             T o = enm.nextElement();
             map.put(o.getNameExt(), o);
diff --git a/platform/api.search/src/org/netbeans/api/search/ui/FileNameController.java b/platform/api.search/src/org/netbeans/api/search/ui/FileNameController.java
index da5331b..75499b0 100644
--- a/platform/api.search/src/org/netbeans/api/search/ui/FileNameController.java
+++ b/platform/api.search/src/org/netbeans/api/search/ui/FileNameController.java
@@ -83,7 +83,7 @@ public final class FileNameController extends ComponentController<JComboBox> {
         component.setEditable(true);
         List<String> entries = FindDialogMemory.getDefault().getFileNamePatterns();
         if (!entries.isEmpty()) {
-            component.setModel(new ListComboBoxModel<String>(entries, true));
+            component.setModel(new ListComboBoxModel<>(entries, true));
         }
     }
 
diff --git a/platform/api.search/src/org/netbeans/api/search/ui/ScopeOptionsController.java b/platform/api.search/src/org/netbeans/api/search/ui/ScopeOptionsController.java
index d1aa375..42f934f 100644
--- a/platform/api.search/src/org/netbeans/api/search/ui/ScopeOptionsController.java
+++ b/platform/api.search/src/org/netbeans/api/search/ui/ScopeOptionsController.java
@@ -178,31 +178,15 @@ public final class ScopeOptionsController extends ComponentController<JPanel> {
     }
 
     private void initInteraction() {
-        btnTestFileNamePattern.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                openPathPatternSandbox();
-            }
-        });
-        btnEditIgnoreList.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                IgnoreListPanel.openDialog(btnEditIgnoreList);
-            }
-        });
+        btnTestFileNamePattern.addActionListener((ActionEvent e) -> openPathPatternSandbox());
+        btnEditIgnoreList.addActionListener((ActionEvent e) -> IgnoreListPanel.openDialog(btnEditIgnoreList));
         if (!replacing) {
             chkArchives.addItemListener(checkBoxListener);
             chkGenerated.addItemListener(checkBoxListener);
         }
         chkUseIgnoreList.addItemListener(checkBoxListener);
         if (fileNameComboBox != null) {
-            chkFileNameRegex.addActionListener(new ActionListener() {
-                @Override
-                public void actionPerformed(ActionEvent e) {
-                    fileNameComboBox.setRegularExpression(
-                            chkFileNameRegex.isSelected());
-                }
-            });
+            chkFileNameRegex.addActionListener((ActionEvent e) -> fileNameComboBox.setRegularExpression(chkFileNameRegex.isSelected()));
         } else {
             chkFileNameRegex.addItemListener(checkBoxListener);
         }
diff --git a/platform/api.search/src/org/netbeans/api/search/ui/SearchPatternController.java b/platform/api.search/src/org/netbeans/api/search/ui/SearchPatternController.java
index f9b9182..558e81d 100644
--- a/platform/api.search/src/org/netbeans/api/search/ui/SearchPatternController.java
+++ b/platform/api.search/src/org/netbeans/api/search/ui/SearchPatternController.java
@@ -65,9 +65,9 @@ public final class SearchPatternController
     }
 
     private final Map<Option, AbstractButton> bindings =
-            new EnumMap<Option, AbstractButton>(Option.class);
+            new EnumMap<>(Option.class);
     private final Map<Option, Boolean> options =
-            new EnumMap<Option, Boolean>(Option.class);
+            new EnumMap<>(Option.class);
     private JComboBox matchTypeComboBox = null;
     private MatchType matchType = MatchType.LITERAL;
     private final ItemListener listener;
@@ -104,51 +104,45 @@ public final class SearchPatternController
         textToFindEditor.getDocument().addDocumentListener(
                 new TextToFindChangeListener());
 
-        component.addItemListener(new ItemListener() {
-            @Override
-            public void itemStateChanged(ItemEvent e) {
-                Object si = component.getSelectedItem();
-                if (si instanceof ModelItem) {
-                    SearchPattern sp = ((ModelItem) si).sp;
-                    for (Map.Entry<Option, AbstractButton> be :
-                            bindings.entrySet()) {
-                        switch (be.getKey()) {
-                            case MATCH_CASE:
-                                be.getValue().setSelected(sp.isMatchCase());
-                                break;
-                            case WHOLE_WORDS:
-                                be.getValue().setSelected(sp.isWholeWords());
-                                break;
-                            case REGULAR_EXPRESSION:
-                                be.getValue().setSelected(sp.isRegExp());
-                                break;
-                        }
-                    }
-                    if (matchTypeComboBox != null) {
-                        matchTypeComboBox.setSelectedItem(sp.getMatchType());
-                        // set only to match type that is supported by the combo
-                        matchType =
-                                (MatchType) matchTypeComboBox.getSelectedItem();
-                    } else {
-                        matchType = sp.getMatchType();
+        component.addItemListener((ItemEvent e) -> {
+            Object si = component.getSelectedItem();
+            if (si instanceof ModelItem) {
+                SearchPattern sp = ((ModelItem) si).sp;
+                for (Map.Entry<Option, AbstractButton> be :
+                        bindings.entrySet()) {
+                    switch (be.getKey()) {
+                        case MATCH_CASE:
+                            be.getValue().setSelected(sp.isMatchCase());
+                            break;
+                        case WHOLE_WORDS:
+                            be.getValue().setSelected(sp.isWholeWords());
+                            break;
+                        case REGULAR_EXPRESSION:
+                            be.getValue().setSelected(sp.isRegExp());
+                            break;
                     }
-                    options.put(Option.MATCH_CASE, sp.isMatchCase());
-                    options.put(Option.WHOLE_WORDS, sp.isWholeWords());
-                    options.put(Option.REGULAR_EXPRESSION, sp.isRegExp());
                 }
+                if (matchTypeComboBox != null) {
+                    matchTypeComboBox.setSelectedItem(sp.getMatchType());
+                    // set only to match type that is supported by the combo
+                    matchType =
+                            (MatchType) matchTypeComboBox.getSelectedItem();
+                } else {
+                    matchType = sp.getMatchType();
+                }
+                options.put(Option.MATCH_CASE, sp.isMatchCase());
+                options.put(Option.WHOLE_WORDS, sp.isWholeWords());
+                options.put(Option.REGULAR_EXPRESSION, sp.isRegExp());
             }
         });
 
-        listener = new ItemListener() {
-            @Override
-            public void itemStateChanged(ItemEvent e) {
-                for (Map.Entry<Option, AbstractButton> entry :
-                        bindings.entrySet()) {
-                    if (entry.getValue() == e.getSource()) {
-                        setOption(entry.getKey(),
-                                e.getStateChange() == ItemEvent.SELECTED);
-                        break;
-                    }
+        listener = (ItemEvent e) -> {
+            for (Map.Entry<Option, AbstractButton> entry :
+                    bindings.entrySet()) {
+                if (entry.getValue() == e.getSource()) {
+                    setOption(entry.getKey(),
+                            e.getStateChange() == ItemEvent.SELECTED);
+                    break;
                 }
             }
         };
@@ -195,12 +189,7 @@ public final class SearchPatternController
      */
     private boolean getOption(@NonNull Option option) {
         Parameters.notNull("option", option);                           //NOI18N
-        Boolean b = options.get(option);
-        if (b == null) {
-            return false;
-        } else {
-            return b.booleanValue();
-        }
+        return Boolean.TRUE.equals(options.get(option));
     }
 
     /**
@@ -288,12 +277,7 @@ public final class SearchPatternController
 
         bindings.put(option, button);
         button.setSelected(getOption(option));
-        button.addItemListener(new ItemListener() {
-            @Override
-            public void itemStateChanged(ItemEvent e) {
-                setOption(option, button.isSelected());
-            }
-        });
+        button.addItemListener((ItemEvent e) -> setOption(option, button.isSelected()));
     }
 
     /**
@@ -333,12 +317,7 @@ public final class SearchPatternController
         comboBox.setEditable(false);
         setMatchType(this.matchType); //update match type, check it is supported
         comboBox.setSelectedItem(matchType);
-        comboBox.addItemListener(new ItemListener() {
-            @Override
-            public void itemStateChanged(ItemEvent e) {
-                setMatchType((MatchType) comboBox.getSelectedItem());
-            }
-        });
+        comboBox.addItemListener((ItemEvent e) -> setMatchType((MatchType) comboBox.getSelectedItem()));
     }
 
     /**
diff --git a/platform/api.search/src/org/netbeans/modules/search/ActionManager.java b/platform/api.search/src/org/netbeans/modules/search/ActionManager.java
index 231841e..e0a354d 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ActionManager.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ActionManager.java
@@ -60,7 +60,7 @@ public abstract class ActionManager<A extends SystemAction, S extends CallbackSy
      * holds set of windows for which their ActionMap was modified
      */
     private final Set<TopComponent> activatedOnWindows =
-            new WeakSet<TopComponent>(8);
+            new WeakSet<>(8);
     /**
      *
      */
@@ -136,7 +136,7 @@ public abstract class ActionManager<A extends SystemAction, S extends CallbackSy
             Action ls = getAction();
             actionMap.put(key, ls);
             win.putClientProperty(getMappedActionKey(),
-                    new WeakReference<Action>(ls));
+                    new WeakReference<>(ls));
         }
     }
 
diff --git a/platform/api.search/src/org/netbeans/modules/search/BasicComposition.java b/platform/api.search/src/org/netbeans/modules/search/BasicComposition.java
index 62779fb..fb38e82 100644
--- a/platform/api.search/src/org/netbeans/modules/search/BasicComposition.java
+++ b/platform/api.search/src/org/netbeans/modules/search/BasicComposition.java
@@ -110,7 +110,7 @@ public class BasicComposition extends SearchComposition<MatchingObject.Def> {
     }
 
     public List<FileObject> getRootFiles() {
-        List<FileObject> list = new LinkedList<FileObject>();
+        List<FileObject> list = new LinkedList<>();
         List<SearchRoot> searchRoots = searchInfo.getSearchRoots();
         if (searchRoots == null) {
             return Collections.emptyList();
diff --git a/platform/api.search/src/org/netbeans/modules/search/BasicSearchForm.java b/platform/api.search/src/org/netbeans/modules/search/BasicSearchForm.java
index 035c9f5..8cc87b6 100644
--- a/platform/api.search/src/org/netbeans/modules/search/BasicSearchForm.java
+++ b/platform/api.search/src/org/netbeans/modules/search/BasicSearchForm.java
@@ -168,13 +168,10 @@ final class BasicSearchForm extends JPanel implements ChangeListener,
     private void setContextAwareOptions(boolean searchAndReplace) {
         if (!searchAndReplace) {
             updateSearchInGeneratedForActiveTopComponent();
-            topComponentRegistryListener = new PropertyChangeListener() {
-                @Override
-                public void propertyChange(PropertyChangeEvent evt) {
-                    if (evt.getPropertyName().equals(
-                            TopComponent.Registry.PROP_ACTIVATED)) {
-                        updateSearchInGeneratedForActiveTopComponent();
-                    }
+            topComponentRegistryListener = (PropertyChangeEvent evt) -> {
+                if (evt.getPropertyName().equals(
+                        TopComponent.Registry.PROP_ACTIVATED)) {
+                    updateSearchInGeneratedForActiveTopComponent();
                 }
             };
             TopComponent.getRegistry().addPropertyChangeListener(
@@ -237,7 +234,7 @@ final class BasicSearchForm extends JPanel implements ChangeListener,
         }
 
         lblScope = new JLabel();
-        cboxScope = ComponentUtils.adjustComboForScope(new JComboBox<Object>(),
+        cboxScope = ComponentUtils.adjustComboForScope(new JComboBox<>(),
                 preferredSearchScopeType, extraSearchScopes);
         lblScope.setLabelFor(cboxScope.getComponent());
 
@@ -415,11 +412,7 @@ final class BasicSearchForm extends JPanel implements ChangeListener,
         cboxTextToFind.bindMatchTypeComboBox(textToFindType);
         cboxTextToFind.bind(Option.MATCH_CASE, chkCaseSensitive);
         cboxTextToFind.bind(Option.WHOLE_WORDS, chkWholeWords);
-        textToFindType.addActionListener(new ActionListener() {
-
-            @Override
-            public void actionPerformed(ActionEvent e) {
-            }
+        textToFindType.addActionListener((ActionEvent e) -> {
         });
 
         boolean regexp = textToFindType.isRegexp();
@@ -431,53 +424,35 @@ final class BasicSearchForm extends JPanel implements ChangeListener,
         }
         searchCriteria.setUsabilityChangeListener(this);
 
-        scopeSettingsPanel.addChangeListener(new ChangeListener() {
-
-            @Override
-            public void stateChanged(ChangeEvent e) {
-                searchCriteria.setSearchInArchives(
-                        scopeSettingsPanel.isSearchInArchives());
-                searchCriteria.setSearchInGenerated(
-                        scopeSettingsPanel.isSearchInGenerated());
-                searchCriteria.setUseIgnoreList(
-                        scopeSettingsPanel.isUseIgnoreList());
-            }
+        scopeSettingsPanel.addChangeListener((ChangeEvent e) -> {
+            searchCriteria.setSearchInArchives(
+                    scopeSettingsPanel.isSearchInArchives());
+            searchCriteria.setSearchInGenerated(
+                    scopeSettingsPanel.isSearchInGenerated());
+            searchCriteria.setUseIgnoreList(
+                    scopeSettingsPanel.isUseIgnoreList());
         });
 
-        cboxFileNamePattern.addChangeListener(new ChangeListener() {
-
-            @Override
-            public void stateChanged(ChangeEvent e) {
-                searchCriteria.setFileNamePattern(
-                        cboxFileNamePattern.getFileNamePattern());
-                searchCriteria.setFileNameRegexp(
-                        cboxFileNamePattern.isRegularExpression());
-                updateFileNamePatternInfo();
-            }
+        cboxFileNamePattern.addChangeListener((ChangeEvent e) -> {
+            searchCriteria.setFileNamePattern(
+                    cboxFileNamePattern.getFileNamePattern());
+            searchCriteria.setFileNameRegexp(
+                    cboxFileNamePattern.isRegularExpression());
+            updateFileNamePatternInfo();
         });
 
-        cboxTextToFind.addChangeListener(new ChangeListener() {
-            @Override
-            public void stateChanged(ChangeEvent e) {
-                SearchPattern sp = cboxTextToFind.getSearchPattern();
-                searchCriteria.setTextPattern(sp.getSearchExpression());
-                searchCriteria.setMatchType(sp.getMatchType());
-                searchCriteria.setWholeWords(sp.isWholeWords());
-                searchCriteria.setCaseSensitive(sp.isMatchCase());
-            }
+        cboxTextToFind.addChangeListener((ChangeEvent e) -> {
+            SearchPattern sp = cboxTextToFind.getSearchPattern();
+            searchCriteria.setTextPattern(sp.getSearchExpression());
+            searchCriteria.setMatchType(sp.getMatchType());
+            searchCriteria.setWholeWords(sp.isWholeWords());
+            searchCriteria.setCaseSensitive(sp.isMatchCase());
         });
         initButtonInteraction();
     }
 
     private void initButtonInteraction() {
-       
-        btnTestTextToFind.addActionListener(new ActionListener() {
-
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                openTextPatternSandbox();
-            }
-        });
+        btnTestTextToFind.addActionListener((ActionEvent e) -> openTextPatternSandbox());
     }
 
     private void openTextPatternSandbox() {
@@ -504,14 +479,14 @@ final class BasicSearchForm extends JPanel implements ChangeListener,
      */
     private void initHistory() {
 
-        List<ReplaceModelItem> entries = new ArrayList<ReplaceModelItem>(10);
+        List<ReplaceModelItem> entries = new ArrayList<>(10);
         if (cboxReplacement != null) {
             for (ReplacePattern replacePattern
                     : SearchHistory.getDefault().getReplacePatterns()) {
                 entries.add(0, new ReplaceModelItem(replacePattern));
             }
             if (!entries.isEmpty()) {
-                cboxReplacement.setModel(new ListComboBoxModel<ReplaceModelItem>(entries, true));
+                cboxReplacement.setModel(new ListComboBoxModel<>(entries, true));
             }
         }
     }
@@ -1117,7 +1092,7 @@ final class BasicSearchForm extends JPanel implements ChangeListener,
 
         private final JTextArea area = new JTextArea();
 
-        public MultiLineComboBoxEditor(JComboBox reference) {
+        public MultiLineComboBoxEditor(JComboBox<?> reference) {
             area.setWrapStyleWord(false);
             area.setLineWrap(false);
 
diff --git a/platform/api.search/src/org/netbeans/modules/search/BasicSearchProvider.java b/platform/api.search/src/org/netbeans/modules/search/BasicSearchProvider.java
index b064acc..530ac33 100644
--- a/platform/api.search/src/org/netbeans/modules/search/BasicSearchProvider.java
+++ b/platform/api.search/src/org/netbeans/modules/search/BasicSearchProvider.java
@@ -141,12 +141,7 @@ public class BasicSearchProvider extends SearchProvider {
                 String scopeToUse = chooseSearchScope(scopeId);
                 form = new BasicSearchForm(scopeToUse, isReplacing(),
                         explicitCriteria, extraSearchScopes);
-                form.setUsabilityChangeListener(new ChangeListener() {
-                    @Override
-                    public void stateChanged(ChangeEvent e) {
-                        fireChange();
-                    }
-                });
+                form.setUsabilityChangeListener((ChangeEvent e) -> fireChange());
             }
             return form;
         }
diff --git a/platform/api.search/src/org/netbeans/modules/search/CleanTask.java b/platform/api.search/src/org/netbeans/modules/search/CleanTask.java
index 4db1adf..726867b 100644
--- a/platform/api.search/src/org/netbeans/modules/search/CleanTask.java
+++ b/platform/api.search/src/org/netbeans/modules/search/CleanTask.java
@@ -41,6 +41,7 @@ class CleanTask implements Runnable {
 
     /**
      */
+    @Override
     public void run() {
         resultModel.close();
     }
diff --git a/platform/api.search/src/org/netbeans/modules/search/ContextView.java b/platform/api.search/src/org/netbeans/modules/search/ContextView.java
index 27e0f1a..86486ea 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ContextView.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ContextView.java
@@ -120,7 +120,7 @@ public final class ContextView extends JPanel {
 
     /** Map of approved/rejected files. */
     private final Map<FileObject, Boolean> APPROVED_FILES =
-            new WeakHashMap<FileObject, Boolean>();
+            new WeakHashMap<>();
 
     /**
      * 
@@ -164,12 +164,9 @@ public final class ContextView extends JPanel {
         setResultModel(resultModel);
 
         this.explorerManager = explorerManager;
-        explorerManager.addPropertyChangeListener(new PropertyChangeListener() {
-            @Override
-            public void propertyChange(PropertyChangeEvent evt) {
-                if (evt.getPropertyName().equals("selectedNodes")) {
-                    updateForSelection();
-                }
+        explorerManager.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+            if (evt.getPropertyName().equals("selectedNodes")) {
+                updateForSelection();
             }
         });
     }
@@ -479,6 +476,7 @@ public final class ContextView extends JPanel {
          * @author  Tim Boudreau
          * @author  Marian Petras
          */
+        @Override
         public void run() {
             assert EventQueue.isDispatchThread();
             
diff --git a/platform/api.search/src/org/netbeans/modules/search/DefaultSearchScopeProvider.java b/platform/api.search/src/org/netbeans/modules/search/DefaultSearchScopeProvider.java
index 896cede..8c7da6a 100644
--- a/platform/api.search/src/org/netbeans/modules/search/DefaultSearchScopeProvider.java
+++ b/platform/api.search/src/org/netbeans/modules/search/DefaultSearchScopeProvider.java
@@ -35,7 +35,7 @@ public class DefaultSearchScopeProvider extends SearchScopeDefinitionProvider {
     public List<SearchScopeDefinition> createSearchScopeDefinitions() {
         SearchScopeBrowse ssb = new SearchScopeBrowse();
         List<SearchScopeDefinition> list =
-                new ArrayList<SearchScopeDefinition>(2);
+                new ArrayList<>(2);
         list.add(ssb.getBrowseScope());
         list.add(ssb.getGetLastScope());
         return list;
diff --git a/platform/api.search/src/org/netbeans/modules/search/FindDialogMemory.java b/platform/api.search/src/org/netbeans/modules/search/FindDialogMemory.java
index 02fa5a6..dd5c215 100644
--- a/platform/api.search/src/org/netbeans/modules/search/FindDialogMemory.java
+++ b/platform/api.search/src/org/netbeans/modules/search/FindDialogMemory.java
@@ -212,8 +212,8 @@ public final class FindDialogMemory {
         resultsViewMode = prefs.get(PROP_RESULTS_VIEW_MODE, null);
         provider = prefs.get(PROP_PROVIDER, null);
         openInNewTab = prefs.getBoolean(PROP_OPEN_IN_NEW_TAB, true);
-        fileNamePatterns = new ArrayList<String>(maxFileNamePatternCount);
-        ignoreList = new ArrayList<String>();
+        fileNamePatterns = new ArrayList<>(maxFileNamePatternCount);
+        ignoreList = new ArrayList<>();
         for(int i=0; i < maxFileNamePatternCount; i++){
             String fileNamePattern = prefs.get(PROP_FILENAME_PATTERN_PREFIX + i, null);
             if (fileNamePattern != null) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/FindInFilesAction.java b/platform/api.search/src/org/netbeans/modules/search/FindInFilesAction.java
index 58c9b95..ff839ca 100644
--- a/platform/api.search/src/org/netbeans/modules/search/FindInFilesAction.java
+++ b/platform/api.search/src/org/netbeans/modules/search/FindInFilesAction.java
@@ -151,7 +151,7 @@ public class FindInFilesAction extends CallableSystemAction {
         
         Component presenter = super.getToolbarPresenter();
         putProperty(VAR_TOOLBAR_COMP_REF,
-                    new WeakReference<Component>(presenter));
+                    new WeakReference<>(presenter));
         return presenter;
     }
     
diff --git a/platform/api.search/src/org/netbeans/modules/search/GraphicalSearchListener.java b/platform/api.search/src/org/netbeans/modules/search/GraphicalSearchListener.java
index 494a8ab..d90bc7c 100644
--- a/platform/api.search/src/org/netbeans/modules/search/GraphicalSearchListener.java
+++ b/platform/api.search/src/org/netbeans/modules/search/GraphicalSearchListener.java
@@ -243,7 +243,7 @@ class GraphicalSearchListener extends SearchListener {
 
     private class EventChildren extends Children.Keys<EventNode> {
 
-        private List<EventNode> events = new ArrayList<EventNode>();
+        private List<EventNode> events = new ArrayList<>();
         EventType worstType = EventType.INFO;
 
         public synchronized void addEvent(EventNode event) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/IgnoreListPanel.java b/platform/api.search/src/org/netbeans/modules/search/IgnoreListPanel.java
index 35dbcf1..74e3a40 100644
--- a/platform/api.search/src/org/netbeans/modules/search/IgnoreListPanel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/IgnoreListPanel.java
@@ -57,13 +57,7 @@ public final class IgnoreListPanel extends javax.swing.JPanel {
         initComponents();
         setMnemonics();
         updateEnabledButtons();
-        table.getSelectionModel().addListSelectionListener(
-                new ListSelectionListener() {
-                    @Override
-                    public void valueChanged(ListSelectionEvent e) {
-                        updateEnabledButtons();
-                    }
-                });
+        table.getSelectionModel().addListSelectionListener((ListSelectionEvent e) -> updateEnabledButtons());
         // double click invokes edit action
         table.addMouseListener(new MouseAdapter() {
             @Override
@@ -201,7 +195,7 @@ public final class IgnoreListPanel extends javax.swing.JPanel {
 
     private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDeleteActionPerformed
         int firstSelectedRow = table.getSelectedRow();
-        List<IgnoreListItem> itemsToDelete = new ArrayList<IgnoreListItem>();
+        List<IgnoreListItem> itemsToDelete = new ArrayList<>();
         //get all selected objects
         //NOTE: remove the item from model later, so that the selected index
         //always points to the correct object
@@ -359,6 +353,7 @@ public final class IgnoreListPanel extends javax.swing.JPanel {
             this.value = value;
         }
 
+        @Override
         public String toString() {
             return type.getTypePrefix() + value;
         }
@@ -427,7 +422,7 @@ public final class IgnoreListPanel extends javax.swing.JPanel {
 
         public IgnoredListModel() {
             List<String> orig = FindDialogMemory.getDefault().getIgnoreList();
-            list = new ArrayList<IgnoreListItem>(orig.size());
+            list = new ArrayList<>(orig.size());
             for (String s : orig) {
                 IgnoreListItem ili = IgnoreListItem.fromString(s);
                 if (ili.type != ItemType.INVALID) {
@@ -437,7 +432,7 @@ public final class IgnoreListPanel extends javax.swing.JPanel {
         }
 
         public void persist() {
-            List<String> copy = new ArrayList<String>(list.size());
+            List<String> copy = new ArrayList<>(list.size());
             for (IgnoreListItem ili : list) {
                 copy.add(ili.toString());
             }
@@ -554,7 +549,7 @@ public final class IgnoreListPanel extends javax.swing.JPanel {
         List<IgnoredItemDefinition> items;
 
         public IgnoreListManager(List<String> ignoreList) {
-            items = new LinkedList<IgnoredItemDefinition>();
+            items = new LinkedList<>();
             for (String s : ignoreList) {
                 IgnoreListItem ili = IgnoreListItem.fromString(s);
                 switch (ili.type) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/ListComboBoxModel.java b/platform/api.search/src/org/netbeans/modules/search/ListComboBoxModel.java
index a99362a..bc451c5 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ListComboBoxModel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ListComboBoxModel.java
@@ -91,7 +91,7 @@ public final class ListComboBoxModel<E> implements ComboBoxModel<E> {
     @Override
     public void addListDataListener(ListDataListener l) {
         if (listeners == null) {
-            listeners = new ArrayList<ListDataListener>(3);
+            listeners = new ArrayList<>(3);
             event = new ListDataEvent(this, CONTENTS_CHANGED, -1, -1);
         }
         listeners.add(l);
diff --git a/platform/api.search/src/org/netbeans/modules/search/Manager.java b/platform/api.search/src/org/netbeans/modules/search/Manager.java
index 83f2cbe..74c0a25 100644
--- a/platform/api.search/src/org/netbeans/modules/search/Manager.java
+++ b/platform/api.search/src/org/netbeans/modules/search/Manager.java
@@ -70,19 +70,19 @@ public final class Manager {
     
     private static final Manager instance = new Manager();
 
-    private final List<Runnable> pendingTasks = new LinkedList<Runnable>();
+    private final List<Runnable> pendingTasks = new LinkedList<>();
     
     private TaskListener taskListener;
     
-    private final List<Runnable> currentTasks = new LinkedList<Runnable>();
+    private final List<Runnable> currentTasks = new LinkedList<>();
 
-    private final List<Runnable> stoppingTasks = new LinkedList<Runnable>();
+    private final List<Runnable> stoppingTasks = new LinkedList<>();
 
     private boolean searchWindowOpen = false;
     
     private Reference<OutputWriter> outputWriterRef;
 
-    private Map<Task, Runnable> tasksMap = new HashMap<Task, Runnable>();
+    private Map<Task, Runnable> tasksMap = new HashMap<>();
 
     private static final RequestProcessor RP =
             new RequestProcessor(Manager.class.getName()); // #186445
@@ -213,7 +213,7 @@ public final class Manager {
             throw new IllegalStateException(ex);
         }
 
-        callOnWindowFromAWT(theMethod, new Object[]{task ,new Integer(changeType)});
+        callOnWindowFromAWT(theMethod, new Object[]{task, changeType});
     }
 
     /**
@@ -231,7 +231,7 @@ public final class Manager {
         } catch (NoSuchMethodException ex) {
             throw new IllegalStateException(ex);
         }
-        callOnWindowFromAWT(theMethod, new Object[]{sTask, new Integer(blockingTask)});
+        callOnWindowFromAWT(theMethod, new Object[]{sTask, blockingTask});
     }
     
     /**
@@ -280,12 +280,7 @@ public final class Manager {
              * to the EventQueue thread, we use invokeLater(...) and not
              * invokeAndWait(...).
              */
-            Mutex.EVENT.writeAccess(new Runnable() {
-                @Override
-                public void run() {
-                    task.getPanel().rescan();
-                }
-            });
+            Mutex.EVENT.writeAccess(task.getPanel()::rescan);
         }
     }
     
@@ -328,7 +323,7 @@ public final class Manager {
             throw new IllegalStateException(ex);
         }
         callOnWindowFromAWT(theMethod,
-                            new Object[] {task, title, task.getProblems(), Boolean.valueOf(att)},
+                            new Object[] {task, title, task.getProblems(), att},
                             false);
     }
     
@@ -367,15 +362,12 @@ public final class Manager {
     private void callOnWindowFromAWT(final Method method,
                                      final Object[] params,
                                      final boolean wait) {
-        Runnable runnable = new Runnable() {
-            @Override
-            public void run() {
-                final ResultView resultViewInstance = ResultView.getInstance();
-                try {
-                    method.invoke(resultViewInstance, params);
-                } catch (Exception ex) {
-                    ErrorManager.getDefault().notify(ex);
-                }
+        Runnable runnable = () -> {
+            final ResultView resultViewInstance = ResultView.getInstance();
+            try {
+                method.invoke(resultViewInstance, params);
+            } catch (Exception ex) {
+                ErrorManager.getDefault().notify(ex);
             }
         };
         if (EventQueue.isDispatchThread()) {
@@ -408,9 +400,9 @@ public final class Manager {
         
         searchWindowOpen = false;
         Runnable[] tasks = currentTasks.toArray(new Runnable[currentTasks.size()]);
-        for(int i=0;i < tasks.length;i++){
-            if (tasks[i] instanceof SearchTask){
-                SearchTask sTask = (SearchTask)tasks[i];
+        for (Runnable task : tasks) {
+            if (task instanceof SearchTask) {
+                SearchTask sTask = (SearchTask) task;
                 sTask.stop(true);
                 if (sTask.getDisplayer() instanceof ResultDisplayer) {
                     ResultDisplayer disp =
@@ -425,35 +417,35 @@ public final class Manager {
      */
     private synchronized void processNextPendingTask() {
         Runnable[] pTasks = pendingTasks.toArray(new Runnable[pendingTasks.size()]);
-        for(int i=0; i<pTasks.length ;i++){
+        for (Runnable pTask : pTasks) {
             boolean haveReplaceRunning = haveRunningReplaceTask();
-            if (pTasks[i] instanceof SearchTask){
-                if (!stoppingTasks.isEmpty()){
-                    notifySearchPending((SearchTask)pTasks[i], SEARCHING);
+            if (pTask instanceof SearchTask) {
+                if (!stoppingTasks.isEmpty()) {
+                    notifySearchPending((SearchTask) pTask, SEARCHING);
                 } else if (haveReplaceRunning) {
-                    notifySearchPending((SearchTask)pTasks[i], REPLACING);
+                    notifySearchPending((SearchTask) pTask, REPLACING);
                 } else {
-                    if(pendingTasks.remove(pTasks[i])){
-                        startSearching((SearchTask)pTasks[i]);
+                    if (pendingTasks.remove(pTask)) {
+                        startSearching((SearchTask) pTask);
                     }
                 }
-            }else if (pTasks[i] instanceof ReplaceTask){
+            } else if (pTask instanceof ReplaceTask) {
                 if (!haveReplaceRunning && !haveRunningSearchTask()) {
-                    if(pendingTasks.remove(pTasks[i])){
-                        startReplacing((ReplaceTask)pTasks[i]);
+                    if (pendingTasks.remove(pTask)) {
+                        startReplacing((ReplaceTask) pTask);
                     }
                 }
-            }else if (pTasks[i] instanceof PrintDetailsTask){
-                if(pendingTasks.remove(pTasks[i])){
-                    startPrintingDetails((PrintDetailsTask)pTasks[i]);
+            } else if (pTask instanceof PrintDetailsTask) {
+                if (pendingTasks.remove(pTask)) {
+                    startPrintingDetails((PrintDetailsTask) pTask);
                 }
-            }else if (pTasks[i] instanceof CleanTask){
-                if(pendingTasks.remove(pTasks[i])){
-                    startCleaning((CleanTask)pTasks[i]);
+            } else if (pTask instanceof CleanTask) {
+                if (pendingTasks.remove(pTask)) {
+                    startCleaning((CleanTask) pTask);
                 }
-            }else{
+            } else {
                 //only 4 task types described above can be here
-                assert false : "Unexpected task: " + pTasks[i]; // #184603
+                assert false : "Unexpected task: " + pTask; // #184603
             }
         }
     }
diff --git a/platform/api.search/src/org/netbeans/modules/search/MatchingObject.java b/platform/api.search/src/org/netbeans/modules/search/MatchingObject.java
index bcb7485..33e5ddf 100644
--- a/platform/api.search/src/org/netbeans/modules/search/MatchingObject.java
+++ b/platform/api.search/src/org/netbeans/modules/search/MatchingObject.java
@@ -401,7 +401,7 @@ public final class MatchingObject implements Comparable<MatchingObject>,
             return null;
         }
 
-        List<Node> detailNodes = new ArrayList<Node>(textDetails.size());
+        List<Node> detailNodes = new ArrayList<>(textDetails.size());
         for (TextDetail txtDetail : textDetails) {
             detailNodes.add(new TextDetail.DetailNode(txtDetail, false, this));
         }
@@ -433,28 +433,17 @@ public final class MatchingObject implements Comparable<MatchingObject>,
                 text = new StringBuilder(getFileObject().asText());
             } else {
                 text = new StringBuilder();
-                InputStream istm = getFileObject().getInputStream();
-                try {
-                    CharsetDecoder decoder = charset.newDecoder();
-                    InputStreamReader isr = new InputStreamReader(istm,
-                            decoder);
-                    try {
+                CharsetDecoder decoder = charset.newDecoder();
+                try (InputStream istm = getFileObject().getInputStream();
+                        InputStreamReader isr = new InputStreamReader(istm,
+                                decoder);
                         BufferedReader br = new BufferedReader(isr,
-                                FILE_READ_BUFFER_SIZE);
-                        try {
-                            int read;
-                            char[] chars = new char[FILE_READ_BUFFER_SIZE];
-                            while ((read = br.read(chars)) != -1) {
-                                text.append(chars, 0, read);
-                            }
-                        } finally {
-                            br.close();
-                        }
-                    } finally {
-                        isr.close();
+                                FILE_READ_BUFFER_SIZE)) {
+                    int read;
+                    char[] chars = new char[FILE_READ_BUFFER_SIZE];
+                    while ((read = br.read(chars)) != -1) {
+                        text.append(chars, 0, read);
                     }
-                } finally {
-                    istm.close();
                 }
             }
         }      
@@ -767,16 +756,10 @@ public final class MatchingObject implements Comparable<MatchingObject>,
         }
         
         if (REALLY_WRITE) {            
-            Writer writer = null;
-            try {
-                writer = new OutputStreamWriter(
+            try (Writer writer = new OutputStreamWriter(
                         fileObject.getOutputStream(fileLock),
-                        charset);
+                        charset)) {
                 writer.write(makeStringToWrite());
-            } finally {
-                if (writer != null) {
-                    writer.close();
-                }
             }
         } else {
             System.err.println("Would write to " + getFileObject().getPath());//NOI18N
@@ -907,27 +890,23 @@ public final class MatchingObject implements Comparable<MatchingObject>,
         }
         nodeDelegate = dataObject.getNodeDelegate();
 
-        Mutex.EVENT.writeAccess(new Runnable() {
-
-            @Override
-            public void run() {
-                int origSelectedMatches = selectedMatchesCount;
-                selectedMatchesCount = 0;
-                if (textDetails != null && !textDetails.isEmpty()) {
-                    adjustTextDetails();
-                }
-
-                changeSupport.firePropertyChange(PROP_MATCHES_SELECTED,
-                        origSelectedMatches, selectedMatchesCount);
-                if (matchesCount > 0) {
-                    setSelected(true);
-                }
-                InvalidityStatus origInvStat = invalidityStatus;
-                invalidityStatus = null;
-                changeSupport.firePropertyChange(PROP_INVALIDITY_STATUS,
-                        origInvStat,
-                        invalidityStatus);
+        Mutex.EVENT.writeAccess(() -> {
+            int origSelectedMatches = selectedMatchesCount;
+            selectedMatchesCount = 0;
+            if (textDetails != null && !textDetails.isEmpty()) {
+                adjustTextDetails();
+            }
+            
+            changeSupport.firePropertyChange(PROP_MATCHES_SELECTED,
+                    origSelectedMatches, selectedMatchesCount);
+            if (matchesCount > 0) {
+                setSelected(true);
             }
+            InvalidityStatus origInvStat = invalidityStatus;
+            invalidityStatus = null;
+            changeSupport.firePropertyChange(PROP_INVALIDITY_STATUS,
+                    origInvStat,
+                    invalidityStatus);
         });
     }
 
@@ -984,12 +963,7 @@ public final class MatchingObject implements Comparable<MatchingObject>,
             setKeys(getTextDetails());
 
             MatchingObject.this.addPropertyChangeListener(PROP_CHILD_REMOVED,
-                    new PropertyChangeListener() {
-                @Override
-                public void propertyChange(PropertyChangeEvent evt) {
-                    update();
-                }
-            });
+                    (PropertyChangeEvent evt) -> update());
         }
 
         @Override
diff --git a/platform/api.search/src/org/netbeans/modules/search/OpenFilesSearchScopeProvider.java b/platform/api.search/src/org/netbeans/modules/search/OpenFilesSearchScopeProvider.java
index 1bade82..cc93df6 100644
--- a/platform/api.search/src/org/netbeans/modules/search/OpenFilesSearchScopeProvider.java
+++ b/platform/api.search/src/org/netbeans/modules/search/OpenFilesSearchScopeProvider.java
@@ -51,7 +51,7 @@ public class OpenFilesSearchScopeProvider extends SearchScopeDefinitionProvider
     @Override
     public List<SearchScopeDefinition> createSearchScopeDefinitions() {
         List<SearchScopeDefinition> list =
-                new ArrayList<SearchScopeDefinition>(1);
+                new ArrayList<>(1);
         list.add(new OpenFilesScope());
         return list;
     }
@@ -115,7 +115,7 @@ public class OpenFilesSearchScopeProvider extends SearchScopeDefinitionProvider
          * @return all the currenlty opened FileObjects
          */
         private Collection<FileObject> getCurrentlyOpenedFiles() {
-            LinkedHashSet<FileObject> result = new LinkedHashSet<FileObject>();
+            LinkedHashSet<FileObject> result = new LinkedHashSet<>();
             for (TopComponent tc : TopComponent.getRegistry().getOpened()) {
                 DataObject dob = tc.getLookup().lookup(DataObject.class);
                 if (tc.isOpened() && dob != null && isFromEditorWindow(dob, tc)) {
@@ -133,13 +133,9 @@ public class OpenFilesSearchScopeProvider extends SearchScopeDefinitionProvider
             final EditorCookie editor = dobj.getLookup().lookup(
                     EditorCookie.class);
             if (editor != null) {
-                return Mutex.EVENT.readAccess(new Action<Boolean>() {
-                    @Override
-                    public Boolean run() {
-                        return (tc instanceof CloneableTopComponent) // #246597
-                                || NbDocument.findRecentEditorPane(editor) != null;
-                    }
-                });
+                return Mutex.EVENT.readAccess((Action<Boolean>) () ->
+                        (tc instanceof CloneableTopComponent) // #246597
+                        || NbDocument.findRecentEditorPane(editor) != null);
             }
             return false;
         }
diff --git a/platform/api.search/src/org/netbeans/modules/search/PatternSandbox.java b/platform/api.search/src/org/netbeans/modules/search/PatternSandbox.java
index 7a25f55..b598256 100644
--- a/platform/api.search/src/org/netbeans/modules/search/PatternSandbox.java
+++ b/platform/api.search/src/org/netbeans/modules/search/PatternSandbox.java
@@ -81,7 +81,7 @@ public abstract class PatternSandbox extends JPanel
      */
     protected void initComponents() {
 
-        cboxPattern = new JComboBox<String>();
+        cboxPattern = new JComboBox<>();
         cboxPattern.setEditor(new BasicSearchForm.MultiLineComboBoxEditor(cboxPattern));
         cboxPattern.setEditable(true);
         cboxPattern.setRenderer(new ShorteningCellRenderer());
@@ -117,20 +117,12 @@ public abstract class PatternSandbox extends JPanel
      * Add listeners to buttons.
      */
     private void initButtonsInteraction() {
-        btnCancel.addActionListener(new ActionListener() {
-
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                closeDialog();
-            }
+        btnCancel.addActionListener((ActionEvent e) -> {
+            closeDialog();
         });
-        btnApply.addActionListener(new ActionListener() {
-
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                apply();
-                closeDialog();
-            }
+        btnApply.addActionListener((ActionEvent e) -> {
+            apply();
+            closeDialog();
         });
     }
 
@@ -148,13 +140,7 @@ public abstract class PatternSandbox extends JPanel
                         }
                     }
                 });
-        cboxPattern.addActionListener(new ActionListener() {
-
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                highlightMatchesLater();
-            }
-        });
+        cboxPattern.addActionListener((ActionEvent e) -> highlightMatchesLater());
 
         textPane.getDocument().addDocumentListener(new DocumentListener() {
 
@@ -299,13 +285,7 @@ public abstract class PatternSandbox extends JPanel
      * Schedule highlighting of matches.
      */
     protected void highlightMatchesLater() {
-        EventQueue.invokeLater(new Runnable() {
-
-            @Override
-            public void run() {
-                highlightMatches();
-            }
-        });
+        EventQueue.invokeLater(this::highlightMatches);
     }
 
     /**
@@ -357,7 +337,7 @@ public abstract class PatternSandbox extends JPanel
      * Reverse items in a list. Create a new list, original list is untouched.
      */
     private static <T> List<T> reverse(List<T> list) {
-        LinkedList<T> ll = new LinkedList<T>();
+        LinkedList<T> ll = new LinkedList<>();
         for (T t : list) {
             ll.add(0, t);
         }
@@ -607,7 +587,7 @@ public abstract class PatternSandbox extends JPanel
             JPanel panel = new JPanel();
             JLabel label = new JLabel();
             Mnemonics.setLocalizedText(label, Bundle.LBL_LineEnding());
-            final JComboBox<LineEnding> cbox = new JComboBox<LineEnding>(new LineEnding[]{});
+            final JComboBox<LineEnding> cbox = new JComboBox<>(new LineEnding[]{});
             cbox.getAccessibleContext().setAccessibleName(Bundle.LBL_LineEnding_accName());
             cbox.setToolTipText(Bundle.LBL_LineEnding_tooltip());
             label.setLabelFor(cbox);
@@ -636,31 +616,21 @@ public abstract class PatternSandbox extends JPanel
          * item.
          */
         private void loadLineEnding(final JComboBox<LineEnding> comboBox) {
-            RP.post(new Runnable() {
-
-                @Override
-                public void run() {
-                    String typeStr = NbPreferences.forModule(
-                            PatternSandbox.class).get(LINE_SEP, null);
-                    if (typeStr != null) {
-                        try {
-                            lineEnding = LineEnding.valueOf(typeStr);
-                        } catch (IllegalArgumentException e) {
-                            LOG.log(Level.FINE, "Unknown LEType {0}", typeStr); //NOI18N
-                        }
+            RP.post(() -> {
+                String typeStr = NbPreferences.forModule(
+                        PatternSandbox.class).get(LINE_SEP, null);
+                if (typeStr != null) {
+                    try {
+                        lineEnding = LineEnding.valueOf(typeStr);
+                    } catch (IllegalArgumentException e) {
+                        LOG.log(Level.FINE, "Unknown LEType {0}", typeStr); //NOI18N
                     }
-                    if (lineEnding == null) {
-                        lineEnding = Utilities.isWindows()
-                                ? LineEnding.CRLF : LineEnding.LF;
-                    }
-                    EventQueue.invokeLater(new Runnable() {
-
-                        @Override
-                        public void run() {
-                            fillLineEndingComboBox(comboBox);
-                        }
-                    });
                 }
+                if (lineEnding == null) {
+                    lineEnding = Utilities.isWindows()
+                            ? LineEnding.CRLF : LineEnding.LF;
+                }
+                EventQueue.invokeLater(() -> fillLineEndingComboBox(comboBox));
             });
         }
 
@@ -674,14 +644,10 @@ public abstract class PatternSandbox extends JPanel
             comboBox.addItem(LineEnding.LF);
             comboBox.addItem(LineEnding.CR);
             comboBox.setSelectedItem(lineEnding);
-            comboBox.addActionListener(new ActionListener() {
-
-                @Override
-                public void actionPerformed(ActionEvent e) {
-                    lineEnding = ((LineEnding) comboBox.getSelectedItem());
-                    updateLineEnding();
-                    saveLineEnding();
-                }
+            comboBox.addActionListener((ActionEvent e) -> {
+                lineEnding = (LineEnding) comboBox.getSelectedItem();
+                updateLineEnding();
+                saveLineEnding();
             });
             updateLineEnding();
         }
@@ -690,13 +656,10 @@ public abstract class PatternSandbox extends JPanel
          * Persist selected line ending.
          */
         private void saveLineEnding() {
-            RP.post(new Runnable() {
-                @Override
-                public void run() {
-                    if (lineEnding != null) {
-                        NbPreferences.forModule(PatternSandbox.class).put(
-                                LINE_SEP, lineEnding.name());
-                    }
+            RP.post(() -> {
+                if (lineEnding != null) {
+                    NbPreferences.forModule(PatternSandbox.class).put(
+                            LINE_SEP, lineEnding.name());
                 }
             });
         }
@@ -859,21 +822,17 @@ public abstract class PatternSandbox extends JPanel
             jp.add(b);
             Mnemonics.setLocalizedText(b,
                     getText("PathPatternSandbox.browseButton.text"));   //NOI18N
-            b.addActionListener(new ActionListener() {
-
-                @Override
-                public void actionPerformed(ActionEvent e) {
-                    JFileChooser jFileChooser = new JFileChooser();
-                    jFileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
-                    jFileChooser.setMultiSelectionEnabled(true);
-                    jFileChooser.showOpenDialog(b);
-                    if (jFileChooser.getSelectedFiles() == null) {
-                        return;
-                    }
-                    for (File f : jFileChooser.getSelectedFiles()) {
-                        textPane.setText(textPane.getText() + "\n" //NOI18N
-                                + f.getAbsolutePath());
-                    }
+            b.addActionListener((ActionEvent e) -> {
+                JFileChooser jFileChooser = new JFileChooser();
+                jFileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
+                jFileChooser.setMultiSelectionEnabled(true);
+                jFileChooser.showOpenDialog(b);
+                if (jFileChooser.getSelectedFiles() == null) {
+                    return;
+                }
+                for (File f : jFileChooser.getSelectedFiles()) {
+                    textPane.setText(textPane.getText() + "\n" //NOI18N
+                            + f.getAbsolutePath());
                 }
             });
             return jp;
diff --git a/platform/api.search/src/org/netbeans/modules/search/PrintDetailsTask.java b/platform/api.search/src/org/netbeans/modules/search/PrintDetailsTask.java
index 79575be..1c3c216 100644
--- a/platform/api.search/src/org/netbeans/modules/search/PrintDetailsTask.java
+++ b/platform/api.search/src/org/netbeans/modules/search/PrintDetailsTask.java
@@ -175,14 +175,11 @@ public final class PrintDetailsTask implements Runnable {
         try {
             final Method method = SearchDisplayer.class
                     .getDeclaredMethod(methodName, new Class<?>[0]);
-            Runnable runnable = new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        method.invoke(displayer, (Object[]) null);
-                    } catch (Exception ex) {
-                        ErrorManager.getDefault().notify(ex);
-                    }
+            Runnable runnable = () -> {
+                try {
+                    method.invoke(displayer, (Object[]) null);
+                } catch (Exception ex) {
+                    ErrorManager.getDefault().notify(ex);
                 }
             };
             if (EventQueue.isDispatchThread()) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/ReplaceTask.java b/platform/api.search/src/org/netbeans/modules/search/ReplaceTask.java
index 019456a..38a9430 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ReplaceTask.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ReplaceTask.java
@@ -69,7 +69,7 @@ public final class ReplaceTask implements Runnable {
         this.matchingObjects = matchingObjects;
         this.panel = panel;
         
-        problems = new ArrayList<String>(4);
+        problems = new ArrayList<>(4);
         progressHandle = ProgressHandle.createHandle(
                 NbBundle.getMessage(getClass(), "LBL_Replacing"), //NOI18N
                 null, null);
@@ -77,6 +77,7 @@ public final class ReplaceTask implements Runnable {
     
     /**
      */
+    @Override
     public void run() {
         assert !EventQueue.isDispatchThread();
         
@@ -96,11 +97,7 @@ public final class ReplaceTask implements Runnable {
         
         checkForErrors();
         if (resultStatus == null) {       //the check passed
-            FileUtil.runAtomicAction(new Runnable() {
-                public void run() {
-                    doReplace();
-                }
-            });
+            FileUtil.runAtomicAction((Runnable) this::doReplace);
         }
     }
     
@@ -158,9 +155,8 @@ public final class ReplaceTask implements Runnable {
                 } else {
                     errMessage = status.getDescription(obj.getFileObject().getPath());
                 }
-            } catch (FileAlreadyLockedException ex) {
-                errMessage = createMsgFileLocked(obj);
-            } catch (UserQuestionException ex) {
+            } catch (FileAlreadyLockedException |
+                    UserQuestionException ex) {
                 errMessage = createMsgFileLocked(obj);
             } catch (IOException ex) {
                 ex.printStackTrace();      //PENDING - ex.printStackTrace()?
diff --git a/platform/api.search/src/org/netbeans/modules/search/ResultView.java b/platform/api.search/src/org/netbeans/modules/search/ResultView.java
index e04c281..26a40a3 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ResultView.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ResultView.java
@@ -129,12 +129,7 @@ public final class ResultView extends TopComponent {
         singlePanel.setLayout(new BoxLayout(singlePanel, BoxLayout.PAGE_AXIS));
         emptyPanel.setOpaque(true);
         tabs = TabbedPaneFactory.createCloseButtonTabbedPane();
-        tabs.addChangeListener(new ChangeListener() {
-            @Override
-            public void stateChanged(ChangeEvent e) {
-                updateLookup();
-            }
-        });
+        tabs.addChangeListener((ChangeEvent e) -> updateLookup());
         tabs.setMinimumSize(new Dimension(0, 0));
         tabs.addMouseListener(popL);
         tabs.addPropertyChangeListener(closeL);
@@ -369,9 +364,9 @@ public final class ResultView extends TopComponent {
     }
 
     private Map<SearchTask, ResultViewPanel> searchToViewMap =
-            new HashMap<SearchTask, ResultViewPanel>();
+            new HashMap<>();
     private Map<ResultViewPanel, SearchTask> viewToSearchMap =
-            new HashMap<ResultViewPanel, SearchTask>();
+            new HashMap<>();
 
     void addSearchPair(ResultViewPanel panel, SearchTask task){
         if ((task != null) && (panel != null)){
@@ -385,20 +380,21 @@ public final class ResultView extends TopComponent {
     }
 
     private Map<ReplaceTask, SearchTask> replaceToSearchMap =
-            new HashMap<ReplaceTask, SearchTask>();
+            new HashMap<>();
     private Map<SearchTask, ReplaceTask> searchToReplaceMap =
-            new HashMap<SearchTask, ReplaceTask>();
+            new HashMap<>();
 
     private void closeAll(boolean butCurrent) {
         if (tabs.getTabCount() > 0) {
             Component current = tabs.getSelectedComponent();
             Component[] c =  tabs.getComponents();
-            for (int i = 0; i< c.length; i++) {
-                if (butCurrent && c[i]==current) {
+            for (Component c1 : c) {
+                if (butCurrent && c1 == current) {
                     continue;
                 }
-                if(c[i] instanceof ResultViewPanel) { // #172546
-                    removePanel((ResultViewPanel) c[i]);
+                if (c1 instanceof ResultViewPanel) {
+                    // #172546
+                    removePanel((ResultViewPanel) c1);
                 }
             }
         } else if (singlePanel.getComponents().length > 0) {
@@ -535,7 +531,7 @@ public final class ResultView extends TopComponent {
             ResultViewPanel resultViewPanel) {
         tabToReuse = resultViewPanel == null
                 ? null
-                : new WeakReference<ResultViewPanel>(resultViewPanel);
+                : new WeakReference<>(resultViewPanel);
     }
 
     private synchronized ResultViewPanel getTabToReuse() {
@@ -575,8 +571,8 @@ public final class ResultView extends TopComponent {
             appendTabToToolTip(singlePanel.getComponent(0), sb);
         } else if (tabs.getComponents().length > 0) {
             Component[] comps = tabs.getComponents();
-            for (int i = 0; i < comps.length; i++) {
-                appendTabToToolTip(comps[i], sb);
+            for (Component comp : comps) {
+                appendTabToToolTip(comp, sb);
             }
         }
         sb.append("</html>");                                           //NOI18N
diff --git a/platform/api.search/src/org/netbeans/modules/search/ResultViewPanel.java b/platform/api.search/src/org/netbeans/modules/search/ResultViewPanel.java
index e311345..c40063f 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ResultViewPanel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ResultViewPanel.java
@@ -114,12 +114,7 @@ class ResultViewPanel extends JPanel implements Lookup.Provider {
             toolBar.setFloatable(false);
             toolBar.setOrientation(JToolBar.VERTICAL);
             btnStop.setIcon(ImageUtilities.loadImageIcon(STOP_ICON, false));
-            btnStop.addActionListener(new ActionListener() {
-                @Override
-                public void actionPerformed(ActionEvent e) {
-                    searchCancelled();
-                }
-            });
+            btnStop.addActionListener((ActionEvent e) -> searchCancelled());
             btnStop.setToolTipText(UiUtils.getText("TEXT_BUTTON_STOP"));//NOI18N
             toolBar.add(btnStop);
             infoPanel.add(toolBar, BorderLayout.WEST);
diff --git a/platform/api.search/src/org/netbeans/modules/search/SearchDisplayer.java b/platform/api.search/src/org/netbeans/modules/search/SearchDisplayer.java
index 6d3833e..f1a7853 100644
--- a/platform/api.search/src/org/netbeans/modules/search/SearchDisplayer.java
+++ b/platform/api.search/src/org/netbeans/modules/search/SearchDisplayer.java
@@ -61,7 +61,7 @@ public final class SearchDisplayer {
                                              "TITLE_SEARCH_RESULTS");   //NOI18N
         InputOutput searchIO = IOProvider.getDefault().getIO(tabName, false);
         ow = searchIO.getOut();
-        owRef = new WeakReference<OutputWriter>(ow);
+        owRef = new WeakReference<>(ow);
         
         searchIO.select();
     }
@@ -103,21 +103,19 @@ public final class SearchDisplayer {
 
         /* Print the output lines: */
         try {
-            EventQueue.invokeAndWait(new Runnable() {
-                public void run() {
-                    try {
-                        for (int i = 0; i < outputLines.length; i++) {
-                            OutputListener listener = listeners[i];
-                            if (listener != null) {
-                                ow.println(outputLines[i], listener);
-                            } else {
-                                ow.println(outputLines[i]);
-                            }
+            EventQueue.invokeAndWait(() -> {
+                try {
+                    for (int i = 0; i < outputLines.length; i++) {
+                        OutputListener listener = listeners[i];
+                        if (listener != null) {
+                            ow.println(outputLines[i], listener);
+                        } else {
+                            ow.println(outputLines[i]);
                         }
-                    } catch (Exception ex) {
-                        ErrorManager.getDefault()
-                        .notify(ErrorManager.EXCEPTION, ex);
                     }
+                } catch (Exception ex) {
+                    ErrorManager.getDefault()
+                            .notify(ErrorManager.EXCEPTION, ex);
                 }
             });
         } catch (Exception ex) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/SearchPanel.java b/platform/api.search/src/org/netbeans/modules/search/SearchPanel.java
index 2fcbfa3..c7470aa 100644
--- a/platform/api.search/src/org/netbeans/modules/search/SearchPanel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/SearchPanel.java
@@ -121,12 +121,7 @@ public class SearchPanel extends JPanel implements FocusListener,
                     selectedPresenter = pp.getPresenter();
                 }
             }
-            tabbedPane.addChangeListener(new ChangeListener() {
-                @Override
-                public void stateChanged(ChangeEvent e) {
-                    tabChanged();
-                }
-            });
+            tabbedPane.addChangeListener((ChangeEvent e) -> tabChanged());
             add(tabbedPane);
         }
         if (selectedPresenter == null) {
@@ -199,7 +194,7 @@ public class SearchPanel extends JPanel implements FocusListener,
      */
     List<PresenterProxy> makePresenters(Presenter explicitPresenter) {
 
-        List<PresenterProxy> presenterList = new LinkedList<PresenterProxy>();
+        List<PresenterProxy> presenterList = new LinkedList<>();
         SearchProvider explicitProvider = explicitPresenter == null
                 ? null
                 : explicitPresenter.getSearchProvider();
@@ -381,13 +376,8 @@ public class SearchPanel extends JPanel implements FocusListener,
      * Add change listener to a presenter.
      */
     private void initChangeListener(final Presenter p) {
-        p.addChangeListener(new ChangeListener() {
-            @Override
-            public void stateChanged(ChangeEvent e) {
-                okButton.setEnabled(p.isUsable(
-                        dialogDescr.getNotificationLineSupport()));
-            }
-        });
+        p.addChangeListener((ChangeEvent e) -> okButton.setEnabled(
+                p.isUsable(dialogDescr.getNotificationLineSupport())));
     }
 
     private void updateUsability() {
diff --git a/platform/api.search/src/org/netbeans/modules/search/SearchScopeBrowse.java b/platform/api.search/src/org/netbeans/modules/search/SearchScopeBrowse.java
index 27eecea..6d2080a 100644
--- a/platform/api.search/src/org/netbeans/modules/search/SearchScopeBrowse.java
+++ b/platform/api.search/src/org/netbeans/modules/search/SearchScopeBrowse.java
@@ -247,14 +247,14 @@ public class SearchScopeBrowse {
         "TTL_FileDoesNotExist=File Error"
     })
     private List<File> selectExistingFiles(File[] files) {
-        List<File> existingFiles = new ArrayList<File>(files.length);
+        List<File> existingFiles = new ArrayList<>(files.length);
         boolean errorShown = false;
-        for (int i = 0; i < files.length; i++) {
-            if (files[i].exists()) {
-                existingFiles.add(files[i]);
+        for (File file : files) {
+            if (file.exists()) {
+                existingFiles.add(file);
             } else if (!errorShown) {
                 DialogDisplayer.getDefault().notifyLater(new NotifyDescriptor(
-                        Bundle.MSG_FileDoesNotExist(files[i]),
+                        Bundle.MSG_FileDoesNotExist(file),
                         Bundle.TTL_FileDoesNotExist(),
                         NotifyDescriptor.DEFAULT_OPTION,
                         NotifyDescriptor.ERROR_MESSAGE, null,
diff --git a/platform/api.search/src/org/netbeans/modules/search/SearchScopeList.java b/platform/api.search/src/org/netbeans/modules/search/SearchScopeList.java
index f628a4b..66b2135 100644
--- a/platform/api.search/src/org/netbeans/modules/search/SearchScopeList.java
+++ b/platform/api.search/src/org/netbeans/modules/search/SearchScopeList.java
@@ -42,7 +42,7 @@ public class SearchScopeList {
 
     private final List<SearchScopeDefinition> scopes;
     private final List<ChangeListener> changeListeners =
-            new ArrayList<ChangeListener>(1);
+            new ArrayList<>(1);
     private ProxyChangeListener proxyChangeListener = new ProxyChangeListener();
 
     /**
@@ -92,7 +92,7 @@ public class SearchScopeList {
             SearchScopeDefinition... extraSearchScopes) {
 
         List<SearchScopeDefinition> scopeList =
-                new ArrayList<SearchScopeDefinition>(6);
+                new ArrayList<>(6);
         Collection<? extends SearchScopeDefinitionProvider> providers;
         providers = Lookup.getDefault().lookupAll(
                 SearchScopeDefinitionProvider.class);
@@ -112,7 +112,7 @@ public class SearchScopeList {
      */
     public List<SearchScopeDefinition> getSeachScopeDefinitions() {
         synchronized (scopes) {
-            return new ArrayList<SearchScopeDefinition>(scopes); //#220505
+            return new ArrayList<>(scopes); //#220505
         }
     }
 
@@ -135,12 +135,7 @@ public class SearchScopeList {
 
         @Override
         public void stateChanged(final ChangeEvent e) {
-            Mutex.EVENT.writeAccess(new Runnable() {
-                @Override
-                public void run() {
-                    notifyDelegates(e);
-                }
-            });
+            Mutex.EVENT.writeAccess(() -> notifyDelegates(e));
         }
 
         private void notifyDelegates(ChangeEvent e) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/SearchTask.java b/platform/api.search/src/org/netbeans/modules/search/SearchTask.java
index 131bb1e..dcd769d 100644
--- a/platform/api.search/src/org/netbeans/modules/search/SearchTask.java
+++ b/platform/api.search/src/org/netbeans/modules/search/SearchTask.java
@@ -84,12 +84,7 @@ final class SearchTask implements Runnable, Cancellable {
         try {
             makeResultViewBusy(true);
             searchListener.searchStarted();
-            Mutex.EVENT.writeAccess(new Runnable() {
-                @Override
-                public void run() {
-                    resultViewPanel.requestFocusInWindow();
-                }
-            });
+            Mutex.EVENT.writeAccess(resultViewPanel::requestFocusInWindow);
             searchComposition.start(searchListener);
         } catch (RuntimeException e) {
             searchListener.generalError(e);
@@ -177,11 +172,6 @@ final class SearchTask implements Runnable, Cancellable {
     }
 
     private void makeResultViewBusy(final boolean busy) {
-        Mutex.EVENT.writeAccess(new Runnable() {
-            @Override
-            public void run() {
-                ResultView.getInstance().makeBusy(busy);
-            }
-        });
+        Mutex.EVENT.writeAccess(() -> ResultView.getInstance().makeBusy(busy));
     }
 }
diff --git a/platform/api.search/src/org/netbeans/modules/search/TextDetail.java b/platform/api.search/src/org/netbeans/modules/search/TextDetail.java
index 7a30847..015556f 100644
--- a/platform/api.search/src/org/netbeans/modules/search/TextDetail.java
+++ b/platform/api.search/src/org/netbeans/modules/search/TextDetail.java
@@ -151,18 +151,12 @@ public final class TextDetail implements Selectable {
         final EditorCookie edCookie = dobj.getLookup().lookup(EditorCookie.class);
         if (edCookie != null) {
             Task prepareTask = edCookie.prepareDocument();             //#227989
-            prepareTask.addTaskListener(new TaskListener() {
-                @Override
-                public void taskFinished(Task task) {
-                    EventQueue.invokeLater(new Runnable() {
-                        @Override
-                        public void run() {
-                            edCookie.open();
-                            showLine(how);
-                            highlightDetail(edCookie);
-                        }
-                    });
-                }
+            prepareTask.addTaskListener((Task task) -> {
+                EventQueue.invokeLater(() -> {
+                    edCookie.open();
+                    showLine(how);
+                    highlightDetail(edCookie);
+                });
             });
         } else {
             showLine(how);
@@ -195,18 +189,15 @@ public final class TextDetail implements Selectable {
             if (panes != null && panes.length > 0) {
                 // Necessary since above lineObj.show leads to invoke
                 // later as well.
-                SwingUtilities.invokeLater(new Runnable() {
-                    @Override
-                    public void run() {
-                        try {
-                            Caret caret = panes[0].getCaret(); // #23626
-                            caret.moveDot(caret.getDot() + markLength);
-                        } catch (Exception e) { // #217038
-                            StatusDisplayer.getDefault().setStatusText(
-                                    Bundle.MSG_CannotShowTextDetai());
-                            LOG.log(Level.FINE,
-                                    Bundle.MSG_CannotShowTextDetai(), e);
-                        }
+                SwingUtilities.invokeLater(() -> {
+                    try {
+                        Caret caret = panes[0].getCaret(); // #23626
+                        caret.moveDot(caret.getDot() + markLength);
+                    } catch (Exception e) { // #217038
+                        StatusDisplayer.getDefault().setStatusText(
+                                Bundle.MSG_CannotShowTextDetai());
+                        LOG.log(Level.FINE,
+                                Bundle.MSG_CannotShowTextDetai(), e);
                     }
                 });
             }
@@ -350,7 +341,7 @@ public final class TextDetail implements Selectable {
 
     public void addSurroundingLine(int number, String text) {
         if (surroundingLines == null) {
-            surroundingLines = new ArrayList<SurroundingLine>(5);
+            surroundingLines = new ArrayList<>(5);
         }
         surroundingLines.add(new SurroundingLine(number, text));
     }
@@ -436,12 +427,7 @@ public final class TextDetail implements Selectable {
             this.dobj = dataObject;
             this.lineObj = null;
             if (showAfterDataObjectUpdated) {
-                EventQueue.invokeLater(new Runnable() {
-                    @Override
-                    public void run() {
-                        showDetail(TextDetail.DH_GOTO);
-                    }
-                });
+                EventQueue.invokeLater(() -> showDetail(TextDetail.DH_GOTO));
                 showAfterDataObjectUpdated = false;
             }
         } else {
@@ -490,19 +476,11 @@ public final class TextDetail implements Selectable {
             // get the Line object. Later - if the user jumps to the document,
             // changes it and saves - the Line objects are not created for the
             // original set of lines.
-            RP.post(new Runnable() { // run in background - see bug #225632
-                @Override
-                public void run() {
-                    DetailNode.this.txtDetail.prepareLine();
-                }
-            });
-            txtDetail.addChangeListener(new ChangeListener() {
-                @Override
-                public void stateChanged(ChangeEvent e) {
-                    fireIconChange();
-                    ResultsOutlineSupport.toggleParentSelected(
-                            DetailNode.this.getParentNode());
-                }
+            RP.post(DetailNode.this.txtDetail::prepareLine); // run in background - see bug #225632
+            txtDetail.addChangeListener((ChangeEvent e) -> {
+                fireIconChange();
+                ResultsOutlineSupport.toggleParentSelected(
+                        DetailNode.this.getParentNode());
             });
             setIconBaseWithExtension(ICON);
         }
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/AsciiMultiLineMappedMatcher.java b/platform/api.search/src/org/netbeans/modules/search/matcher/AsciiMultiLineMappedMatcher.java
index 73c5df8..0e1d7fc 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/AsciiMultiLineMappedMatcher.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/AsciiMultiLineMappedMatcher.java
@@ -117,7 +117,7 @@ public class AsciiMultiLineMappedMatcher extends AbstractMatcher {
 
         while (textMatcher.find()) {
             if (textDetails == null) {
-                textDetails = new LinkedList<TextDetail>();
+                textDetails = new LinkedList<>();
                 dataObject = DataObject.find(fo);
                 fileMatches++;
             }
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/DefaultMatcher.java b/platform/api.search/src/org/netbeans/modules/search/matcher/DefaultMatcher.java
index 7701484..f00f06a 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/DefaultMatcher.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/DefaultMatcher.java
@@ -46,7 +46,7 @@ public class DefaultMatcher extends AbstractMatcher {
     private static final Collection<String> searchableExtensions;
 
     static {
-        searchableXMimeTypes = new HashSet<String>(17);
+        searchableXMimeTypes = new HashSet<>(17);
         searchableXMimeTypes.add("csh");                                //NOI18N
         searchableXMimeTypes.add("httpd-eruby");                        //NOI18N
         searchableXMimeTypes.add("httpd-php");                          //NOI18N
@@ -60,7 +60,7 @@ public class DefaultMatcher extends AbstractMatcher {
         searchableXMimeTypes.add("texinfo");                            //NOI18N
         searchableXMimeTypes.add("troff");                              //NOI18N
 
-        searchableExtensions = new HashSet<String>(); //TODO make configurable
+        searchableExtensions = new HashSet<>(); //TODO make configurable
         searchableExtensions.add("txt");                                //NOI18N
         searchableExtensions.add("log");                                //NOI18N
     }
@@ -165,31 +165,26 @@ public class DefaultMatcher extends AbstractMatcher {
         byte[] bytes = new byte[1024]; // check the first kB of the file
         byte fe = (byte) 0xFE, ff = (byte) 0xFF, oo = (byte) 0x00,
                 ef = (byte) 0xEF, bf = (byte) 0xBF, bb = (byte) 0xBB;
-        try {
-            InputStream is = fo.getInputStream();
-            try {
-                int read = is.read(bytes);
-                if (read > 2 && bytes[0] == ef && bytes[1] == bb
-                        && bytes[2] == bf) {
-                    return true; //UTF-8 BOM
-                } else if (read > 1 && ((bytes[0] == ff) && bytes[1] == fe
-                        || (bytes[0] == fe && bytes[1] == ff))) {
-                    return true; // UTF-16
-                } else if (read > 3 && ((bytes[0] == oo && bytes[1] == oo
-                        && bytes[2] == fe && bytes[3] == ff)
-                        || (bytes[0] == ff && bytes[1] == fe
-                        && bytes[2] == oo && bytes[3] == oo))) {
-                    return true; //UTF-32
-                } else {
-                    for (int i = 0; i < read; i++) {
-                        if (bytes[i] == oo) {
-                            return false; // zero-byte found
-                        }
+        try (InputStream is = fo.getInputStream()) {
+            int read = is.read(bytes);
+            if (read > 2 && bytes[0] == ef && bytes[1] == bb
+                    && bytes[2] == bf) {
+                return true; //UTF-8 BOM
+            } else if (read > 1 && ((bytes[0] == ff) && bytes[1] == fe
+                    || (bytes[0] == fe && bytes[1] == ff))) {
+                return true; // UTF-16
+            } else if (read > 3 && ((bytes[0] == oo && bytes[1] == oo
+                    && bytes[2] == fe && bytes[3] == ff)
+                    || (bytes[0] == ff && bytes[1] == fe
+                    && bytes[2] == oo && bytes[3] == oo))) {
+                return true; //UTF-32
+            } else {
+                for (int i = 0; i < read; i++) {
+                    if (bytes[i] == oo) {
+                        return false; // zero-byte found
                     }
-                    return true; // no zero-byte found
                 }
-            } finally {
-                is.close();
+                return true; // no zero-byte found
             }
         } catch (Exception e) {
             return false;
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/FastMatcher.java b/platform/api.search/src/org/netbeans/modules/search/matcher/FastMatcher.java
index f1a601c..e8b402d 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/FastMatcher.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/FastMatcher.java
@@ -155,7 +155,7 @@ public class FastMatcher extends AbstractMatcher {
 
         while (textMatcher.find()) {
             if (textDetails == null) {
-                textDetails = new LinkedList<TextDetail>();
+                textDetails = new LinkedList<>();
                 dataObject = DataObject.find(fo);
                 fileMatches++;
             }
@@ -192,7 +192,7 @@ public class FastMatcher extends AbstractMatcher {
             Matcher m = pattern.matcher(line.getString());
             while (m.find() && canRun) {
                 if (dets == null) {
-                    dets = new ArrayList<TextDetail>();
+                    dets = new ArrayList<>();
                     dataObject = DataObject.find(fo);
 
                 }
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/FinishingTextDetailList.java b/platform/api.search/src/org/netbeans/modules/search/matcher/FinishingTextDetailList.java
index ea89385..cce5b9c 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/FinishingTextDetailList.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/FinishingTextDetailList.java
@@ -34,13 +34,13 @@ import org.netbeans.modules.search.TextDetail;
 class FinishingTextDetailList {
 
     private final int linesAfterMatch;
-    List<TextDetail> waitList = new LinkedList<TextDetail>();
+    List<TextDetail> waitList = new LinkedList<>();
 
     FinishingTextDetailList(int linesAfterMatch) {
         this.linesAfterMatch = linesAfterMatch;
     }
     Map<Integer, List<TextDetail>> detailMap =
-            new HashMap<Integer, List<TextDetail>>();
+            new HashMap<>();
 
     /**
      * Add a text detail that may need to add surrounding lines.
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineMappedMatcherBig.java b/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineMappedMatcherBig.java
index 7933971..fed4993 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineMappedMatcherBig.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineMappedMatcherBig.java
@@ -111,7 +111,7 @@ public class MultiLineMappedMatcherBig extends AbstractMatcher {
 
         while (textMatcher.find()) {
             if (textDetails == null) {
-                textDetails = new LinkedList<TextDetail>();
+                textDetails = new LinkedList<>();
                 dataObject = DataObject.find(fo);
                 fileMatches++;
             }
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineMappedMatcherSmall.java b/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineMappedMatcherSmall.java
index 8711136..21f36a7 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineMappedMatcherSmall.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineMappedMatcherSmall.java
@@ -129,7 +129,7 @@ public class MultiLineMappedMatcherSmall extends AbstractMatcher {
 
         while (textMatcher.find()) {
             if (textDetails == null) {
-                textDetails = new LinkedList<TextDetail>();
+                textDetails = new LinkedList<>();
                 dataObject = DataObject.find(fo);
                 fileMatches++;
             }
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineStreamMatcher.java b/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineStreamMatcher.java
index 20524ba..44d8925 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineStreamMatcher.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/MultiLineStreamMatcher.java
@@ -62,7 +62,7 @@ public class MultiLineStreamMatcher extends AbstractMatcher {
      * List of currently processed searches.
      */
     private List<BufferedCharSequence> currentlyProcessedSequences =
-            new ArrayList<BufferedCharSequence>(1);
+            new ArrayList<>(1);
     private Pattern pattern;
     private SearchPattern searchPattern;
 
@@ -155,7 +155,7 @@ public class MultiLineStreamMatcher extends AbstractMatcher {
                 || txtDetails.size() < limit)) {
 
             if (txtDetails == null) {
-                txtDetails = new ArrayList<TextDetail>();
+                txtDetails = new ArrayList<>();
                 dataObject = DataObject.find(fo);
             }
 
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/ReadLineBuffer.java b/platform/api.search/src/org/netbeans/modules/search/matcher/ReadLineBuffer.java
index 267c771..6fda55b 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/ReadLineBuffer.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/ReadLineBuffer.java
@@ -56,7 +56,7 @@ class ReadLineBuffer {
      * Get buffered lines, in order of their addition to the buffer.
      */
     List<Line> getLines() {
-        List<Line> l = new ArrayList<Line>(size);
+        List<Line> l = new ArrayList<>(size);
         for (int i = 0; i < size; i++) {
             l.add(lines[(currentIndex - size + i + capacity) % capacity]);
         }
diff --git a/platform/api.search/src/org/netbeans/modules/search/matcher/SingleLineStreamMatcher.java b/platform/api.search/src/org/netbeans/modules/search/matcher/SingleLineStreamMatcher.java
index de62106..6a8238a 100644
--- a/platform/api.search/src/org/netbeans/modules/search/matcher/SingleLineStreamMatcher.java
+++ b/platform/api.search/src/org/netbeans/modules/search/matcher/SingleLineStreamMatcher.java
@@ -95,8 +95,7 @@ public class SingleLineStreamMatcher extends AbstractMatcher {
         FinishingTextDetailList finishList = new FinishingTextDetailList(3);
 
         boolean canRun = true;
-        final InputStream stream = fo.getInputStream();
-        try {
+        try (final InputStream stream = fo.getInputStream()) {
             LineReader nelr = new LineReader(decoder, stream);
             try {
                 LineReader.LineInfo line;
@@ -105,7 +104,7 @@ public class SingleLineStreamMatcher extends AbstractMatcher {
                     Matcher m = pattern.matcher(line.getString());
                     while (m.find() && canRun) {
                         if (dets == null) {
-                            dets = new LinkedList<TextDetail>();
+                            dets = new LinkedList<>();
                             dataObject = DataObject.find(fo);
                         }
                         TextDetail det = MatcherUtils.createTextDetail(false, m,
@@ -131,8 +130,6 @@ public class SingleLineStreamMatcher extends AbstractMatcher {
             } finally {
                 nelr.close();
             }
-        } finally {
-            stream.close();
         }
         return dets;
     }
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/AbstractSearchResultsPanel.java b/platform/api.search/src/org/netbeans/modules/search/ui/AbstractSearchResultsPanel.java
index a936039..06ee1ed 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/AbstractSearchResultsPanel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/AbstractSearchResultsPanel.java
@@ -189,14 +189,11 @@ public abstract class AbstractSearchResultsPanel extends javax.swing.JPanel
 
     private void initStopRefreshButton() throws MissingResourceException {
         sizeButton(btnStopRefresh);
-        btnStopRefresh.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                if (btnStopRefreshInRefreshMode) {
-                    modifyCriteria();
-                } else {
-                    getSearchComposition().terminate();
-                }
+        btnStopRefresh.addActionListener((ActionEvent e) -> {
+            if (btnStopRefreshInRefreshMode) {
+                modifyCriteria();
+            } else {
+                getSearchComposition().terminate();
             }
         });
         btnStopRefresh.setToolTipText(
@@ -224,12 +221,7 @@ public abstract class AbstractSearchResultsPanel extends javax.swing.JPanel
         btnNext.setToolTipText(UiUtils.getText(
                 "TEXT_BUTTON_NEXT_MATCH"));                             //NOI18N
         btnNext.setEnabled(false);
-        btnNext.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                shift(1);
-            }
-        });
+        btnNext.addActionListener((ActionEvent e) -> shift(1));
     }
 
     private void initPrevButton() {
@@ -238,12 +230,7 @@ public abstract class AbstractSearchResultsPanel extends javax.swing.JPanel
         btnPrev.setToolTipText(UiUtils.getText(
                 "TEXT_BUTTON_PREV_MATCH"));                             //NOI18N
         btnPrev.setEnabled(false);
-        btnPrev.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                shift(-1);
-            }
-        });
+        btnPrev.addActionListener((ActionEvent e) -> shift(-1));
     }
 
     protected void sizeButton(AbstractButton button) {
@@ -265,12 +252,7 @@ public abstract class AbstractSearchResultsPanel extends javax.swing.JPanel
     }
 
     public void searchFinished() {
-        Mutex.EVENT.writeAccess(new Runnable() {
-            @Override
-            public void run() {
-                showRefreshButton();
-            }
-        });
+        Mutex.EVENT.writeAccess(this::showRefreshButton);
     }
 
     /**
@@ -398,21 +380,11 @@ public abstract class AbstractSearchResultsPanel extends javax.swing.JPanel
     }
 
     private void initSelectionListeners() {
-        getExplorerManager().addPropertyChangeListener(
-                new PropertyChangeListener() {
-                    @Override
-                    public void propertyChange(PropertyChangeEvent evt) {
-                        if (evt.getPropertyName().equals(
-                                "selectedNodes")) {                     //NOI18N
-                            EventQueue.invokeLater(new Runnable() {    //#218680
-                                @Override
-                                public void run() {
-                                    updateShiftButtons();
-                                }
-                            });
-                        }
-                    }
-                });
+        getExplorerManager().addPropertyChangeListener((PropertyChangeEvent evt) -> {
+            if (evt.getPropertyName().equals("selectedNodes")) { //NOI18N
+                EventQueue.invokeLater(this::updateShiftButtons); //#218680
+            }
+        });
     }
 
     protected void updateShiftButtons() {
@@ -442,12 +414,9 @@ public abstract class AbstractSearchResultsPanel extends javax.swing.JPanel
      * buttons.
      */
     protected void afterMatchingNodeAdded() {
-        Mutex.EVENT.writeAccess(new Runnable() {
-            @Override
-            public void run() {
-                if (btnNext.isVisible() && !btnNext.isEnabled()) {
-                    updateShiftButtons();
-                }
+        Mutex.EVENT.writeAccess(() -> {
+            if (btnNext.isVisible() && !btnNext.isEnabled()) {
+                updateShiftButtons();
             }
         });
     }
@@ -575,7 +544,7 @@ public abstract class AbstractSearchResultsPanel extends javax.swing.JPanel
         if (start == -1) {
             return unsortedChildren;
         }
-        List<Node> children = new LinkedList<Node>();
+        List<Node> children = new LinkedList<>();
         for (int j = start + 1; j < rows; j++) {
             int childModelIndex = outline.convertRowIndexToModel(j);
             if (childModelIndex == -1) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/BasicAbstractResultsPanel.java b/platform/api.search/src/org/netbeans/modules/search/ui/BasicAbstractResultsPanel.java
index 95f4942..81eb00f 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/BasicAbstractResultsPanel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/BasicAbstractResultsPanel.java
@@ -118,12 +118,7 @@ public abstract class BasicAbstractResultsPanel
         if (details && btnExpand.isVisible() && !btnExpand.isEnabled()) {
             btnExpand.setEnabled(resultModel.size() > 0);
         }
-        EventQueue.invokeLater(new Runnable() {
-            @Override
-            public void run() {
-                updateShiftButtons();
-            }
-        });
+        EventQueue.invokeLater(this::updateShiftButtons);
         resultsOutlineSupport.update();
     }
 
@@ -137,12 +132,7 @@ public abstract class BasicAbstractResultsPanel
                 "TEXT_BUTTON_TREE_VIEW"));                              //NOI18N
         btnTreeView.setSelected(
                 MODE_TREE.equals(memory.getResultsViewMode()));
-        btnTreeView.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                toggleView(!btnTreeView.isSelected());
-            }
-        });
+        btnTreeView.addActionListener((ActionEvent e) -> toggleView(!btnTreeView.isSelected()));
         btnFlatView = new JToggleButton();
         btnFlatView.setEnabled(true);
         btnFlatView.setIcon(ImageUtilities.loadImageIcon(FLAT_VIEW_ICON,
@@ -150,12 +140,7 @@ public abstract class BasicAbstractResultsPanel
         btnFlatView.setToolTipText(UiUtils.getText(
                 "TEXT_BUTTON_FLAT_VIEW"));                              //NOI18N
         btnFlatView.setSelected(!btnTreeView.isSelected());
-        btnFlatView.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                toggleView(btnFlatView.isSelected());
-            }
-        });
+        btnFlatView.addActionListener((ActionEvent e) -> toggleView(btnFlatView.isSelected()));
         addButton(btnTreeView);
         addButton(btnFlatView);
         if (!details) {
@@ -165,24 +150,14 @@ public abstract class BasicAbstractResultsPanel
             return;
         }
         btnExpand.setSelected(true);
-        btnExpand.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                toggleExpandNodeChildren(btnExpand.isSelected());
-            }
-        });
+        btnExpand.addActionListener((ActionEvent e) -> toggleExpandNodeChildren(btnExpand.isSelected()));
         showDetailsButton = new JButton();
         showDetailsButton.setEnabled(false);
         showDetailsButton.setIcon(ImageUtilities.loadImageIcon(
                 SHOW_DETAILS_ICON, true));
         showDetailsButton.setToolTipText(UiUtils.getText(
                 "TEXT_BUTTON_FILL"));                                   //NOI18N
-        showDetailsButton.addActionListener(new ActionListener(){
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                fillOutput();
-            }
-        });
+        showDetailsButton.addActionListener((ActionEvent e) -> fillOutput());
         showDetailsButton.getAccessibleContext().setAccessibleDescription(
                 NbBundle.getMessage(ResultView.class,
                 "ACS_TEXT_BUTTON_FILL"));                               //NOI18N
@@ -265,6 +240,7 @@ public abstract class BasicAbstractResultsPanel
         afterMatchingNodeAdded();
     }
 
+    @Override
     public final OutlineView getOutlineView() {
         return resultsOutlineSupport.getOutlineView();
     }
@@ -278,8 +254,8 @@ public abstract class BasicAbstractResultsPanel
                     NbBundle.getMessage(
                     ResultView.class,
                     "TEXT_MSG_FOUND_X_NODES_LIMIT", //NOI18N
-                    Integer.valueOf(resultSize),
-                    Integer.valueOf(resultModel.getTotalDetailsCount()))
+                    resultSize,
+                    resultModel.getTotalDetailsCount())
                     + ' ' + resultModel.getLimitDisplayName());         //NOI18N
             return;
         }
@@ -301,9 +277,9 @@ public abstract class BasicAbstractResultsPanel
                 bundleKey = "TEXT_MSG_FOUND_X_NODES";                   //NOI18N
                 args = new Object[1];
             }
-            args[0] = new Integer(resultModel.size());
+            args[0] = resultModel.size();
             if (args.length > 1) {
-                args[1] = new Integer(resultModel.getTotalDetailsCount());
+                args[1] = resultModel.getTotalDetailsCount();
             }
             if (args.length > 2) {
                 BasicSearchCriteria bsc = composition.getBasicSearchCriteria();
@@ -348,15 +324,12 @@ public abstract class BasicAbstractResultsPanel
                 if (btnExpand != null) {
                     for (final Node n : ev.getDelta()) {
                         if (btnExpand.isSelected()) {
-                            EventQueue.invokeLater(new Runnable() {
-                                @Override
-                                public void run() {
-                                    enableExpandListener(false);
-                                    try {
-                                        toggleExpand(n, true);
-                                    } finally {
-                                        enableExpandListener(true);
-                                    }
+                            EventQueue.invokeLater(() -> {
+                                enableExpandListener(false);
+                                try {
+                                    toggleExpand(n, true);
+                                } finally {
+                                    enableExpandListener(true);
                                 }
                             });
                         }
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/BasicReplaceResultsPanel.java b/platform/api.search/src/org/netbeans/modules/search/ui/BasicReplaceResultsPanel.java
index 761ee3c..e0b72b8 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/BasicReplaceResultsPanel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/BasicReplaceResultsPanel.java
@@ -68,12 +68,7 @@ public class BasicReplaceResultsPanel extends BasicAbstractResultsPanel {
     private void init() {
         JPanel leftPanel = new JPanel();
         replaceButton = new JButton();
-        replaceButton.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                replace();
-            }
-        });
+        replaceButton.addActionListener((ActionEvent e) -> replace());
         updateReplaceButton();
         leftPanel.setLayout(new BoxLayout(leftPanel, BoxLayout.PAGE_AXIS));
         JPanel buttonPanel = new JPanel();
@@ -117,13 +112,10 @@ public class BasicReplaceResultsPanel extends BasicAbstractResultsPanel {
         if (location > 0) {
             splitPane.setDividerLocation(location);
         }
-        splitPane.addPropertyChangeListener(new PropertyChangeListener() {
-            @Override
-            public void propertyChange(PropertyChangeEvent evt) {
-                String pn = evt.getPropertyName();
-                if (pn.equals(JSplitPane.DIVIDER_LOCATION_PROPERTY)) {
-                    SAVE_TASK.schedule(1000);
-                }
+        splitPane.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+            String pn = evt.getPropertyName();
+            if (pn.equals(JSplitPane.DIVIDER_LOCATION_PROPERTY)) {
+                SAVE_TASK.schedule(1000);
             }
         });
     }
@@ -170,20 +162,17 @@ public class BasicReplaceResultsPanel extends BasicAbstractResultsPanel {
     public void displayIssuesToUser(final ReplaceTask task, final String title,
             final String[] problems, final boolean reqAtt) {
 
-        Mutex.EVENT.writeAccess(new Runnable() {
-            @Override
-            public void run() {
-                IssuesPanel issuesPanel = new IssuesPanel(title, problems);
-                if (isMacLaf) {
-                    issuesPanel.setBackground(macBackground);
-                }
-                displayIssues(issuesPanel);
-                if (!ResultView.getInstance().isOpened()) {
-                    ResultView.getInstance().open();
-                }
-                if (reqAtt) {
-                    ResultView.getInstance().requestAttention(true);
-                }
+        Mutex.EVENT.writeAccess(() -> {
+            IssuesPanel issuesPanel = new IssuesPanel(title, problems);
+            if (isMacLaf) {
+                issuesPanel.setBackground(macBackground);
+            }
+            displayIssues(issuesPanel);
+            if (!ResultView.getInstance().isOpened()) {
+                ResultView.getInstance().open();
+            }
+            if (reqAtt) {
+                ResultView.getInstance().requestAttention(true);
             }
         });
     }
@@ -224,19 +213,16 @@ public class BasicReplaceResultsPanel extends BasicAbstractResultsPanel {
         an.setDisplayName(NbBundle.getMessage(ResultView.class,
                 "TEXT_INFO_REPLACE_FINISHED", //NOI18N
                 resultModel.getSelectedMatchesCount()));
-        Mutex.EVENT.writeAccess(new Runnable() {
-            @Override
-            public void run() {
-                getOutlineView().getOutline().setRootVisible(true);
-                getExplorerManager().setRootContext(an);
-                getOutlineView().validate();
-                getOutlineView().repaint();
-                btnNext.setEnabled(false);
-                btnPrev.setEnabled(false);
-                btnTreeView.setEnabled(false);
-                btnFlatView.setEnabled(false);
-                btnExpand.setEnabled(false);
-            }
+        Mutex.EVENT.writeAccess(() -> {
+            getOutlineView().getOutline().setRootVisible(true);
+            getExplorerManager().setRootContext(an);
+            getOutlineView().validate();
+            getOutlineView().repaint();
+            btnNext.setEnabled(false);
+            btnPrev.setEnabled(false);
+            btnTreeView.setEnabled(false);
+            btnFlatView.setEnabled(false);
+            btnExpand.setEnabled(false);
         });
     }
 
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/DefaultSearchResultsPanel.java b/platform/api.search/src/org/netbeans/modules/search/ui/DefaultSearchResultsPanel.java
index 7747cd5..eea82db 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/DefaultSearchResultsPanel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/DefaultSearchResultsPanel.java
@@ -43,7 +43,7 @@ import org.openide.util.NbBundle;
  */
 public class DefaultSearchResultsPanel<T> extends AbstractSearchResultsPanel {
 
-    private List<T> matchingObjects = new ArrayList<T>();
+    private List<T> matchingObjects = new ArrayList<>();
     private final NodeDisplayer<T> nodeDisplayer;
     private ResultsNode resultsNode;
     private OutlineView outlineView;
@@ -65,13 +65,10 @@ public class DefaultSearchResultsPanel<T> extends AbstractSearchResultsPanel {
     }
 
     private void initExpandButton() {
-        btnExpand.addActionListener(new ActionListener() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                getOutlineView().expandNode(resultsNode);
-                for (Node n : resultsNode.getChildren().getNodes(true)) {
-                    toggleExpand(n, btnExpand.isSelected());
-                }
+        btnExpand.addActionListener((ActionEvent e) -> {
+            getOutlineView().expandNode(resultsNode);
+            for (Node n : resultsNode.getChildren().getNodes(true)) {
+                toggleExpand(n, btnExpand.isSelected());
             }
         });
         btnExpand.setEnabled(true);
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/IssuesPanel.java b/platform/api.search/src/org/netbeans/modules/search/ui/IssuesPanel.java
index 3c1e878..978dc8a 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/IssuesPanel.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/IssuesPanel.java
@@ -39,7 +39,7 @@ final class IssuesPanel extends JPanel {
     IssuesPanel(String title, String[] issues) {
         super(new BorderLayout());
         add(new JLabel(title), BorderLayout.NORTH);
-        add(new JScrollPane(issues != null ? new JList<String>(issues) : new JList<String>()), // defensive fix against #120879
+        add(new JScrollPane(issues != null ? new JList<>(issues) : new JList<String>()), // defensive fix against #120879
                 BorderLayout.CENTER);
     }
     
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/MatchingObjectNode.java b/platform/api.search/src/org/netbeans/modules/search/ui/MatchingObjectNode.java
index d4f37f3..00b2dae 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/MatchingObjectNode.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/MatchingObjectNode.java
@@ -125,7 +125,7 @@ public class MatchingObjectNode extends AbstractNode implements Removable {
         // It could be reasonable, but current solution is simpler and thus
         // should perform better.
 
-        ArrayList<Object> items = new ArrayList<Object>();
+        ArrayList<Object> items = new ArrayList<>();
         items.add(mo);
         items.add(checkableNode);
         items.add(mo.getFileObject());
@@ -366,12 +366,7 @@ public class MatchingObjectNode extends AbstractNode implements Removable {
                 matchingObject.updateDataObject(reloaded);
                 valid = reloaded.isValid();
                 if (valid) {
-                    EventQueue.invokeLater(new Runnable() {
-                        @Override
-                        public void run() {
-                            resetValidOriginal();
-                        }
-                    });
+                    EventQueue.invokeLater(this::resetValidOriginal);
                 }
             } catch (DataObjectNotFoundException ex) {
                 // still invalid, the file was probably really deleted
@@ -432,22 +427,13 @@ public class MatchingObjectNode extends AbstractNode implements Removable {
 
         @Override
         public void nodeDestroyed(NodeEvent ev) {
-            EventQueue.invokeLater(new Runnable() {
-                @Override
-                public void run() {
-                    setInvalidOriginal();
-                    /**
-                     * Check if the object is valid again. It can happen when a
-                     * module with real data loader is enabled.
-                     */
-                    RP.post(new Runnable() {
-
-                        @Override
-                        public void run() {
-                            checkFileObjectValid();
-                        }
-                    }, 2500);
-                }
+            EventQueue.invokeLater(() -> {
+                setInvalidOriginal();
+                /**
+                 * Check if the object is valid again. It can happen when a
+                 * module with real data loader is enabled.
+                 */
+                RP.post(() -> checkFileObjectValid(), 2500);
             });
         }
 
@@ -499,15 +485,12 @@ public class MatchingObjectNode extends AbstractNode implements Removable {
 
         @Override
         public void propertyChange(PropertyChangeEvent e) {
-            EventQueue.invokeLater(new Runnable() {
-                @Override
-                public void run() {
-                    if (matchingObject.getInvalidityStatus() == null) {
-                        resetValidOriginal();
-                        setChildren(matchingObject.getDetailsChildren(true));
-                    } else {
-                        setInvalidOriginal();
-                    }
+            EventQueue.invokeLater(() -> {
+                if (matchingObject.getInvalidityStatus() == null) {
+                    resetValidOriginal();
+                    setChildren(matchingObject.getDetailsChildren(true));
+                } else {
+                    setInvalidOriginal();
                 }
             });
         }
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/MoreAction.java b/platform/api.search/src/org/netbeans/modules/search/ui/MoreAction.java
index 7b6b0fc..eb824c1 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/MoreAction.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/MoreAction.java
@@ -82,7 +82,7 @@ public class MoreAction extends NodeAction implements Presenter.Popup {
         Lookup l = Utilities.actionsGlobalContext();
         Collection<? extends MatchingObject> matchingObjects
                 = l.lookupAll(MatchingObject.class);
-        LinkedHashSet<Action> commonActions = new LinkedHashSet<Action>();
+        LinkedHashSet<Action> commonActions = new LinkedHashSet<>();
         boolean first = true;
         for (MatchingObject mo : matchingObjects) {
             DataObject dob = mo.getDataObject();
@@ -106,9 +106,9 @@ public class MoreAction extends NodeAction implements Presenter.Popup {
      */
     private JMenuItem actionsToMenu(Set<Action> actions, Lookup lookup) {
         // keeps actions for which was menu item created already (do not add them twice)
-        Set<Action> counted = new HashSet<Action>();
+        Set<Action> counted = new HashSet<>();
         // components to be added (separators are null)
-        List<Component> components = new ArrayList<Component>();
+        List<Component> components = new ArrayList<>();
 
         for (Action action : actions) {
             if (action != null && counted.add(action)) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/OpenMatchingObjectsAction.java b/platform/api.search/src/org/netbeans/modules/search/ui/OpenMatchingObjectsAction.java
index 43adef0..8042536 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/OpenMatchingObjectsAction.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/OpenMatchingObjectsAction.java
@@ -53,13 +53,7 @@ public class OpenMatchingObjectsAction extends NodeAction {
             if (mo != null) {
                 if (mo.getTextDetails() != null
                         && !mo.getTextDetails().isEmpty()) { // #219428
-                    EventQueue.invokeLater(new Runnable() {
-                        @Override
-                        public void run() {
-                            mo.getTextDetails().get(0).showDetail(
-                                    TextDetail.DH_GOTO);
-                        }
-                    });
+                    EventQueue.invokeLater(() -> mo.getTextDetails().get(0).showDetail(TextDetail.DH_GOTO));
                 } else {
                     DataObject dob = mo.getDataObject();
                     if (dob != null) {
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/RefreshAction.java b/platform/api.search/src/org/netbeans/modules/search/ui/RefreshAction.java
index 97ae043..53b46f4 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/RefreshAction.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/RefreshAction.java
@@ -48,29 +48,25 @@ public class RefreshAction extends AbstractAction {
     @Override
     public void actionPerformed(ActionEvent e) {
         if (mo != null) {
-            RequestProcessor.getDefault().post(new Runnable() {
-
-                @Override
-                public void run() {
-                    FileObject fo = mo.getFileObject();
-                    if (!fo.isValid()) {
-                        try {
-                            // get fresh fo in case it has been recreated
-                            fo = fo.getFileSystem().findResource(fo.getPath());
-                        } catch (FileStateInvalidException ex) {
-                            Logger.getLogger(
-                                    BasicReplaceResultsPanel.class.getName())
-                                    .log(Level.FINE, null, ex);
-                        }
+            RequestProcessor.getDefault().post(() -> {
+                FileObject fo = mo.getFileObject();
+                if (!fo.isValid()) {
+                    try {
+                        // get fresh fo in case it has been recreated
+                        fo = fo.getFileSystem().findResource(fo.getPath());
+                    } catch (FileStateInvalidException ex) {
+                        Logger.getLogger(
+                                BasicReplaceResultsPanel.class.getName())
+                                .log(Level.FINE, null, ex);
                     }
-                    if (fo != null && fo.isValid()) {
-                        MatchingObject.Def def = mo.getBasicComposition()
-                                .getMatcher().check(
-                                        fo, new SearchListener() {
-                                        });
-                        if (def != null) {
-                            mo.refresh(def);
-                        }
+                }
+                if (fo != null && fo.isValid()) {
+                    MatchingObject.Def def = mo.getBasicComposition()
+                            .getMatcher().check(
+                                    fo, new SearchListener() {
+                                    });
+                    if (def != null) {
+                        mo.refresh(def);
                     }
                 }
             });
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineCellRenderer.java b/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineCellRenderer.java
index 288c1cd..9ea3981 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineCellRenderer.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineCellRenderer.java
@@ -58,24 +58,29 @@ public class ResultsOutlineCellRenderer extends DefaultOutlineCellRenderer {
             Property<?> property = (Property<?>) value;
             try {
                 String valueString = getDisplayValue(property);
-                if (property.getName().equals("path")) { //NOI18N
-                    renderer = super.getTableCellRendererComponent(table,
-                            computeFitText(table, row, column, valueString),
-                            isSelected, hasFocus, row, column);
-                    setToolTip(renderer, property);
-                } else if (property.getName().equals("size")) {         //NOI18N
-                    renderer = super.getTableCellRendererComponent(table,
-                            formatFileSize((Long) property.getValue()),
-                            isSelected, hasFocus, row, column);
-                    setToolTip(renderer, property);
-                } else if (property.getName().equals("lastModified")) { //NOI18N
-                    renderer = super.getTableCellRendererComponent(table,
-                            formatDate((Date) property.getValue()),
-                            isSelected, hasFocus, row, column);
-                    setToolTip(renderer, property);
-                } else {
-                    renderer = super.getTableCellRendererComponent(table,
+                switch (property.getName()) {
+                    case "path": //NOI18N
+                        renderer = super.getTableCellRendererComponent(table,
+                                computeFitText(table, row, column, valueString),
+                                isSelected, hasFocus, row, column);
+                        setToolTip(renderer, property);
+                        break;
+                    case "size": //NOI18N
+                        renderer = super.getTableCellRendererComponent(table,
+                                formatFileSize((Long) property.getValue()),
+                                isSelected, hasFocus, row, column);
+                        setToolTip(renderer, property);
+                        break;
+                    case "lastModified": //NOI18N
+                        renderer = super.getTableCellRendererComponent(table,
+                                formatDate((Date) property.getValue()),
+                                isSelected, hasFocus, row, column);
+                        setToolTip(renderer, property);
+                        break;
+                    default:
+                        renderer = super.getTableCellRendererComponent(table,
                             valueString, isSelected, hasFocus, row, column);
+                        break;
                 }
             } catch (Exception e) {
                 LOG.log(Level.WARNING, null, e);
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineSupport.java b/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineSupport.java
index 1d700bc..40adc49 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineSupport.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineSupport.java
@@ -102,7 +102,7 @@ public class ResultsOutlineSupport {
     private List<FileObject> rootFiles = null;
     private Node infoNode;
     private Node invisibleRoot;
-    private List<TableColumn> allColumns = new ArrayList<TableColumn>(5);
+    private List<TableColumn> allColumns = new ArrayList<>(5);
     private ETableColumnModel columnModel;
     private List<MatchingObjectNode> matchingObjectNodes;
     private boolean closed = false;
@@ -119,7 +119,7 @@ public class ResultsOutlineSupport {
         this.resultsNode = new ResultsNode(resultModel);
         this.infoNode = infoNode;
         this.invisibleRoot = new RootNode(resultsNode, infoNode);
-        this.matchingObjectNodes = new LinkedList<MatchingObjectNode>();
+        this.matchingObjectNodes = new LinkedList<>();
         createOutlineView();
     }
 
@@ -133,14 +133,11 @@ public class ResultsOutlineSupport {
         outlineView.addTreeExpansionListener(
                 new ExpandingTreeExpansionListener());
         outlineView.getOutline().setRootVisible(false);
-        outlineView.addHierarchyListener(new HierarchyListener() {
-            @Override
-            public void hierarchyChanged(HierarchyEvent e) {
-                if ((e.getChangeFlags() & HierarchyEvent.DISPLAYABILITY_CHANGED)
-                        != 0) {
-                    if (outlineView.isDisplayable()) {
-                        outlineView.expandNode(resultsNode);
-                    }
+        outlineView.addHierarchyListener((HierarchyEvent e) -> {
+            if ((e.getChangeFlags() & HierarchyEvent.DISPLAYABILITY_CHANGED)
+                    != 0) {
+                if (outlineView.isDisplayable()) {
+                    outlineView.expandNode(resultsNode);
                 }
             }
         });
@@ -444,12 +441,7 @@ public class ResultsOutlineSupport {
 
         public FlatChildren() {
             resultModel.addPropertyChangeListener(ResultModel.PROP_RESULTS_EDIT,
-                    new PropertyChangeListener() {
-                @Override
-                public void propertyChange(PropertyChangeEvent evt) {
-                    update();
-                }
-            });
+                    (PropertyChangeEvent evt) -> update());
         }
 
         @Override
@@ -521,7 +513,7 @@ public class ResultsOutlineSupport {
     }
 
     private List<FileObject> getRelativePath(FileObject parent, FileObject fo) {
-        List<FileObject> l = new LinkedList<FileObject>();
+        List<FileObject> l = new LinkedList<>();
         FileObject part = fo;
         while (part != null) {
             l.add(0, part);
@@ -576,7 +568,7 @@ public class ResultsOutlineSupport {
         private DataObject folder = null;
         private MatchingObject matchingObject = null;
         private List<FolderTreeItem> children =
-                new LinkedList<FolderTreeItem>();
+                new LinkedList<>();
         private boolean selected = true;
         PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
 
@@ -591,17 +583,13 @@ public class ResultsOutlineSupport {
                 FolderTreeItem parent) {
             this.parent = parent;
             this.matchingObject = matchingObject;
-            matchingObject.addPropertyChangeListener(
-                    new PropertyChangeListener() {
-                @Override
-                public void propertyChange(PropertyChangeEvent evt) {
-                    String pn = evt.getPropertyName();
-                    if (pn.equals(MatchingObject.PROP_SELECTED)) {
-                        setSelected(FolderTreeItem.this.matchingObject
-                                .isSelected());
-                    } else if (pn.equals(MatchingObject.PROP_REMOVED)) {
-                        remove();
-                    }
+            matchingObject.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+                String pn = evt.getPropertyName();
+                if (pn.equals(MatchingObject.PROP_SELECTED)) {
+                    setSelected(FolderTreeItem.this.matchingObject
+                            .isSelected());
+                } else if (pn.equals(MatchingObject.PROP_REMOVED)) {
+                    remove();
                 }
             });
         }
@@ -621,13 +609,13 @@ public class ResultsOutlineSupport {
         }
 
         public synchronized List<FolderTreeItem> getChildren() {
-            return new ArrayList<FolderTreeItem>(children);
+            return new ArrayList<>(children);
         }
 
         public synchronized void remove() {
             // remove children first, then...
             // NOTE uses a copy of the children to prevent a ConcurrentModifcationException
-            for (FolderTreeItem fti : new ArrayList<FolderTreeItem>(children)) {
+            for (FolderTreeItem fti : new ArrayList<>(children)) {
                 if (fti.isPathLeaf()) {
                     // remove the matching node
                     fti.getMatchingObject().remove();
@@ -715,17 +703,14 @@ public class ResultsOutlineSupport {
                     Lookups.fixed(pathItem,
                     new ReplaceCheckableNode(pathItem, replacing),
                     pathItem.getFolder().getPrimaryFile()));
-            pathItem.addPropertyChangeListener(new PropertyChangeListener() {
-                @Override
-                public void propertyChange(PropertyChangeEvent evt) {
-                    fireIconChange();
-                    String prop = evt.getPropertyName();
-                    if (prop.equals(FolderTreeItem.PROP_SELECTED)) {
-                        toggleParentSelected(
-                                FolderTreeNode.this.getParentNode());
-                    } else if (prop.equals(FolderTreeItem.PROP_CHILDREN)) {
-                        toggleParentSelected(FolderTreeNode.this);
-                    }
+            pathItem.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+                fireIconChange();
+                String prop = evt.getPropertyName();
+                if (prop.equals(FolderTreeItem.PROP_SELECTED)) {
+                    toggleParentSelected(
+                            FolderTreeNode.this.getParentNode());
+                } else if (prop.equals(FolderTreeItem.PROP_CHILDREN)) {
+                    toggleParentSelected(FolderTreeNode.this);
                 }
             });
             if (!pathItem.isPathLeaf()) {
@@ -787,13 +772,10 @@ public class ResultsOutlineSupport {
 
         public FolderTreeChildren(FolderTreeItem pathItem) {
             this.item = pathItem;
-            pathItem.addPropertyChangeListener(new PropertyChangeListener() {
-                @Override
-                public void propertyChange(PropertyChangeEvent evt) {
-                    if (evt.getPropertyName().equals(
-                            FolderTreeItem.PROP_CHILDREN)) {
-                        update();
-                    }
+            pathItem.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+                if (evt.getPropertyName().equals(
+                        FolderTreeItem.PROP_CHILDREN)) {
+                    update();
                 }
             });
         }
diff --git a/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinitionFactory.java b/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinitionFactory.java
index d109bcd..a092e13 100644
--- a/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinitionFactory.java
+++ b/platform/api.search/src/org/netbeans/spi/search/SearchInfoDefinitionFactory.java
@@ -227,7 +227,7 @@ public final class SearchInfoDefinitionFactory {
      */
     private static List<SearchFilterDefinition> createDefaultFilterDefList() {
         List<SearchFilterDefinition> list;
-        list = new ArrayList<SearchFilterDefinition>(2);
+        list = new ArrayList<>(2);
         list.add(SHARABILITY_FILTER);
         list.add(VISIBILITY_FILTER);
         return Collections.unmodifiableList(list);
diff --git a/platform/api.search/src/org/netbeans/spi/search/SearchScopeDefinition.java b/platform/api.search/src/org/netbeans/spi/search/SearchScopeDefinition.java
index 649b1ff..e66af56 100644
--- a/platform/api.search/src/org/netbeans/spi/search/SearchScopeDefinition.java
+++ b/platform/api.search/src/org/netbeans/spi/search/SearchScopeDefinition.java
@@ -39,7 +39,7 @@ import org.netbeans.api.search.provider.SearchInfo;
 public abstract class SearchScopeDefinition {
 
     private List<ChangeListener> changeListeners =
-            new ArrayList<ChangeListener>(1);
+            new ArrayList<>(1);
 
     /**
      * Identifies type of search scope.
@@ -111,7 +111,7 @@ public abstract class SearchScopeDefinition {
     protected final void notifyListeners() {
         ArrayList<ChangeListener> listenersCopy;
         synchronized (this) {
-            listenersCopy = new ArrayList<ChangeListener>(changeListeners);
+            listenersCopy = new ArrayList<>(changeListeners);
         }
         ChangeEvent ev = new ChangeEvent(this);
         for (ChangeListener cl : listenersCopy) {
diff --git a/platform/api.search/src/org/netbeans/spi/search/impl/CompoundSearchInfoDefinition.java b/platform/api.search/src/org/netbeans/spi/search/impl/CompoundSearchInfoDefinition.java
index 471c628..a02ce22 100644
--- a/platform/api.search/src/org/netbeans/spi/search/impl/CompoundSearchInfoDefinition.java
+++ b/platform/api.search/src/org/netbeans/spi/search/impl/CompoundSearchInfoDefinition.java
@@ -84,7 +84,7 @@ public class CompoundSearchInfoDefinition extends SearchInfoDefinition {
         }
 
         List<SearchInfoDefinition> searchableElements =
-                new ArrayList<SearchInfoDefinition>(elements.length);
+                new ArrayList<>(elements.length);
         for (SearchInfoDefinition element : elements) {
             if (element.canSearch()) {
                 searchableElements.add(element);
@@ -113,7 +113,7 @@ public class CompoundSearchInfoDefinition extends SearchInfoDefinition {
         }
 
         List<SearchInfoDefinition> searchableElements =
-                new ArrayList<SearchInfoDefinition>(elements.length);
+                new ArrayList<>(elements.length);
         for (SearchInfoDefinition element : elements) {
             if (element.canSearch()) {
                 searchableElements.add(element);
@@ -134,7 +134,7 @@ public class CompoundSearchInfoDefinition extends SearchInfoDefinition {
 
     @Override
     public List<SearchRoot> getSearchRoots() {
-        List<SearchRoot> allRoots = new LinkedList<SearchRoot>();
+        List<SearchRoot> allRoots = new LinkedList<>();
         for (SearchInfoDefinition si : elements) {
             allRoots.addAll(si.getSearchRoots());
         }
diff --git a/platform/api.search/src/org/netbeans/spi/search/impl/SimpleSearchInfoDefinition.java b/platform/api.search/src/org/netbeans/spi/search/impl/SimpleSearchInfoDefinition.java
index c001085..989da8f 100644
--- a/platform/api.search/src/org/netbeans/spi/search/impl/SimpleSearchInfoDefinition.java
+++ b/platform/api.search/src/org/netbeans/spi/search/impl/SimpleSearchInfoDefinition.java
@@ -162,17 +162,17 @@ public final class SimpleSearchInfoDefinition extends SearchInfoDefinition {
     private boolean checkFolderAgainstFilters(final FileObject folder) {
 
         if (folder.isFolder()) {
-            for (int i = 0; i < filters.length; i++) {
-                if (!isSuppressableFilter(filters[i])
-                        && filters[i].traverseFolder(folder)
+            for (SearchFilterDefinition filter : filters) {
+                if (!isSuppressableFilter(filter)
+                        && filter.traverseFolder(folder)
                         == FolderResult.DO_NOT_TRAVERSE) {
                     return false;
                 }
             }
         } else {
-            for (int i = 0; i < filters.length; i++) {
-                if (!isSuppressableFilter(filters[i])
-                        && !filters[i].searchFile(folder)) {
+            for (SearchFilterDefinition filter : filters) {
+                if (!isSuppressableFilter(filter)
+                        && !filter.searchFile(folder)) {
                     return false;
                 }
             }
diff --git a/platform/api.search/src/org/netbeans/spi/search/impl/SubnodesSearchInfoDefinition.java b/platform/api.search/src/org/netbeans/spi/search/impl/SubnodesSearchInfoDefinition.java
index 2b3a988..9429988 100644
--- a/platform/api.search/src/org/netbeans/spi/search/impl/SubnodesSearchInfoDefinition.java
+++ b/platform/api.search/src/org/netbeans/spi/search/impl/SubnodesSearchInfoDefinition.java
@@ -69,9 +69,8 @@ public final class SubnodesSearchInfoDefinition extends SearchInfoDefinition {
         }
 
         List<SearchInfo> searchInfoElements =
-                new ArrayList<SearchInfo>(nodes.length);
-        for (int i = 0; i < nodes.length; i++) {
-            Node child = nodes[i];
+                new ArrayList<>(nodes.length);
+        for (Node child : nodes) {
             SearchInfo subInfo = 
                     SearchInfoUtils.getSearchInfoForNode(child);
             if (subInfo != null && subInfo.canSearch()) {
@@ -108,7 +107,7 @@ public final class SubnodesSearchInfoDefinition extends SearchInfoDefinition {
         if (nodes.length == 0) {
             return Collections.emptyList();
         }
-        List<SearchRoot> allRoots = new LinkedList<SearchRoot>();
+        List<SearchRoot> allRoots = new LinkedList<>();
         for (Node subNode : nodes) {
             SearchInfoDefinition subInfo =
                     SearchInfoDefinitionUtils.getSearchInfoDefinition(subNode);
diff --git a/platform/api.search/src/org/netbeans/spi/search/provider/SearchResultsDisplayer.java b/platform/api.search/src/org/netbeans/spi/search/provider/SearchResultsDisplayer.java
index e88b6df..328b74b 100644
--- a/platform/api.search/src/org/netbeans/spi/search/provider/SearchResultsDisplayer.java
+++ b/platform/api.search/src/org/netbeans/spi/search/provider/SearchResultsDisplayer.java
@@ -78,7 +78,7 @@ public abstract class SearchResultsDisplayer<T> {
             @NullAllowed SearchProvider.Presenter presenter,
             @NonNull String title) {
 
-        return new DefaultSearchResultsDisplayer<U>(helper, searchComposition,
+        return new DefaultSearchResultsDisplayer<>(helper, searchComposition,
                 presenter, title);
     }
 
diff --git a/platform/api.search/test/unit/src/org/netbeans/api/search/SearchHistoryTest.java b/platform/api.search/test/unit/src/org/netbeans/api/search/SearchHistoryTest.java
index ddda5ca..c3482f1 100644
--- a/platform/api.search/test/unit/src/org/netbeans/api/search/SearchHistoryTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/api/search/SearchHistoryTest.java
@@ -65,13 +65,10 @@ public final class SearchHistoryTest extends NbTestCase {
     public void testLastSelectedListener() throws Exception{
         final boolean fired[] = new boolean[1];
         fired[0] = false;
-        PropertyChangeListener pcl = new PropertyChangeListener(){
-            @Override
-                public void propertyChange(PropertyChangeEvent evt){
-                    if (evt!=null && SearchHistory.LAST_SELECTED.equals(evt.getPropertyName())){
-                        fired[0] = true;
-                    }
-                }
+        PropertyChangeListener pcl = (PropertyChangeEvent evt) -> {
+            if (evt != null && SearchHistory.LAST_SELECTED.equals(evt.getPropertyName())) {
+                fired[0] = true;
+            }
         };
         SearchHistory.getDefault().add(SearchPattern.create("init",true,true,false));
         SearchHistory.getDefault().addPropertyChangeListener(pcl);
@@ -82,15 +79,12 @@ public final class SearchHistoryTest extends NbTestCase {
     
     public void testAddToSearchHistoryListener() throws Exception{
         final boolean fired[] = new boolean[2];
-        PropertyChangeListener pcl = new PropertyChangeListener(){
-            @Override
-                public void propertyChange(PropertyChangeEvent evt){
-                    if (evt!=null && SearchHistory.ADD_TO_HISTORY.equals(evt.getPropertyName())){
-                        fired[0] = true;
-                    }else{
-                        fired[1] = true;
-                    }
-                }
+        PropertyChangeListener pcl = (PropertyChangeEvent evt) -> {
+            if (evt != null && SearchHistory.ADD_TO_HISTORY.equals(evt.getPropertyName())) {
+                fired[0] = true;
+            } else {
+                fired[1] = true;
+            }
         };
         SearchHistory.getDefault().addPropertyChangeListener(pcl);
         SearchHistory.getDefault().add(SearchPattern.create("searchtext",true,true,false));
@@ -102,15 +96,12 @@ public final class SearchHistoryTest extends NbTestCase {
     public void testAddIncorrectItemToSearchHistoryListener() throws Exception{
         final boolean fired[] = new boolean[2];
         
-        PropertyChangeListener pcl = new PropertyChangeListener(){
-            @Override
-                public void propertyChange(PropertyChangeEvent evt){
-                    if (evt!=null && SearchHistory.ADD_TO_HISTORY.equals(evt.getPropertyName())){
-                        fired[0] = true;
-                    } else {
-                        fired[1] = true;
-                    }
-                }
+        PropertyChangeListener pcl = (PropertyChangeEvent evt) -> {
+            if (evt != null && SearchHistory.ADD_TO_HISTORY.equals(evt.getPropertyName())) {
+                fired[0] = true;
+            } else {
+                fired[1] = true;
+            }
         };
         SearchHistory.getDefault().addPropertyChangeListener(pcl);
 
diff --git a/platform/api.search/test/unit/src/org/netbeans/api/search/provider/impl/SearchIteratorTest.java b/platform/api.search/test/unit/src/org/netbeans/api/search/provider/impl/SearchIteratorTest.java
index d9c730e..1e92f0c 100644
--- a/platform/api.search/test/unit/src/org/netbeans/api/search/provider/impl/SearchIteratorTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/api/search/provider/impl/SearchIteratorTest.java
@@ -161,7 +161,7 @@ public final class SearchIteratorTest extends NbTestCase {
 
         assertTrue("project root not searchable", searchInfo.canSearch());
         
-        List<String> foundFilesPaths = new ArrayList<String>(16);
+        List<String> foundFilesPaths = new ArrayList<>(16);
         SearchScopeOptions sso = SearchScopeOptions.create("*", false);
         SearchListener lstnr = new SearchListener() {};
         AtomicBoolean terminated = new AtomicBoolean(false);
diff --git a/platform/api.search/test/unit/src/org/netbeans/modules/search/MatchingObjectTest.java b/platform/api.search/test/unit/src/org/netbeans/modules/search/MatchingObjectTest.java
index 2defaad..055cd25 100644
--- a/platform/api.search/test/unit/src/org/netbeans/modules/search/MatchingObjectTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/modules/search/MatchingObjectTest.java
@@ -134,12 +134,9 @@ public class MatchingObjectTest extends NbTestCase {
 
         MatchingObject mo = prepareMatchingObject(1);
         final AtomicBoolean removed = new AtomicBoolean(false);
-        mo.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
-            @Override
-            public void propertyChange(PropertyChangeEvent evt) {
-                if (MatchingObject.PROP_REMOVED.equals(evt.getPropertyName())) {
-                    removed.set(true);
-                }
+        mo.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+            if (MatchingObject.PROP_REMOVED.equals(evt.getPropertyName())) {
+                removed.set(true);
             }
         });
         mo.removeDetail(mo.getTextDetails().get(0));
@@ -150,13 +147,10 @@ public class MatchingObjectTest extends NbTestCase {
 
         MatchingObject mo = prepareMatchingObject(2);
         final AtomicBoolean childRemoved = new AtomicBoolean(false);
-        mo.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
-            @Override
-            public void propertyChange(PropertyChangeEvent evt) {
-                if (MatchingObject.PROP_CHILD_REMOVED.equals(
-                        evt.getPropertyName())) {
-                    childRemoved.set(true);
-                }
+        mo.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+            if (MatchingObject.PROP_CHILD_REMOVED.equals(
+                    evt.getPropertyName())) {
+                childRemoved.set(true);
             }
         });
         mo.removeDetail(mo.getTextDetails().get(0));
@@ -169,7 +163,7 @@ public class MatchingObjectTest extends NbTestCase {
                 new BasicSearchCriteria(), null, null);
         FileObject fo = FileUtil.createMemoryFileSystem().getRoot()
                 .createData("test.tst");
-        List<TextDetail> details = new LinkedList<TextDetail>();
+        List<TextDetail> details = new LinkedList<>();
         for (int i = 0; i < numTextDetails; i++) {
             TextDetail td = new TextDetail(DataObject.find(fo),
                     SearchPattern.create("test", false, false, false));
@@ -203,13 +197,10 @@ public class MatchingObjectTest extends NbTestCase {
                 new BasicComposition(si,
                 new DefaultMatcher(bsc.getSearchPattern()),
                 bsc, null);
-        EventQueue.invokeAndWait(new Runnable() {
-            @Override
-            public void run() {
-                sc.getSearchResultsDisplayer().getVisualComponent(); // initialize model
-                final SearchTask st = new SearchTask(sc, true);
-                st.run();
-            }
+        EventQueue.invokeAndWait(() -> {
+            sc.getSearchResultsDisplayer().getVisualComponent(); // initialize model
+            final SearchTask st = new SearchTask(sc, true);
+            st.run();
         });
 
         ReplaceTask rt = new ReplaceTask(
@@ -349,17 +340,10 @@ public class MatchingObjectTest extends NbTestCase {
         FileObject root = FileUtil.createMemoryFileSystem().getRoot();
         FileObject fo = root.createData(TEST_FILE_NAME);
 
-        OutputStream os = fo.getOutputStream();
-        try {
-            OutputStreamWriter osw = new OutputStreamWriter(os, TEST_FILE_ENC);
-            try {
-                osw.write(content);
-            } finally {
-                osw.flush();
-                osw.close();
-            }
-        } finally {
-            os.close();
+        try (OutputStream os = fo.getOutputStream();
+                OutputStreamWriter osw = new OutputStreamWriter(os, TEST_FILE_ENC)) {
+            osw.write(content);
+            osw.flush();
         }
         return fo;
     }
diff --git a/platform/api.search/test/unit/src/org/netbeans/modules/search/SearchScopeListTest.java b/platform/api.search/test/unit/src/org/netbeans/modules/search/SearchScopeListTest.java
index 3ef025c..6daccab 100644
--- a/platform/api.search/test/unit/src/org/netbeans/modules/search/SearchScopeListTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/modules/search/SearchScopeListTest.java
@@ -67,17 +67,14 @@ public class SearchScopeListTest extends NbTestCase {
         ssl.addChangeListener(cl);
         ssl.addChangeListener(cl2);
 
-        Mutex.EVENT.writeAccess(new Mutex.Action<Boolean>() {
-            @Override
-            public Boolean run() {
-                for (SearchScopeDefinition ssd
-                        : ssl.getSeachScopeDefinitions()) {
-                    if (ssd instanceof CustomSearchScope) {
-                        ((CustomSearchScope) ssd).fireChangeEvent();
-                    }
+        Mutex.EVENT.writeAccess((Mutex.Action<Boolean>) () -> {
+            for (SearchScopeDefinition ssd
+                    : ssl.getSeachScopeDefinitions()) {
+                if (ssd instanceof CustomSearchScope) {
+                    ((CustomSearchScope) ssd).fireChangeEvent();
                 }
-                return true;
             }
+            return true;
         });
 
         assertEquals(3, cl.getCounter());
@@ -90,12 +87,9 @@ public class SearchScopeListTest extends NbTestCase {
         SearchScopeList ssl = new SearchScopeList(css);
         final Semaphore s = new Semaphore(0);
         final AtomicBoolean notifiedInEDT = new AtomicBoolean(false);
-        ssl.addChangeListener(new ChangeListener() {
-            @Override
-            public void stateChanged(ChangeEvent e) {
-                notifiedInEDT.set(EventQueue.isDispatchThread());
-                s.release();
-            }
+        ssl.addChangeListener((ChangeEvent e) -> {
+            notifiedInEDT.set(EventQueue.isDispatchThread());
+            s.release();
         });
         css.fireChangeEvent();
         boolean acqrd = s.tryAcquire(10, TimeUnit.SECONDS);
@@ -135,7 +129,7 @@ public class SearchScopeListTest extends NbTestCase {
 
         private boolean applicable = true;
         private int priority;
-        private Set<ChangeListener> listeners = new HashSet<ChangeListener>();
+        private Set<ChangeListener> listeners = new HashSet<>();
 
         public CustomSearchScope(boolean applicable, int priority) {
             this.applicable = applicable;
@@ -171,7 +165,7 @@ public class SearchScopeListTest extends NbTestCase {
                 this.applicable = applicable;
                 if (applicable != oldVal) {
 
-                    listenersCopy = new HashSet<ChangeListener>(listeners);
+                    listenersCopy = new HashSet<>(listeners);
                 }
             }
             for (ChangeListener l : listenersCopy) {
@@ -199,7 +193,7 @@ public class SearchScopeListTest extends NbTestCase {
         @Override
         public List<SearchScopeDefinition> createSearchScopeDefinitions() {
             List<SearchScopeDefinition> list =
-                    new LinkedList<SearchScopeDefinition>();
+                    new LinkedList<>();
             list.add(new CustomSearchScope(true, 2));
             list.add(new CustomSearchScope(true, 1));
             list.add(new CustomSearchScope(false, 3));
diff --git a/platform/api.search/test/unit/src/org/netbeans/modules/search/SearchTestUtils.java b/platform/api.search/test/unit/src/org/netbeans/modules/search/SearchTestUtils.java
index 2a19156..bdc1391 100644
--- a/platform/api.search/test/unit/src/org/netbeans/modules/search/SearchTestUtils.java
+++ b/platform/api.search/test/unit/src/org/netbeans/modules/search/SearchTestUtils.java
@@ -63,7 +63,7 @@ public final class SearchTestUtils {
         for (int i = 0; i < 10; i++) {
             FileObject fo = root.createData(i + ".txt");                //NOI18N
             DataObject dob = DataObject.find(fo);
-            List<TextDetail> details = new ArrayList<TextDetail>(i);
+            List<TextDetail> details = new ArrayList<>(i);
             for (int j = 0; j < i + 1; j++) {
                 TextDetail td = new TextDetail(dob, sp);
                 details.add(td);
diff --git a/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/BufferedCharSequenceTest.java b/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/BufferedCharSequenceTest.java
index 012d0b3..769de3a 100644
--- a/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/BufferedCharSequenceTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/BufferedCharSequenceTest.java
@@ -171,12 +171,10 @@ public class BufferedCharSequenceTest {
                 char result = instance.charAt(index);
                 assertEquals(expResult, result);
 
-            } catch (IndexOutOfBoundsException ioobe) {
+            } catch (IndexOutOfBoundsException |
+                    BufferedCharSequence.SourceIOException ioobe) {
                 ioobe.printStackTrace();
                 fail(ioobe.toString());
-            } catch (BufferedCharSequence.SourceIOException bcse) {
-                bcse.printStackTrace();
-                fail(bcse.toString());
             }
         }
     }   
diff --git a/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/DefaultMatcherTest.java b/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/DefaultMatcherTest.java
index 4e9abb0..00d7963 100644
--- a/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/DefaultMatcherTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/DefaultMatcherTest.java
@@ -50,43 +50,28 @@ public class DefaultMatcherTest extends NbTestCase {
 
     private void createAndCheckTextContent(String encoding) {
         FileObject root = FileUtil.createMemoryFileSystem().getRoot();
-        try {
-            OutputStream os = root.createAndOpen("file");
-            try {
-                OutputStreamWriter osw = new OutputStreamWriter(os,
-                        encoding);
-                try {
-                    osw.append("Test Text");
-                    osw.flush();
-                } finally {
-                    osw.close();
-                }
-            } finally {
-                os.close();
-            }
-            assertTrue("File with encoding " + encoding
-                    + " was detected as binary file",
-                    DefaultMatcher.hasTextContent(root.getFileObject("file")));
+        try (OutputStream os = root.createAndOpen("file");
+                OutputStreamWriter osw = new OutputStreamWriter(os, encoding)) {
+            osw.append("Test Text");
+            osw.flush();
         } catch (UnsupportedEncodingException eee) {
             LOG.log(Level.INFO, "Unknown encoding {0}", encoding);
         } catch (IOException ex) {
             throw new RuntimeException(ex);
         }
+        assertTrue("File with encoding " + encoding
+                + " was detected as binary file",
+                DefaultMatcher.hasTextContent(root.getFileObject("file")));
     }
 
     public void testHasTextContentWithBinaryContent() {
         FileObject root = FileUtil.createMemoryFileSystem().getRoot();
-        try {
-            OutputStream os = root.createAndOpen("file");
-            try {
-                os.write(new byte[]{90, 98, 88, 97, 94, 0, 1, 2, 4, 5, 4, 6});
-            } finally {
-                os.close();
-            }
-            assertFalse("Binary file was detected as textual file",
-                    DefaultMatcher.hasTextContent(root.getFileObject("file")));
+        try (OutputStream os = root.createAndOpen("file")) {
+            os.write(new byte[]{90, 98, 88, 97, 94, 0, 1, 2, 4, 5, 4, 6});
         } catch (IOException ex) {
             throw new RuntimeException(ex);
         }
+        assertFalse("Binary file was detected as textual file",
+                DefaultMatcher.hasTextContent(root.getFileObject("file")));
     }
 }
diff --git a/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/SearchPerformanceComparator.java b/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/SearchPerformanceComparator.java
index 21ac06f..f7be2c2 100644
--- a/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/SearchPerformanceComparator.java
+++ b/platform/api.search/test/unit/src/org/netbeans/modules/search/matcher/SearchPerformanceComparator.java
@@ -255,21 +255,17 @@ public class SearchPerformanceComparator extends javax.swing.JFrame {
             final CustomSearchListener listener =
                     new CustomSearchListener(matcher);
             final AtomicBoolean terminated = new AtomicBoolean(false);
-            new Thread(new Runnable() {
-
-                @Override
-                public void run() {
-                    listener.searchStarted();
-                    for (FileObject fo : si.getFilesToSearch(
-                            so, listener, terminated)) {
-
-                        Def result = fm.check(fo, listener);
-                        if (result != null) {
-                            listener.objectFound(result);
-                        }
+            new Thread(() -> {
+                listener.searchStarted();
+                for (FileObject fo : si.getFilesToSearch(
+                        so, listener, terminated)) {
+                    
+                    Def result = fm.check(fo, listener);
+                    if (result != null) {
+                        listener.objectFound(result);
                     }
-                    listener.searchFinished();
                 }
+                listener.searchFinished();
             }).start();
         }
     }//GEN-LAST:event_runButtonActionPerformed
@@ -294,13 +290,10 @@ public class SearchPerformanceComparator extends javax.swing.JFrame {
                     break;
                 }
             }
-        } catch (ClassNotFoundException ex) {
-            java.util.logging.Logger.getLogger(SearchPerformanceComparator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
-        } catch (InstantiationException ex) {
-            java.util.logging.Logger.getLogger(SearchPerformanceComparator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
-        } catch (IllegalAccessException ex) {
-            java.util.logging.Logger.getLogger(SearchPerformanceComparator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
-        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
+        } catch (ClassNotFoundException |
+                InstantiationException |
+                IllegalAccessException |
+                javax.swing.UnsupportedLookAndFeelException ex) {
             java.util.logging.Logger.getLogger(SearchPerformanceComparator.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
         }
         //</editor-fold>
@@ -308,15 +301,11 @@ public class SearchPerformanceComparator extends javax.swing.JFrame {
         /*
          * Create and display the form
          */
-        java.awt.EventQueue.invokeLater(new Runnable() {
-
-            @Override
-            public void run() {
-                SearchPerformanceComparator spc =
-                        new SearchPerformanceComparator();
-                spc.setVisible(true);
-                spc.setDefaultCloseOperation(EXIT_ON_CLOSE);
-            }
+        java.awt.EventQueue.invokeLater(() -> {
+            SearchPerformanceComparator spc =
+                    new SearchPerformanceComparator();
+            spc.setVisible(true);
+            spc.setDefaultCloseOperation(EXIT_ON_CLOSE);
         });
     }
     // Variables declaration - do not modify//GEN-BEGIN:variables
diff --git a/platform/api.search/test/unit/src/org/netbeans/modules/search/ui/BasicSearchResultsPanelTest.java b/platform/api.search/test/unit/src/org/netbeans/modules/search/ui/BasicSearchResultsPanelTest.java
index bc9995b..a748c5c 100644
--- a/platform/api.search/test/unit/src/org/netbeans/modules/search/ui/BasicSearchResultsPanelTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/modules/search/ui/BasicSearchResultsPanelTest.java
@@ -138,7 +138,7 @@ public class BasicSearchResultsPanelTest {
     private static class TextDetailChilren extends Children.Keys<TextDetail> {
 
         public TextDetailChilren(String prefix, int count) {
-            List<TextDetail> keys = new LinkedList<TextDetail>();
+            List<TextDetail> keys = new LinkedList<>();
             for (int i = 1; i <= count; i++) {
                 TextDetail td = new TextDetail(null, null);
                 td.setLineText(prefix + i);
diff --git a/platform/api.search/test/unit/src/org/netbeans/modules/search/ui/ResultsOutlineSupportTest.java b/platform/api.search/test/unit/src/org/netbeans/modules/search/ui/ResultsOutlineSupportTest.java
index 6e97102..642746b 100644
--- a/platform/api.search/test/unit/src/org/netbeans/modules/search/ui/ResultsOutlineSupportTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/modules/search/ui/ResultsOutlineSupportTest.java
@@ -70,12 +70,9 @@ public class ResultsOutlineSupportTest {
 
         //add listener, create value holder
         final AtomicBoolean deleted = new AtomicBoolean(false);
-        mo.addPropertyChangeListener(new PropertyChangeListener() {
-            @Override
-            public void propertyChange(PropertyChangeEvent evt) {
-                if (MatchingObject.PROP_REMOVED.equals(evt.getPropertyName())) {
-                    deleted.set(true);
-                }
+        mo.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+            if (MatchingObject.PROP_REMOVED.equals(evt.getPropertyName())) {
+                deleted.set(true);
             }
         });
         parent1Item.remove();
@@ -112,13 +109,10 @@ public class ResultsOutlineSupportTest {
 
         //add listener, create value holder
         final AtomicBoolean notified = new AtomicBoolean(false);
-        parent1Item.addPropertyChangeListener(new PropertyChangeListener() {
-            @Override
-            public void propertyChange(PropertyChangeEvent evt) {
-                if (FolderTreeItem.PROP_CHILDREN.equals(
-                        evt.getPropertyName())) {
-                    notified.set(true);
-                }
+        parent1Item.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+            if (FolderTreeItem.PROP_CHILDREN.equals(
+                    evt.getPropertyName())) {
+                notified.set(true);
             }
         });
         mo.remove();
@@ -190,17 +184,9 @@ public class ResultsOutlineSupportTest {
         final ResultModel rm = SearchTestUtils.createResultModelWithSampleData(false);
         final ResultsOutlineSupport ros[] = new ResultsOutlineSupport[1];
         try {
-            EventQueue.invokeAndWait(new Runnable() {
-
-                @Override
-                public void run() {
-                    ros[0] = new ResultsOutlineSupport(false, false, rm,
-                            null, Node.EMPTY);
-                }
-            });
-        } catch (InterruptedException ex) {
-            Exceptions.printStackTrace(ex);
-        } catch (InvocationTargetException ex) {
+            EventQueue.invokeAndWait(() -> ros[0] = new ResultsOutlineSupport(false, false, rm, null, Node.EMPTY));
+        } catch (InterruptedException |
+                InvocationTargetException ex) {
             Exceptions.printStackTrace(ex);
         }
 
@@ -230,27 +216,21 @@ public class ResultsOutlineSupportTest {
             }
 
             // Add a new file ...
-            Thread t1 = new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    ros[0].update();
-                    ros[0].getResultsNode().getChildren().getNodes();
-                    finishFlag.thread1Finished = true;
-                }
+            Thread t1 = new Thread(() -> {
+                ros[0].update();
+                ros[0].getResultsNode().getChildren().getNodes();
+                finishFlag.thread1Finished = true;
             });
 
             // ... and close the model at the same time.
-            Thread t2 = new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    // simulate ResultsOutlineSupport.clean() - synchronize and
-                    // call ResultModel.close()
-                    synchronized (ros[0]) {
-                        rm.close();
-                        ros[0].getResultsNode().getChildren().getNodes();
-                    }
-                    finishFlag.thread2Finished = true;
+            Thread t2 = new Thread(() -> {
+                // simulate ResultsOutlineSupport.clean() - synchronize and
+                // call ResultModel.close()
+                synchronized (ros[0]) {
+                    rm.close();
+                    ros[0].getResultsNode().getChildren().getNodes();
                 }
+                finishFlag.thread2Finished = true;
             });
             t1.start();
             t2.start();
diff --git a/platform/api.search/test/unit/src/org/netbeans/spi/search/SearchScopeDefinitionTest.java b/platform/api.search/test/unit/src/org/netbeans/spi/search/SearchScopeDefinitionTest.java
index d374fc6..dc6f236 100644
--- a/platform/api.search/test/unit/src/org/netbeans/spi/search/SearchScopeDefinitionTest.java
+++ b/platform/api.search/test/unit/src/org/netbeans/spi/search/SearchScopeDefinitionTest.java
@@ -55,46 +55,35 @@ public class SearchScopeDefinitionTest {
         // notified.
         for (int i = 0; i < 10; i++) {
             final int j = i;
-            mssd.addChangeListener(new ChangeListener() {
-
-                @Override
-                public void stateChanged(ChangeEvent e) {
-                    if (j == 0) {
-                        // allow the new listener to be added
-                        semaphoreAddExtraListener.release();
-                    } else if (j == 1) {
-                        try {
-                            // wait until the new listener added
-                            semaphoreContinueIterating.acquire();
-                        } catch (InterruptedException ex) {
-                            Exceptions.printStackTrace(ex);
-                        }
+            mssd.addChangeListener((ChangeEvent e) -> {
+                if (j == 0) {
+                    // allow the new listener to be added
+                    semaphoreAddExtraListener.release();
+                } else if (j == 1) {
+                    try {
+                        // wait until the new listener added
+                        semaphoreContinueIterating.acquire();
+                    } catch (InterruptedException ex) {
+                        Exceptions.printStackTrace(ex);
                     }
-                    notified[0]++;
                 }
+                notified[0]++;
             });
         }
 
         // Thead that adds a new listener while the listener list is being
         // iterated over.
-        Thread t1 = new Thread(new Runnable() {
-
-            @Override
-            public void run() {
-                try {
-                    // wait until listeners are iterated
-                    semaphoreAddExtraListener.acquire();
-                } catch (InterruptedException ex) {
-                    Exceptions.printStackTrace(ex);
-                }
-                mssd.addChangeListener(new ChangeListener() {
-                    @Override
-                    public void stateChanged(ChangeEvent e) {
-                    }
-                });
-                // the iteration can continue
-                semaphoreContinueIterating.release();
+        Thread t1 = new Thread(() -> {
+            try {
+                // wait until listeners are iterated
+                semaphoreAddExtraListener.acquire();
+            } catch (InterruptedException ex) {
+                Exceptions.printStackTrace(ex);
             }
+            mssd.addChangeListener((ChangeEvent e) -> {
+            });
+            // the iteration can continue
+            semaphoreContinueIterating.release();
         });
 
         t1.start();
diff --git a/platform/janitor/nbproject/project.properties b/platform/janitor/nbproject/project.properties
index 0f73a11..cc5f75f 100644
--- a/platform/janitor/nbproject/project.properties
+++ b/platform/janitor/nbproject/project.properties
@@ -16,4 +16,4 @@
 # under the License.
 is.autoload=true
 javac.source=1.8
-javac.compilerargs=-Xlint -Xlint:-serial
+javac.compilerargs=-Xlint:all -Xlint:-serial -Werror

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists