You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2018/07/27 21:56:51 UTC

[GitHub] leventov closed pull request #5980: Remove redundant type parameters and enforce some other style and inspection rules

leventov closed pull request #5980: Remove redundant type parameters and enforce some other style and inspection rules
URL: https://github.com/apache/incubator-druid/pull/5980
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/.idea/inspectionProfiles/Druid.xml b/.idea/inspectionProfiles/Druid.xml
index 4960474e72a..81f67f07d8e 100644
--- a/.idea/inspectionProfiles/Druid.xml
+++ b/.idea/inspectionProfiles/Druid.xml
@@ -9,6 +9,7 @@
     <inspection_tool class="ArrayEquals" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="ArrayHashCode" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="ArrayObjectsEquals" enabled="true" level="ERROR" enabled_by_default="true" />
+    <inspection_tool class="ArraysAsListWithZeroOrOneArgument" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="AssertWithSideEffects" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="CastConflictsWithInstanceof" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="CastToIncompatibleInterface" enabled="true" level="ERROR" enabled_by_default="true" />
@@ -92,6 +93,7 @@
     <inspection_tool class="ObjectToString" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="PrimitiveArrayArgumentToVariableArgMethod" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="RedundantThrows" enabled="true" level="ERROR" enabled_by_default="true" />
+    <inspection_tool class="RedundantTypeArguments" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="ReflectionForUnavailableAnnotation" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="ReplaceAllDot" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="ResultOfObjectAllocationIgnored" enabled="true" level="WARNING" enabled_by_default="true">
@@ -141,6 +143,9 @@
     <inspection_tool class="SyntaxError" enabled="true" level="WARNING" enabled_by_default="true" />
     <inspection_tool class="TextLabelInSwitchStatement" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="ThrowableNotThrown" enabled="true" level="ERROR" enabled_by_default="true" />
+    <inspection_tool class="ToArrayCallWithZeroLengthArrayArgument" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="myMode" value="BY_LEVEL" />
+    </inspection_tool>
     <inspection_tool class="UnnecessaryEnumModifier" enabled="true" level="ERROR" enabled_by_default="true" />
     <inspection_tool class="UnnecessaryFullyQualifiedName" enabled="true" level="WARNING" enabled_by_default="true">
       <scope name="NonGeneratedFiles" level="ERROR" enabled="true">
@@ -185,4 +190,4 @@
       <option name="ADD_NONJAVA_TO_ENTRIES" value="true" />
     </inspection_tool>
   </profile>
-</component>
\ No newline at end of file
+</component>
diff --git a/api/src/main/java/io/druid/data/input/impl/DimensionsSpec.java b/api/src/main/java/io/druid/data/input/impl/DimensionsSpec.java
index 1381382a130..837a48261c3 100644
--- a/api/src/main/java/io/druid/data/input/impl/DimensionsSpec.java
+++ b/api/src/main/java/io/druid/data/input/impl/DimensionsSpec.java
@@ -75,15 +75,15 @@ public DimensionsSpec(
   )
   {
     this.dimensions = dimensions == null
-                      ? Lists.<DimensionSchema>newArrayList()
+                      ? Lists.newArrayList()
                       : Lists.newArrayList(dimensions);
 
     this.dimensionExclusions = (dimensionExclusions == null)
-                               ? Sets.<String>newHashSet()
+                               ? Sets.newHashSet()
                                : Sets.newHashSet(dimensionExclusions);
 
     List<SpatialDimensionSchema> spatialDims = (spatialDimensions == null)
-                                               ? Lists.<SpatialDimensionSchema>newArrayList()
+                                               ? Lists.newArrayList()
                                                : spatialDimensions;
 
     verify(spatialDims);
diff --git a/api/src/main/java/io/druid/guice/ConditionalMultibind.java b/api/src/main/java/io/druid/guice/ConditionalMultibind.java
index 7a6ae9d59ed..6ac9a09d040 100644
--- a/api/src/main/java/io/druid/guice/ConditionalMultibind.java
+++ b/api/src/main/java/io/druid/guice/ConditionalMultibind.java
@@ -60,7 +60,7 @@
    */
   public static <T> ConditionalMultibind<T> create(Properties properties, Binder binder, Class<T> type)
   {
-    return new ConditionalMultibind<T>(properties, Multibinder.<T>newSetBinder(binder, type));
+    return new ConditionalMultibind<T>(properties, Multibinder.newSetBinder(binder, type));
   }
 
   /**
@@ -81,7 +81,7 @@
       Class<? extends Annotation> annotationType
   )
   {
-    return new ConditionalMultibind<T>(properties, Multibinder.<T>newSetBinder(binder, type, annotationType));
+    return new ConditionalMultibind<T>(properties, Multibinder.newSetBinder(binder, type, annotationType));
   }
 
   /**
@@ -96,7 +96,7 @@
    */
   public static <T> ConditionalMultibind<T> create(Properties properties, Binder binder, TypeLiteral<T> type)
   {
-    return new ConditionalMultibind<T>(properties, Multibinder.<T>newSetBinder(binder, type));
+    return new ConditionalMultibind<T>(properties, Multibinder.newSetBinder(binder, type));
   }
 
   /**
@@ -117,7 +117,7 @@
       Class<? extends Annotation> annotationType
   )
   {
-    return new ConditionalMultibind<T>(properties, Multibinder.<T>newSetBinder(binder, type, annotationType));
+    return new ConditionalMultibind<T>(properties, Multibinder.newSetBinder(binder, type, annotationType));
   }
 
 
diff --git a/api/src/main/java/io/druid/guice/JsonConfigProvider.java b/api/src/main/java/io/druid/guice/JsonConfigProvider.java
index 15a8e644434..b1b94e6cfd2 100644
--- a/api/src/main/java/io/druid/guice/JsonConfigProvider.java
+++ b/api/src/main/java/io/druid/guice/JsonConfigProvider.java
@@ -154,7 +154,7 @@
       supplierKey = Key.get(supType);
     }
 
-    binder.bind(supplierKey).toInstance(Suppliers.<T>ofInstance(instance));
+    binder.bind(supplierKey).toInstance(Suppliers.ofInstance(instance));
   }
 
   public static <T> JsonConfigProvider<T> of(String propertyBase, Class<T> classToProvide)
diff --git a/api/src/test/java/io/druid/data/input/impl/CSVParseSpecTest.java b/api/src/test/java/io/druid/data/input/impl/CSVParseSpecTest.java
index d059868f79b..3649ec77b67 100644
--- a/api/src/test/java/io/druid/data/input/impl/CSVParseSpecTest.java
+++ b/api/src/test/java/io/druid/data/input/impl/CSVParseSpecTest.java
@@ -39,8 +39,8 @@ public void testColumnMissing()
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "b")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         Collections.singletonList("a"),
@@ -61,8 +61,8 @@ public void testComma()
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a,", "b")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         Collections.singletonList("a"),
diff --git a/api/src/test/java/io/druid/data/input/impl/DelimitedParseSpecTest.java b/api/src/test/java/io/druid/data/input/impl/DelimitedParseSpecTest.java
index afb1bb336a1..219db5507c2 100644
--- a/api/src/test/java/io/druid/data/input/impl/DelimitedParseSpecTest.java
+++ b/api/src/test/java/io/druid/data/input/impl/DelimitedParseSpecTest.java
@@ -70,8 +70,8 @@ public void testColumnMissing()
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "b")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         " ",
@@ -93,8 +93,8 @@ public void testComma()
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a,", "b")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         null,
@@ -116,8 +116,8 @@ public void testDefaultColumnList()
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "b")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         null,
diff --git a/api/src/test/java/io/druid/data/input/impl/InputRowParserSerdeTest.java b/api/src/test/java/io/druid/data/input/impl/InputRowParserSerdeTest.java
index e812aa3fc19..75cd6ede495 100644
--- a/api/src/test/java/io/druid/data/input/impl/InputRowParserSerdeTest.java
+++ b/api/src/test/java/io/druid/data/input/impl/InputRowParserSerdeTest.java
@@ -106,7 +106,7 @@ public void testMapInputRowParserSerde() throws Exception
         InputRowParser.class
     );
     final InputRow parsed = parser2.parseBatch(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "foo", "x",
             "bar", "y",
             "qux", "z",
@@ -139,7 +139,7 @@ public void testMapInputRowParserNumbersSerde() throws Exception
         InputRowParser.class
     );
     final InputRow parsed = parser2.parseBatch(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "timemillis", 1412705931123L,
             "toobig", 123E64,
             "value", 123.456,
diff --git a/api/src/test/java/io/druid/data/input/impl/JSONLowercaseParseSpecTest.java b/api/src/test/java/io/druid/data/input/impl/JSONLowercaseParseSpecTest.java
index e9da6f68e01..c8a15606fbb 100644
--- a/api/src/test/java/io/druid/data/input/impl/JSONLowercaseParseSpecTest.java
+++ b/api/src/test/java/io/druid/data/input/impl/JSONLowercaseParseSpecTest.java
@@ -40,8 +40,8 @@ public void testLowercasing()
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("A", "B")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         )
     );
     Parser parser = spec.makeParser();
diff --git a/api/src/test/java/io/druid/data/input/impl/JSONParseSpecTest.java b/api/src/test/java/io/druid/data/input/impl/JSONParseSpecTest.java
index 3c5a2fcc0bd..243dcc08d2e 100644
--- a/api/src/test/java/io/druid/data/input/impl/JSONParseSpecTest.java
+++ b/api/src/test/java/io/druid/data/input/impl/JSONParseSpecTest.java
@@ -32,6 +32,7 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -98,7 +99,7 @@ public void testParseRowWithConditional()
 
     final Map<String, Object> expected = new HashMap<>();
     expected.put("foo", new ArrayList());
-    expected.put("bar", Arrays.asList("test"));
+    expected.put("bar", Collections.singletonList("test"));
 
     final Parser<String, Object> parser = parseSpec.makeParser();
     final Map<String, Object> parsedRow = parser.parseToMap("{\"something_else\": {\"foo\": \"test\"}}");
diff --git a/api/src/test/java/io/druid/data/input/impl/ParseSpecTest.java b/api/src/test/java/io/druid/data/input/impl/ParseSpecTest.java
index eb81ded60aa..f8e667ea20d 100644
--- a/api/src/test/java/io/druid/data/input/impl/ParseSpecTest.java
+++ b/api/src/test/java/io/druid/data/input/impl/ParseSpecTest.java
@@ -45,8 +45,8 @@ public void testDuplicateNames()
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "b", "a")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         " ",
@@ -69,7 +69,7 @@ public void testDimAndDimExcluOverlap()
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "B")),
             Lists.newArrayList("B"),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList()
         ),
         ",",
         null,
@@ -92,7 +92,7 @@ public void testDimExclusionDuplicate()
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Collections.singletonList("a")),
             Lists.newArrayList("B", "B"),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList()
         ),
         ",",
         null,
@@ -113,7 +113,7 @@ public void testDefaultTimestampSpec()
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Collections.singletonList("a")),
             Lists.newArrayList("B", "B"),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList()
         ),
         ",",
         null,
diff --git a/api/src/test/java/io/druid/data/input/impl/TimestampSpecTest.java b/api/src/test/java/io/druid/data/input/impl/TimestampSpecTest.java
index 79fa7181820..953a020195a 100644
--- a/api/src/test/java/io/druid/data/input/impl/TimestampSpecTest.java
+++ b/api/src/test/java/io/druid/data/input/impl/TimestampSpecTest.java
@@ -34,7 +34,7 @@ public void testExtractTimestamp()
     TimestampSpec spec = new TimestampSpec("TIMEstamp", "yyyy-MM-dd", null);
     Assert.assertEquals(
         DateTimes.of("2014-03-01"),
-        spec.extractTimestamp(ImmutableMap.<String, Object>of("TIMEstamp", "2014-03-01"))
+        spec.extractTimestamp(ImmutableMap.of("TIMEstamp", "2014-03-01"))
     );
   }
 
@@ -44,7 +44,7 @@ public void testExtractTimestampWithMissingTimestampColumn()
     TimestampSpec spec = new TimestampSpec(null, null, DateTimes.EPOCH);
     Assert.assertEquals(
         DateTimes.of("1970-01-01"),
-        spec.extractTimestamp(ImmutableMap.<String, Object>of("dim", "foo"))
+        spec.extractTimestamp(ImmutableMap.of("dim", "foo"))
     );
   }
 
@@ -64,7 +64,7 @@ public void testContextualTimestampList()
     DateTimes.UtcFormatter formatter = DateTimes.wrapFormatter(ISODateTimeFormat.dateHourMinuteSecond());
 
     for (String date : dates) {
-      DateTime dateTime = spec.extractTimestamp(ImmutableMap.<String, Object>of("TIMEstamp", date));
+      DateTime dateTime = spec.extractTimestamp(ImmutableMap.of("TIMEstamp", date));
       DateTime expectedDateTime = formatter.parse(date);
       Assert.assertEquals(expectedDateTime, dateTime);
     }
diff --git a/api/src/test/java/io/druid/guice/ConditionalMultibindTest.java b/api/src/test/java/io/druid/guice/ConditionalMultibindTest.java
index 3a2d8f2908b..f7017fd78ba 100644
--- a/api/src/test/java/io/druid/guice/ConditionalMultibindTest.java
+++ b/api/src/test/java/io/druid/guice/ConditionalMultibindTest.java
@@ -101,7 +101,7 @@ public void configure(Binder binder)
     }));
 
     Assert.assertEquals(2, animalSet.size());
-    Assert.assertEquals(animalSet, ImmutableSet.<Animal>of(new Cat(), new Dog()));
+    Assert.assertEquals(animalSet, ImmutableSet.of(new Cat(), new Dog()));
   }
 
   @Test
@@ -128,7 +128,7 @@ public void configure(Binder binder)
     }));
 
     Assert.assertEquals(2, animalSet.size());
-    Assert.assertEquals(animalSet, ImmutableSet.<Animal>of(new Cat(), new Dog()));
+    Assert.assertEquals(animalSet, ImmutableSet.of(new Cat(), new Dog()));
   }
 
   @Test
@@ -164,7 +164,7 @@ public void configure(Binder binder)
     }));
 
     Assert.assertEquals(3, animalSet.size());
-    Assert.assertEquals(animalSet, ImmutableSet.<Animal>of(new Cat(), new Dog(), new Fish()));
+    Assert.assertEquals(animalSet, ImmutableSet.of(new Cat(), new Dog(), new Fish()));
   }
 
   @Test
@@ -202,7 +202,7 @@ public void configure(Binder binder)
     {
     }, SanDiego.class));
     Assert.assertEquals(4, animalSet_1.size());
-    Assert.assertEquals(animalSet_1, ImmutableSet.<Animal>of(new Bird(), new Cat(), new Dog(), new Tiger()));
+    Assert.assertEquals(animalSet_1, ImmutableSet.of(new Bird(), new Cat(), new Dog(), new Tiger()));
 
     Set<Animal> animalSet_2 = injector.getInstance(Key.get(new TypeLiteral<Set<Animal>>()
     {
@@ -244,7 +244,7 @@ public void configure(Binder binder)
     injector.injectMembers(shop);
 
     Assert.assertEquals(4, shop.animals.size());
-    Assert.assertEquals(shop.animals, ImmutableSet.<Animal>of(new Bird(), new Cat(), new Dog(), new Fish()));
+    Assert.assertEquals(shop.animals, ImmutableSet.of(new Bird(), new Cat(), new Dog(), new Fish()));
   }
 
   @Test
@@ -252,9 +252,9 @@ public void testMultiConditionalBind_typeLiteral()
   {
     props.setProperty("animal.type", "pets");
 
-    final Set<Animal> set1 = ImmutableSet.<Animal>of(new Dog(), new Tiger());
-    final Set<Animal> set2 = ImmutableSet.<Animal>of(new Cat(), new Fish());
-    final Set<Animal> set3 = ImmutableSet.<Animal>of(new Cat());
+    final Set<Animal> set1 = ImmutableSet.of(new Dog(), new Tiger());
+    final Set<Animal> set2 = ImmutableSet.of(new Cat(), new Fish());
+    final Set<Animal> set3 = ImmutableSet.of(new Cat());
     final Set<Animal> union = new HashSet<>();
     union.addAll(set1);
     union.addAll(set2);
diff --git a/api/src/test/java/io/druid/guice/JsonConfiguratorTest.java b/api/src/test/java/io/druid/guice/JsonConfiguratorTest.java
index fece707072a..9796db6576c 100644
--- a/api/src/test/java/io/druid/guice/JsonConfiguratorTest.java
+++ b/api/src/test/java/io/druid/guice/JsonConfiguratorTest.java
@@ -94,12 +94,12 @@ public ExecutableValidator forExecutables()
   public void testTest()
   {
     Assert.assertEquals(
-        new MappableObject("p1", ImmutableList.<String>of("p2"), "p2"),
-        new MappableObject("p1", ImmutableList.<String>of("p2"), "p2")
+        new MappableObject("p1", ImmutableList.of("p2"), "p2"),
+        new MappableObject("p1", ImmutableList.of("p2"), "p2")
     );
     Assert.assertEquals(
         new MappableObject("p1", null, null),
-        new MappableObject("p1", ImmutableList.<String>of(), null)
+        new MappableObject("p1", ImmutableList.of(), null)
     );
   }
 
@@ -175,7 +175,7 @@ protected MappableObject(
   )
   {
     this.prop1 = prop1;
-    this.prop1List = prop1List == null ? ImmutableList.<String>of() : prop1List;
+    this.prop1List = prop1List == null ? ImmutableList.of() : prop1List;
     this.prop2 = prop2;
   }
 
diff --git a/api/src/test/java/io/druid/timeline/DataSegmentTest.java b/api/src/test/java/io/druid/timeline/DataSegmentTest.java
index ac2fd31929b..400680d3c7e 100644
--- a/api/src/test/java/io/druid/timeline/DataSegmentTest.java
+++ b/api/src/test/java/io/druid/timeline/DataSegmentTest.java
@@ -102,7 +102,7 @@ public void testV1Serialization() throws Exception
   {
 
     final Interval interval = Intervals.of("2011-10-01/2011-10-02");
-    final ImmutableMap<String, Object> loadSpec = ImmutableMap.<String, Object>of("something", "or_other");
+    final ImmutableMap<String, Object> loadSpec = ImmutableMap.of("something", "or_other");
 
     DataSegment segment = new DataSegment(
         "something",
diff --git a/benchmarks/src/main/java/io/druid/benchmark/FilterPartitionBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/FilterPartitionBenchmark.java
index c29414efe1c..bcf0f3627a9 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/FilterPartitionBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/FilterPartitionBenchmark.java
@@ -360,8 +360,8 @@ public void readAndFilter(Blackhole blackhole)
   public void readOrFilter(Blackhole blackhole)
   {
     Filter filter = new NoBitmapSelectorFilter("dimSequential", "199");
-    Filter filter2 = new AndFilter(Arrays.<Filter>asList(new SelectorFilter("dimMultivalEnumerated2", "Corundum"), new NoBitmapSelectorFilter("dimMultivalEnumerated", "Bar")));
-    Filter orFilter = new OrFilter(Arrays.<Filter>asList(filter, filter2));
+    Filter filter2 = new AndFilter(Arrays.asList(new SelectorFilter("dimMultivalEnumerated2", "Corundum"), new NoBitmapSelectorFilter("dimMultivalEnumerated", "Bar")));
+    Filter orFilter = new OrFilter(Arrays.asList(filter, filter2));
 
     StorageAdapter sa = new QueryableIndexStorageAdapter(qIndex);
     Sequence<Cursor> cursors = makeCursors(sa, orFilter);
@@ -374,8 +374,8 @@ public void readOrFilter(Blackhole blackhole)
   public void readOrFilterCNF(Blackhole blackhole)
   {
     Filter filter = new NoBitmapSelectorFilter("dimSequential", "199");
-    Filter filter2 = new AndFilter(Arrays.<Filter>asList(new SelectorFilter("dimMultivalEnumerated2", "Corundum"), new NoBitmapSelectorFilter("dimMultivalEnumerated", "Bar")));
-    Filter orFilter = new OrFilter(Arrays.<Filter>asList(filter, filter2));
+    Filter filter2 = new AndFilter(Arrays.asList(new SelectorFilter("dimMultivalEnumerated2", "Corundum"), new NoBitmapSelectorFilter("dimMultivalEnumerated", "Bar")));
+    Filter orFilter = new OrFilter(Arrays.asList(filter, filter2));
 
     StorageAdapter sa = new QueryableIndexStorageAdapter(qIndex);
     Sequence<Cursor> cursors = makeCursors(sa, Filters.convertToCNF(orFilter));
@@ -387,27 +387,27 @@ public void readOrFilterCNF(Blackhole blackhole)
   @OutputTimeUnit(TimeUnit.MICROSECONDS)
   public void readComplexOrFilter(Blackhole blackhole)
   {
-    DimFilter dimFilter1 = new OrDimFilter(Arrays.<DimFilter>asList(
+    DimFilter dimFilter1 = new OrDimFilter(Arrays.asList(
         new SelectorDimFilter("dimSequential", "199", null),
-        new AndDimFilter(Arrays.<DimFilter>asList(
+        new AndDimFilter(Arrays.asList(
             new NoBitmapSelectorDimFilter("dimMultivalEnumerated2", "Corundum", null),
             new SelectorDimFilter("dimMultivalEnumerated", "Bar", null)
         )
         ))
     );
-    DimFilter dimFilter2 = new OrDimFilter(Arrays.<DimFilter>asList(
+    DimFilter dimFilter2 = new OrDimFilter(Arrays.asList(
         new SelectorDimFilter("dimSequential", "299", null),
         new SelectorDimFilter("dimSequential", "399", null),
-        new AndDimFilter(Arrays.<DimFilter>asList(
+        new AndDimFilter(Arrays.asList(
             new NoBitmapSelectorDimFilter("dimMultivalEnumerated2", "Xylophone", null),
             new SelectorDimFilter("dimMultivalEnumerated", "Foo", null)
         )
         ))
     );
-    DimFilter dimFilter3 = new OrDimFilter(Arrays.<DimFilter>asList(
+    DimFilter dimFilter3 = new OrDimFilter(Arrays.asList(
         dimFilter1,
         dimFilter2,
-        new AndDimFilter(Arrays.<DimFilter>asList(
+        new AndDimFilter(Arrays.asList(
             new NoBitmapSelectorDimFilter("dimMultivalEnumerated2", "Orange", null),
             new SelectorDimFilter("dimMultivalEnumerated", "World", null)
         )
@@ -424,27 +424,27 @@ public void readComplexOrFilter(Blackhole blackhole)
   @OutputTimeUnit(TimeUnit.MICROSECONDS)
   public void readComplexOrFilterCNF(Blackhole blackhole)
   {
-    DimFilter dimFilter1 = new OrDimFilter(Arrays.<DimFilter>asList(
+    DimFilter dimFilter1 = new OrDimFilter(Arrays.asList(
         new SelectorDimFilter("dimSequential", "199", null),
-        new AndDimFilter(Arrays.<DimFilter>asList(
+        new AndDimFilter(Arrays.asList(
             new NoBitmapSelectorDimFilter("dimMultivalEnumerated2", "Corundum", null),
             new SelectorDimFilter("dimMultivalEnumerated", "Bar", null)
         )
         ))
     );
-    DimFilter dimFilter2 = new OrDimFilter(Arrays.<DimFilter>asList(
+    DimFilter dimFilter2 = new OrDimFilter(Arrays.asList(
         new SelectorDimFilter("dimSequential", "299", null),
         new SelectorDimFilter("dimSequential", "399", null),
-        new AndDimFilter(Arrays.<DimFilter>asList(
+        new AndDimFilter(Arrays.asList(
             new NoBitmapSelectorDimFilter("dimMultivalEnumerated2", "Xylophone", null),
             new SelectorDimFilter("dimMultivalEnumerated", "Foo", null)
         )
         ))
     );
-    DimFilter dimFilter3 = new OrDimFilter(Arrays.<DimFilter>asList(
+    DimFilter dimFilter3 = new OrDimFilter(Arrays.asList(
         dimFilter1,
         dimFilter2,
-        new AndDimFilter(Arrays.<DimFilter>asList(
+        new AndDimFilter(Arrays.asList(
             new NoBitmapSelectorDimFilter("dimMultivalEnumerated2", "Orange", null),
             new SelectorDimFilter("dimMultivalEnumerated", "World", null)
         )
diff --git a/benchmarks/src/main/java/io/druid/benchmark/FloatCompressionBenchmarkFileGenerator.java b/benchmarks/src/main/java/io/druid/benchmark/FloatCompressionBenchmarkFileGenerator.java
index 24da6a62d80..0e29700595c 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/FloatCompressionBenchmarkFileGenerator.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/FloatCompressionBenchmarkFileGenerator.java
@@ -61,7 +61,7 @@ public static void main(String[] args) throws IOException
     }
 
     BenchmarkColumnSchema enumeratedSchema = BenchmarkColumnSchema.makeEnumerated("", ValueType.FLOAT, true, 1, 0d,
-                                                                                  ImmutableList.<Object>of(
+                                                                                  ImmutableList.of(
                                                                                       0f,
                                                                                       1.1f,
                                                                                       2.2f,
diff --git a/benchmarks/src/main/java/io/druid/benchmark/GroupByTypeInterfaceBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/GroupByTypeInterfaceBenchmark.java
index 3928dc418b2..a3e38658d68 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/GroupByTypeInterfaceBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/GroupByTypeInterfaceBenchmark.java
@@ -55,7 +55,6 @@
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.aggregation.hyperloglog.HyperUniquesSerde;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.GroupByQuery;
 import io.druid.query.groupby.GroupByQueryConfig;
 import io.druid.query.groupby.GroupByQueryEngine;
@@ -182,7 +181,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null)
           ))
           .setAggregatorSpecs(
@@ -195,7 +194,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("metLongUniform", null),
               new DefaultDimensionSpec("metFloatNormal", null)
           ))
@@ -209,7 +208,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("metLongUniform", null)
           ))
           .setAggregatorSpecs(
@@ -222,7 +221,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("metFloatNormal", null)
           ))
           .setAggregatorSpecs(
@@ -249,7 +248,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null),
               new DefaultDimensionSpec("dimZipf", null)
           ))
@@ -263,7 +262,7 @@ private void setupQueries()
           .builder()
           .setDataSource(subqueryA)
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null)
           ))
           .setAggregatorSpecs(
diff --git a/benchmarks/src/main/java/io/druid/benchmark/LongCompressionBenchmarkFileGenerator.java b/benchmarks/src/main/java/io/druid/benchmark/LongCompressionBenchmarkFileGenerator.java
index 6b2cc9490dd..52a34d37b6a 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/LongCompressionBenchmarkFileGenerator.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/LongCompressionBenchmarkFileGenerator.java
@@ -62,7 +62,7 @@ public static void main(String[] args) throws IOException
     }
 
     BenchmarkColumnSchema enumeratedSchema = BenchmarkColumnSchema.makeEnumerated("", ValueType.LONG, true, 1, 0d,
-                                                                                  ImmutableList.<Object>of(
+                                                                                  ImmutableList.of(
                                                                                       0,
                                                                                       1,
                                                                                       2,
diff --git a/benchmarks/src/main/java/io/druid/benchmark/MergeSequenceBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/MergeSequenceBenchmark.java
index 4f923ac884b..f9ef0490aa3 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/MergeSequenceBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/MergeSequenceBenchmark.java
@@ -89,13 +89,13 @@ public void mergeHierarchical(Blackhole blackhole)
     while (iterator.hasNext()) {
       toMerge.add(iterator.next());
       if (toMerge.size() == mergeAtOnce) {
-        partialMerged.add(new MergeSequence<Integer>(Ordering.<Integer>natural(), Sequences.simple(toMerge)));
+        partialMerged.add(new MergeSequence<Integer>(Ordering.natural(), Sequences.simple(toMerge)));
         toMerge = new ArrayList<Sequence<Integer>>();
       }
     }
 
     if (!toMerge.isEmpty()) {
-      partialMerged.add(new MergeSequence<Integer>(Ordering.<Integer>natural(), Sequences.simple(toMerge)));
+      partialMerged.add(new MergeSequence<Integer>(Ordering.natural(), Sequences.simple(toMerge)));
     }
     MergeSequence<Integer> mergeSequence = new MergeSequence(
         Ordering.<Integer>natural(),
diff --git a/benchmarks/src/main/java/io/druid/benchmark/datagen/BenchmarkSchemas.java b/benchmarks/src/main/java/io/druid/benchmark/datagen/BenchmarkSchemas.java
index 05da3600b28..d50c1a04307 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/datagen/BenchmarkSchemas.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/datagen/BenchmarkSchemas.java
@@ -54,8 +54,8 @@
             false,
             4,
             null,
-            Arrays.<Object>asList("Hello", "World", "Foo", "Bar", "Baz"),
-            Arrays.<Double>asList(0.2, 0.25, 0.15, 0.10, 0.3)
+            Arrays.asList("Hello", "World", "Foo", "Bar", "Baz"),
+            Arrays.asList(0.2, 0.25, 0.15, 0.10, 0.3)
         ),
         BenchmarkColumnSchema.makeEnumerated(
             "dimMultivalEnumerated2",
@@ -63,8 +63,8 @@
             false,
             3,
             null,
-            Arrays.<Object>asList("Apple", "Orange", "Xylophone", "Corundum", null),
-            Arrays.<Double>asList(0.2, 0.25, 0.15, 0.10, 0.3)
+            Arrays.asList("Apple", "Orange", "Xylophone", "Corundum", null),
+            Arrays.asList(0.2, 0.25, 0.15, 0.10, 0.3)
         ),
         BenchmarkColumnSchema.makeSequential("dimMultivalSequentialWithNulls", ValueType.STRING, false, 8, 0.15, 1, 11),
         BenchmarkColumnSchema.makeSequential("dimHyperUnique", ValueType.STRING, false, 1, null, 0, 100000),
diff --git a/benchmarks/src/main/java/io/druid/benchmark/query/GroupByBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/query/GroupByBenchmark.java
index 931bcd737e5..ad98f5b15a0 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/query/GroupByBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/query/GroupByBenchmark.java
@@ -59,7 +59,6 @@
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.aggregation.hyperloglog.HyperUniquesSerde;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.filter.BoundDimFilter;
 import io.druid.query.groupby.GroupByQuery;
 import io.druid.query.groupby.GroupByQueryConfig;
@@ -190,7 +189,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null),
               new DefaultDimensionSpec("dimZipf", null)
               //new DefaultDimensionSpec("dimUniform", null),
@@ -219,7 +218,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null),
               new DefaultDimensionSpec("dimZipf", null)
           ))
@@ -233,7 +232,7 @@ private void setupQueries()
           .builder()
           .setDataSource(subqueryA)
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null)
           ))
           .setAggregatorSpecs(
@@ -309,7 +308,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", "dimSequential", ValueType.STRING)
           ))
           .setAggregatorSpecs(
@@ -336,7 +335,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", "dimSequential", ValueType.LONG)
           ))
           .setAggregatorSpecs(
@@ -363,7 +362,7 @@ private void setupQueries()
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", "dimSequential", ValueType.FLOAT)
           ))
           .setAggregatorSpecs(
@@ -575,7 +574,7 @@ public void tearDown()
         toolChest
     );
 
-    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap());
+    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.newHashMap());
     return queryResult.toList();
   }
 
@@ -650,7 +649,7 @@ public void queryMultiQueryableIndexWithSpilling(Blackhole blackhole)
     );
 
     final GroupByQuery spillingQuery = query.withOverriddenContext(
-        ImmutableMap.<String, Object>of("bufferGrouperMaxSize", 4000)
+        ImmutableMap.of("bufferGrouperMaxSize", 4000)
     );
     Sequence<Row> queryResult = theRunner.run(QueryPlus.wrap(spillingQuery), Maps.newHashMap());
     List<Row> results = queryResult.toList();
@@ -679,7 +678,7 @@ public void queryMultiQueryableIndexWithSerde(Blackhole blackhole)
         (QueryToolChest) toolChest
     );
 
-    Sequence<Row> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap());
+    Sequence<Row> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.newHashMap());
     List<Row> results = queryResult.toList();
 
     for (Row result : results) {
diff --git a/benchmarks/src/main/java/io/druid/benchmark/query/SearchBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/query/SearchBenchmark.java
index b2ff59e68bf..72107799d15 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/query/SearchBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/query/SearchBenchmark.java
@@ -403,7 +403,7 @@ private IncrementalIndex makeIncIndex()
         toolChest
     );
 
-    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap());
+    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.newHashMap());
     return queryResult.toList();
   }
 
@@ -470,7 +470,7 @@ public void queryMultiQueryableIndex(Blackhole blackhole)
 
     Sequence<Result<SearchResultValue>> queryResult = theRunner.run(
         QueryPlus.wrap(query),
-        Maps.<String, Object>newHashMap()
+        Maps.newHashMap()
     );
     List<Result<SearchResultValue>> results = queryResult.toList();
 
diff --git a/benchmarks/src/main/java/io/druid/benchmark/query/SelectBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/query/SelectBenchmark.java
index e563efae5d7..3a55aac875c 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/query/SelectBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/query/SelectBenchmark.java
@@ -85,7 +85,6 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -161,8 +160,8 @@ private void setupQueries()
       Druids.SelectQueryBuilder queryBuilderA =
           Druids.newSelectQueryBuilder()
                 .dataSource(new TableDataSource("blah"))
-                .dimensionSpecs(DefaultDimensionSpec.toSpec(Arrays.<String>asList()))
-                .metrics(Arrays.<String>asList())
+                .dimensionSpecs(DefaultDimensionSpec.toSpec(Collections.emptyList()))
+                .metrics(Collections.emptyList())
                 .intervals(intervalSpec)
                 .granularity(Granularities.ALL)
                 .descending(false);
@@ -268,7 +267,7 @@ private IncrementalIndex makeIncIndex()
         toolChest
     );
 
-    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap());
+    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.newHashMap());
     return queryResult.toList();
   }
 
diff --git a/benchmarks/src/main/java/io/druid/benchmark/query/SqlBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/query/SqlBenchmark.java
index 038c6ae0aba..014d1c87f9e 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/query/SqlBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/query/SqlBenchmark.java
@@ -31,10 +31,8 @@
 import io.druid.java.util.common.logger.Logger;
 import io.druid.query.QueryPlus;
 import io.druid.query.QueryRunnerFactoryConglomerate;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.GroupByQuery;
 import io.druid.segment.QueryableIndex;
 import io.druid.server.security.AuthTestUtils;
@@ -65,6 +63,7 @@
 
 import java.io.File;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
@@ -125,12 +124,12 @@ public void setup()
         .setDataSource("foo")
         .setInterval(Intervals.ETERNITY)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Arrays.asList(
                 new DefaultDimensionSpec("dimZipf", "d0"),
                 new DefaultDimensionSpec("dimSequential", "d1")
             )
         )
-        .setAggregatorSpecs(Arrays.<AggregatorFactory>asList(new CountAggregatorFactory("c")))
+        .setAggregatorSpecs(Collections.singletonList(new CountAggregatorFactory("c")))
         .setGranularity(Granularities.ALL)
         .build();
 
diff --git a/benchmarks/src/main/java/io/druid/benchmark/query/TimeseriesBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/query/TimeseriesBenchmark.java
index 06f61d8540e..00f82f2ecca 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/query/TimeseriesBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/query/TimeseriesBenchmark.java
@@ -327,7 +327,7 @@ private IncrementalIndex makeIncIndex()
         toolChest
     );
 
-    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap());
+    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.newHashMap());
     return queryResult.toList();
   }
 
@@ -411,7 +411,7 @@ public void queryMultiQueryableIndex(Blackhole blackhole)
 
     Sequence<Result<TimeseriesResultValue>> queryResult = theRunner.run(
         QueryPlus.wrap(query),
-        Maps.<String, Object>newHashMap()
+        Maps.newHashMap()
     );
     List<Result<TimeseriesResultValue>> results = queryResult.toList();
 
diff --git a/benchmarks/src/main/java/io/druid/benchmark/query/TopNBenchmark.java b/benchmarks/src/main/java/io/druid/benchmark/query/TopNBenchmark.java
index e13c137191c..a67ab8e55b9 100644
--- a/benchmarks/src/main/java/io/druid/benchmark/query/TopNBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/benchmark/query/TopNBenchmark.java
@@ -308,7 +308,7 @@ private IncrementalIndex makeIncIndex()
         toolChest
     );
 
-    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap());
+    Sequence<T> queryResult = theRunner.run(QueryPlus.wrap(query), Maps.newHashMap());
     return queryResult.toList();
   }
 
@@ -372,7 +372,7 @@ public void queryMultiQueryableIndex(Blackhole blackhole)
 
     Sequence<Result<TopNResultValue>> queryResult = theRunner.run(
         QueryPlus.wrap(query),
-        Maps.<String, Object>newHashMap()
+        Maps.newHashMap()
     );
     List<Result<TopNResultValue>> results = queryResult.toList();
 
diff --git a/benchmarks/src/main/java/io/druid/server/coordinator/CachingCostBalancerStrategyBenchmark.java b/benchmarks/src/main/java/io/druid/server/coordinator/CachingCostBalancerStrategyBenchmark.java
index a87eb606e8f..ea1f32e9ca4 100644
--- a/benchmarks/src/main/java/io/druid/server/coordinator/CachingCostBalancerStrategyBenchmark.java
+++ b/benchmarks/src/main/java/io/druid/server/coordinator/CachingCostBalancerStrategyBenchmark.java
@@ -112,9 +112,9 @@ private DataSegment createSegment(int shift)
         "dataSource",
         new Interval(referenceTime.plusHours(shift), referenceTime.plusHours(shift).plusHours(1)),
         "version",
-        Collections.<String, Object>emptyMap(),
-        Collections.<String>emptyList(),
-        Collections.<String>emptyList(),
+        Collections.emptyMap(),
+        Collections.emptyList(),
+        Collections.emptyList(),
         null,
         0,
         100
diff --git a/benchmarks/src/test/java/io/druid/benchmark/BenchmarkDataGeneratorTest.java b/benchmarks/src/test/java/io/druid/benchmark/BenchmarkDataGeneratorTest.java
index 315e8dbc580..a1b122f6339 100644
--- a/benchmarks/src/test/java/io/druid/benchmark/BenchmarkDataGeneratorTest.java
+++ b/benchmarks/src/test/java/io/druid/benchmark/BenchmarkDataGeneratorTest.java
@@ -61,7 +61,7 @@ public void testSequential()
             false,
             1,
             null,
-            Arrays.<Object>asList("Hello", "World", "Foo", "Bar")
+            Arrays.asList("Hello", "World", "Foo", "Bar")
         )
     );
 
@@ -111,7 +111,7 @@ public void testDiscreteUniform()
             false,
             4,
             null,
-            Arrays.<Object>asList("Hello", "World", "Foo", "Bar")
+            Arrays.asList("Hello", "World", "Foo", "Bar")
         )
     );
 
@@ -233,7 +233,7 @@ public void testZipf()
             false,
             1,
             null,
-            Arrays.<Object>asList("1-Hello", "2-World", "3-Foo", "4-Bar", "5-BA5EBA11", "6-Rocky", "7-Mango", "8-Contango"),
+            Arrays.asList("1-Hello", "2-World", "3-Foo", "4-Bar", "5-BA5EBA11", "6-Rocky", "7-Mango", "8-Contango"),
             1.0
         )
     );
@@ -262,8 +262,8 @@ public void testEnumerated()
             false,
             1,
             null,
-            Arrays.<Object>asList("Hello", "World", "Foo", "Bar"),
-            Arrays.<Double>asList(0.5, 0.25, 0.15, 0.10)
+            Arrays.asList("Hello", "World", "Foo", "Bar"),
+            Arrays.asList(0.5, 0.25, 0.15, 0.10)
         )
     );
 
@@ -374,7 +374,7 @@ public void testIntervalBasedTimeGeneration()
             false,
             1,
             null,
-            Arrays.<Object>asList("Hello", "World", "Foo", "Bar")
+            Arrays.asList("Hello", "World", "Foo", "Bar")
         )
     );
 
diff --git a/codestyle/checkstyle.xml b/codestyle/checkstyle.xml
index c756fa1b1ab..1a41308439b 100644
--- a/codestyle/checkstyle.xml
+++ b/codestyle/checkstyle.xml
@@ -171,5 +171,18 @@
       <property name="illegalPattern" value="true"/>
       <property name="message" value="Use java.lang.Primitive.BYTES instead."/>
     </module>
+
+    <!-- This regex should be replaced with an IntelliJ inspection when teamcity.jetbrains.com updates to at least IntelliJ 2018.1 (currently it uses 2017.2) -->
+    <module name="Regexp">
+      <property name="format" value='[a-z][a-zA-Z0-9_]*\.equals\((\"|[A-Z_]+\))'/>
+      <property name="illegalPattern" value="true"/>
+      <property name="message" value='Use "string".equals(javaVar) and STRING_CONSTANT.equals(javaVar) instead of javaVar.equals("string") and javaVar.equals(STRING_CONSTANT)'/>
+    </module>
+
+    <module name="Regexp">
+      <property name="format" value="toArray\([\s\n]*new [a-zA-Z0-9_]+\[[^0]"/>
+      <property name="illegalPattern" value="true"/>
+      <property name="message" value='Use toArray(new Object[0]) instead'/>
+    </module>
   </module>
 </module>
diff --git a/codestyle/druid-forbidden-apis.txt b/codestyle/druid-forbidden-apis.txt
index c50619d0cf4..7f56d9abe26 100644
--- a/codestyle/druid-forbidden-apis.txt
+++ b/codestyle/druid-forbidden-apis.txt
@@ -2,4 +2,5 @@ com.google.common.collect.MapMaker @ Create java.util.concurrent.ConcurrentHashM
 com.google.common.collect.Maps#newConcurrentMap() @ Create java.util.concurrent.ConcurrentHashMap directly
 com.google.common.util.concurrent.Futures#transform(com.google.common.util.concurrent.ListenableFuture, com.google.common.util.concurrent.AsyncFunction) @ Use io.druid.java.util.common.concurrent.ListenableFutures#transformAsync
 com.google.common.collect.Iterators#emptyIterator() @ Use java.util.Collections#emptyIterator()
-com.google.common.base.Charsets @ Use java.nio.charset.StandardCharsets instead
\ No newline at end of file
+com.google.common.base.Charsets @ Use java.nio.charset.StandardCharsets instead
+java.io.File#toURL() @ Use java.io.File#toURI() and java.net.URI#toURL() instead
\ No newline at end of file
diff --git a/common/src/test/java/io/druid/collections/CombiningIterableTest.java b/common/src/test/java/io/druid/collections/CombiningIterableTest.java
index 6bc056189ab..cca416463af 100644
--- a/common/src/test/java/io/druid/collections/CombiningIterableTest.java
+++ b/common/src/test/java/io/druid/collections/CombiningIterableTest.java
@@ -47,7 +47,7 @@ public void testCreateSplatted()
     iterators.add(secondList);
     CombiningIterable<Integer> actualIterable = CombiningIterable.createSplatted(
         iterators,
-        Ordering.<Integer>natural()
+        Ordering.natural()
     );
     Assert.assertEquals(mergedLists.size(), Iterables.size(actualIterable));
     Set actualHashset = Sets.newHashSet(actualIterable);
diff --git a/common/src/test/java/io/druid/collections/OrderedMergeIteratorTest.java b/common/src/test/java/io/druid/collections/OrderedMergeIteratorTest.java
index e6a49d83212..ba5dbb8d434 100644
--- a/common/src/test/java/io/druid/collections/OrderedMergeIteratorTest.java
+++ b/common/src/test/java/io/druid/collections/OrderedMergeIteratorTest.java
@@ -42,7 +42,7 @@ public void testSanity()
     iterators.add(Arrays.asList(4, 6, 8).iterator());
 
     OrderedMergeIterator<Integer> iter = new OrderedMergeIterator<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         iterators.iterator()
     );
 
@@ -58,7 +58,7 @@ public void testScrewsUpOnOutOfOrderBeginningOfList()
     iterators.add(Arrays.asList(2, 8).iterator());
 
     OrderedMergeIterator<Integer> iter = new OrderedMergeIterator<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         iterators.iterator()
     );
 
@@ -74,7 +74,7 @@ public void testScrewsUpOnOutOfOrderInList()
     iterators.add(Arrays.asList(4, 6).iterator());
 
     OrderedMergeIterator<Integer> iter = new OrderedMergeIterator<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         iterators.iterator()
     );
 
@@ -160,7 +160,7 @@ public Integer next()
     );
 
     OrderedMergeIterator<Integer> iter = new OrderedMergeIterator<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         iterators.iterator()
     );
 
@@ -172,7 +172,7 @@ public void testNoElementInNext()
   {
     final ArrayList<Iterator<Integer>> iterators = Lists.newArrayList();
     OrderedMergeIterator<Integer> iter = new OrderedMergeIterator<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         iterators.iterator()
     );
     iter.next();
@@ -183,7 +183,7 @@ public void testRemove()
   {
     final ArrayList<Iterator<Integer>> iterators = Lists.newArrayList();
     OrderedMergeIterator<Integer> iter = new OrderedMergeIterator<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         iterators.iterator()
     );
     iter.remove();
diff --git a/common/src/test/java/io/druid/collections/OrderedMergeSequenceTest.java b/common/src/test/java/io/druid/collections/OrderedMergeSequenceTest.java
index 803e28a43f7..da97d02ff2f 100644
--- a/common/src/test/java/io/druid/collections/OrderedMergeSequenceTest.java
+++ b/common/src/test/java/io/druid/collections/OrderedMergeSequenceTest.java
@@ -50,7 +50,7 @@ public void testSanity() throws Exception
         TestSequence.create(4, 6, 8)
     );
 
-    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
+    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.natural(), testSequences);
 
     SequenceTestHelper.testAll(seq, Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 8, 9));
 
@@ -63,12 +63,12 @@ public void testSanity() throws Exception
   public void testMergeEmptySequence() throws Exception
   {
     final ArrayList<TestSequence<Integer>> testSequences = Lists.newArrayList(
-        TestSequence.create(ImmutableList.<Integer>of()),
+        TestSequence.create(ImmutableList.of()),
         TestSequence.create(2, 8),
         TestSequence.create(4, 6, 8)
     );
 
-    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
+    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.natural(), testSequences);
 
     SequenceTestHelper.testAll(seq, Arrays.asList(2, 4, 6, 8, 8));
 
@@ -83,10 +83,10 @@ public void testMergeEmptySequenceAtEnd() throws Exception
     final ArrayList<TestSequence<Integer>> testSequences = Lists.newArrayList(
         TestSequence.create(2, 8),
         TestSequence.create(4, 6, 8),
-        TestSequence.create(ImmutableList.<Integer>of())
+        TestSequence.create(ImmutableList.of())
     );
 
-    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
+    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.natural(), testSequences);
 
     SequenceTestHelper.testAll(seq, Arrays.asList(2, 4, 6, 8, 8));
 
@@ -101,11 +101,11 @@ public void testMergeEmptySequenceMiddle() throws Exception
   {
     final ArrayList<TestSequence<Integer>> testSequences = Lists.newArrayList(
         TestSequence.create(2, 8),
-        TestSequence.create(ImmutableList.<Integer>of()),
+        TestSequence.create(ImmutableList.of()),
         TestSequence.create(4, 6, 8)
     );
 
-    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
+    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.natural(), testSequences);
 
     SequenceTestHelper.testAll(seq, Arrays.asList(2, 4, 6, 8, 8));
 
@@ -123,7 +123,7 @@ public void testScrewsUpOnOutOfOrderBeginningOfList() throws Exception
         TestSequence.create(2, 8)
     );
 
-    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
+    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.natural(), testSequences);
 
     SequenceTestHelper.testAll(seq, Arrays.asList(1, 3, 4, 2, 5, 6, 7, 8, 8, 9));
 
@@ -141,7 +141,7 @@ public void testScrewsUpOnOutOfOrderInList() throws Exception
         TestSequence.create(4, 6)
     );
 
-    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
+    OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.natural(), testSequences);
 
     SequenceTestHelper.testAll(seq, Arrays.asList(1, 2, 3, 4, 5, 4, 6, 7, 8, 9));
 
@@ -155,7 +155,7 @@ public void testLazinessAccumulation()
   {
     final ArrayList<Sequence<Integer>> sequences = makeSyncedSequences();
     OrderedMergeSequence<Integer> seq = new OrderedMergeSequence<Integer>(
-        Ordering.<Integer>natural(), Sequences.simple(sequences)
+        Ordering.natural(), Sequences.simple(sequences)
     );
     SequenceTestHelper.testAccumulation("", seq, Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9));
   }
@@ -165,7 +165,7 @@ public void testLazinessYielder() throws Exception
   {
     final ArrayList<Sequence<Integer>> sequences = makeSyncedSequences();
     OrderedMergeSequence<Integer> seq = new OrderedMergeSequence<Integer>(
-        Ordering.<Integer>natural(), Sequences.simple(sequences)
+        Ordering.natural(), Sequences.simple(sequences)
     );
     SequenceTestHelper.testYield("", seq, Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9));
   }
@@ -300,21 +300,21 @@ public void cleanup(Iterator<Integer> iterFromMake)
   public void testHierarchicalMerge() throws Exception
   {
     final Sequence<Integer> seq1 = makeUnorderedMergedSequence(
-        Ordering.<Integer>natural(), Lists.newArrayList(
+        Ordering.natural(), Lists.newArrayList(
         TestSequence.create(1)
     )
     );
 
 
     final Sequence<Integer> seq2 = makeUnorderedMergedSequence(
-        Ordering.<Integer>natural(), Lists.newArrayList(
+        Ordering.natural(), Lists.newArrayList(
         TestSequence.create(1)
     )
     );
     final OrderedMergeSequence<Integer> finalMerged = new OrderedMergeSequence<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         Sequences.simple(
-            Lists.<Sequence<Integer>>newArrayList(seq1, seq2)
+            Lists.newArrayList(seq1, seq2)
         )
     );
 
@@ -325,15 +325,15 @@ public void testHierarchicalMerge() throws Exception
   public void testMergeMerge() throws Exception
   {
     final Sequence<Integer> seq1 = makeUnorderedMergedSequence(
-        Ordering.<Integer>natural(), Lists.newArrayList(
+        Ordering.natural(), Lists.newArrayList(
             TestSequence.create(1)
         )
     );
 
     final OrderedMergeSequence<Integer> finalMerged = new OrderedMergeSequence<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         Sequences.simple(
-            Lists.<Sequence<Integer>>newArrayList(seq1)
+            Lists.newArrayList(seq1)
         )
     );
 
@@ -344,7 +344,7 @@ public void testMergeMerge() throws Exception
   public void testOne() throws Exception
   {
     final MergeSequence<Integer> seq1 = makeUnorderedMergedSequence(
-        Ordering.<Integer>natural(), Lists.newArrayList(
+        Ordering.natural(), Lists.newArrayList(
             TestSequence.create(1)
         )
     );
diff --git a/common/src/test/java/io/druid/common/guava/CombiningSequenceTest.java b/common/src/test/java/io/druid/common/guava/CombiningSequenceTest.java
index 19486d990c5..46c2ff29a70 100644
--- a/common/src/test/java/io/druid/common/guava/CombiningSequenceTest.java
+++ b/common/src/test/java/io/druid/common/guava/CombiningSequenceTest.java
@@ -191,7 +191,7 @@ public void testMergeSomeThingsMergedAtEnd() throws Exception
   @Test
   public void testNothing() throws Exception
   {
-    testCombining(Arrays.<Pair<Integer, Integer>>asList(), Arrays.<Pair<Integer, Integer>>asList());
+    testCombining(Collections.emptyList(), Collections.emptyList());
   }
 
   private void testCombining(List<Pair<Integer, Integer>> pairs, List<Pair<Integer, Integer>> expected)
diff --git a/common/src/test/java/io/druid/timeline/VersionedIntervalTimelineTest.java b/common/src/test/java/io/druid/timeline/VersionedIntervalTimelineTest.java
index 0c5003242fc..650225da39d 100644
--- a/common/src/test/java/io/druid/timeline/VersionedIntervalTimelineTest.java
+++ b/common/src/test/java/io/druid/timeline/VersionedIntervalTimelineTest.java
@@ -292,7 +292,7 @@ public void testPartitioning()
             createExpected("2011-10-01/2011-10-02", "1", 1),
             createExpected(
                 "2011-10-02/2011-10-03", "3",
-                Arrays.<PartitionChunk<Integer>>asList(
+                Arrays.asList(
                     IntegerPartitionChunk.make(null, 10, 0, 20),
                     IntegerPartitionChunk.make(10, null, 1, 21)
                 )
@@ -330,7 +330,7 @@ public void testPartialPartitionNotReturned()
             createExpected("2011-10-05/2011-10-06", "5", 5),
             createExpected(
                 "2011-10-06/2011-10-07", "6",
-                Arrays.<PartitionChunk<Integer>>asList(
+                Arrays.asList(
                     IntegerPartitionChunk.make(null, 10, 0, 60),
                     IntegerPartitionChunk.make(10, 20, 1, 61),
                     IntegerPartitionChunk.make(20, null, 2, 62)
@@ -1378,7 +1378,7 @@ public void testOvershadowingHigherVersionNeverOvershadowedByLower1()
     add("2011-04-06/2011-04-09", "2", 4);
 
     assertValues(
-        ImmutableSet.<Pair<Interval, Pair<String, PartitionHolder<Integer>>>>of(),
+        ImmutableSet.of(),
         timeline.findOvershadowed()
     );
   }
@@ -1393,7 +1393,7 @@ public void testOvershadowingHigherVersionNeverOvershadowedByLower2()
     add("2011-04-06/2011-04-09", "2", 4);
 
     assertValues(
-        ImmutableSet.<Pair<Interval, Pair<String, PartitionHolder<Integer>>>>of(),
+        ImmutableSet.of(),
         timeline.findOvershadowed()
     );
   }
@@ -1408,7 +1408,7 @@ public void testOvershadowingHigherVersionNeverOvershadowedByLower3()
     add("2011-04-03/2011-04-06", "2", 3);
 
     assertValues(
-        ImmutableSet.<Pair<Interval, Pair<String, PartitionHolder<Integer>>>>of(),
+        ImmutableSet.of(),
         timeline.findOvershadowed()
     );
   }
@@ -1511,7 +1511,7 @@ public void testRemoveIncompleteKeepsComplete()
     assertValues(
         ImmutableList.of(
             createExpected("2011-04-01/2011-04-02", "1",
-                           Arrays.<PartitionChunk<Integer>>asList(
+                           Arrays.asList(
                                IntegerPartitionChunk.make(null, 1, 0, 77),
                                IntegerPartitionChunk.make(1, null, 1, 88)
                            )
@@ -1525,7 +1525,7 @@ public void testRemoveIncompleteKeepsComplete()
     assertValues(
         ImmutableList.of(
             createExpected("2011-04-01/2011-04-02", "1",
-                           Arrays.<PartitionChunk<Integer>>asList(
+                           Arrays.asList(
                                IntegerPartitionChunk.make(null, 1, 0, 77),
                                IntegerPartitionChunk.make(1, null, 1, 88)
                            )
@@ -1536,9 +1536,9 @@ public void testRemoveIncompleteKeepsComplete()
     assertValues(
         Sets.newHashSet(
             createExpected("2011-04-01/2011-04-02", "2",
-                           Arrays.<PartitionChunk<Integer>>asList(
-                               IntegerPartitionChunk.make(null, 1, 0, 99)
-                           )
+                Collections.singletonList(
+                    IntegerPartitionChunk.make(null, 1, 0, 99)
+                )
             )
         ),
         timeline.findOvershadowed()
@@ -1549,7 +1549,7 @@ public void testRemoveIncompleteKeepsComplete()
     assertValues(
         ImmutableList.of(
             createExpected("2011-04-01/2011-04-02", "1",
-                           Arrays.<PartitionChunk<Integer>>asList(
+                           Arrays.asList(
                                IntegerPartitionChunk.make(null, 1, 0, 77),
                                IntegerPartitionChunk.make(1, null, 1, 88)
                            )
@@ -1718,7 +1718,7 @@ public void testIsOvershadowedWithOverlappingSegmentsInTimeline()
     return createExpected(
         intervalString,
         version,
-        Arrays.<PartitionChunk<Integer>>asList(makeSingle(value))
+        Collections.singletonList(makeSingle(value))
     );
   }
 
@@ -1808,7 +1808,7 @@ private void assertValues(
 
   private VersionedIntervalTimeline<String, Integer> makeStringIntegerTimeline()
   {
-    return new VersionedIntervalTimeline<String, Integer>(Ordering.<String>natural());
+    return new VersionedIntervalTimeline<String, Integer>(Ordering.natural());
   }
 
 }
diff --git a/examples/src/main/java/io/druid/examples/ExamplesDruidModule.java b/examples/src/main/java/io/druid/examples/ExamplesDruidModule.java
index 5eedfbd4f91..ae53687fc01 100644
--- a/examples/src/main/java/io/druid/examples/ExamplesDruidModule.java
+++ b/examples/src/main/java/io/druid/examples/ExamplesDruidModule.java
@@ -26,7 +26,7 @@
 import io.druid.examples.twitter.TwitterSpritzerFirehoseFactory;
 import io.druid.initialization.DruidModule;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -36,7 +36,7 @@
   @Override
   public List<? extends Module> getJacksonModules()
   {
-    return Arrays.<Module>asList(
+    return Collections.<Module>singletonList(
         new SimpleModule("ExamplesModule")
             .registerSubtypes(
                 new NamedType(TwitterSpritzerFirehoseFactory.class, "twitzer")
diff --git a/extendedset/src/main/java/io/druid/extendedset/intset/ImmutableConciseSet.java b/extendedset/src/main/java/io/druid/extendedset/intset/ImmutableConciseSet.java
index 6e989298eae..f4e5a072943 100755
--- a/extendedset/src/main/java/io/druid/extendedset/intset/ImmutableConciseSet.java
+++ b/extendedset/src/main/java/io/druid/extendedset/intset/ImmutableConciseSet.java
@@ -147,7 +147,7 @@ public static ImmutableConciseSet union(Iterator<ImmutableConciseSet> sets)
     ImmutableConciseSet partialResults = doUnion(Iterators.limit(sets, CHUNK_SIZE));
     while (sets.hasNext()) {
       final UnmodifiableIterator<ImmutableConciseSet> partialIter = Iterators.singletonIterator(partialResults);
-      partialResults = doUnion(Iterators.<ImmutableConciseSet>concat(partialIter, Iterators.limit(sets, CHUNK_SIZE)));
+      partialResults = doUnion(Iterators.concat(partialIter, Iterators.limit(sets, CHUNK_SIZE)));
     }
     return partialResults;
   }
@@ -168,7 +168,7 @@ public static ImmutableConciseSet intersection(Iterator<ImmutableConciseSet> set
     while (sets.hasNext()) {
       final UnmodifiableIterator<ImmutableConciseSet> partialIter = Iterators.singletonIterator(partialResults);
       partialResults = doIntersection(
-          Iterators.<ImmutableConciseSet>concat(Iterators.limit(sets, CHUNK_SIZE), partialIter)
+          Iterators.concat(Iterators.limit(sets, CHUNK_SIZE), partialIter)
       );
     }
     return partialResults;
diff --git a/extensions-contrib/ambari-metrics-emitter/src/main/java/io/druid/emitter/ambari/metrics/AmbariMetricsEmitter.java b/extensions-contrib/ambari-metrics-emitter/src/main/java/io/druid/emitter/ambari/metrics/AmbariMetricsEmitter.java
index a5af4f42808..16b2aa080cf 100644
--- a/extensions-contrib/ambari-metrics-emitter/src/main/java/io/druid/emitter/ambari/metrics/AmbariMetricsEmitter.java
+++ b/extensions-contrib/ambari-metrics-emitter/src/main/java/io/druid/emitter/ambari/metrics/AmbariMetricsEmitter.java
@@ -85,7 +85,7 @@ public void start()
     synchronized (started) {
       log.info("Starting Ambari Metrics Emitter.");
       if (!started.get()) {
-        if (config.getProtocol().equals("https")) {
+        if ("https".equals(config.getProtocol())) {
           loadTruststore(config.getTrustStorePath(), config.getTrustStoreType(), config.getTrustStorePassword());
         }
         exec.scheduleAtFixedRate(
diff --git a/extensions-contrib/ambari-metrics-emitter/src/main/java/io/druid/emitter/ambari/metrics/AmbariMetricsEmitterConfig.java b/extensions-contrib/ambari-metrics-emitter/src/main/java/io/druid/emitter/ambari/metrics/AmbariMetricsEmitterConfig.java
index c0ac3b209b0..a7df750cbf2 100644
--- a/extensions-contrib/ambari-metrics-emitter/src/main/java/io/druid/emitter/ambari/metrics/AmbariMetricsEmitterConfig.java
+++ b/extensions-contrib/ambari-metrics-emitter/src/main/java/io/druid/emitter/ambari/metrics/AmbariMetricsEmitterConfig.java
@@ -104,7 +104,7 @@ public AmbariMetricsEmitterConfig(
         druidToTimelineEventConverter,
         "Event converter can not be null"
     );
-    this.alertEmitters = alertEmitters == null ? Collections.<String>emptyList() : alertEmitters;
+    this.alertEmitters = alertEmitters == null ? Collections.emptyList() : alertEmitters;
     this.emitWaitTime = emitWaitTime == null ? 0 : emitWaitTime;
     this.waitForEventTime = waitForEventTime == null ? DEFAULT_GET_TIMEOUT : waitForEventTime;
   }
diff --git a/extensions-contrib/ambari-metrics-emitter/src/test/java/io/druid/emitter/ambari/metrics/WhiteListBasedDruidToTimelineEventConverterTest.java b/extensions-contrib/ambari-metrics-emitter/src/test/java/io/druid/emitter/ambari/metrics/WhiteListBasedDruidToTimelineEventConverterTest.java
index cf4f26de0f3..9cf39c9e0c8 100644
--- a/extensions-contrib/ambari-metrics-emitter/src/test/java/io/druid/emitter/ambari/metrics/WhiteListBasedDruidToTimelineEventConverterTest.java
+++ b/extensions-contrib/ambari-metrics-emitter/src/test/java/io/druid/emitter/ambari/metrics/WhiteListBasedDruidToTimelineEventConverterTest.java
@@ -60,7 +60,7 @@ public void setUp()
     EasyMock.expect(event.getHost()).andReturn(hostname).anyTimes();
     EasyMock.expect(event.getService()).andReturn(serviceName).anyTimes();
     EasyMock.expect(event.getCreatedTime()).andReturn(createdTime).anyTimes();
-    EasyMock.expect(event.getUserDims()).andReturn(Maps.<String, Object>newHashMap()).anyTimes();
+    EasyMock.expect(event.getUserDims()).andReturn(Maps.newHashMap()).anyTimes();
     EasyMock.expect(event.getValue()).andReturn(10).anyTimes();
     EasyMock.expect(event.getFeed()).andReturn("metrics").anyTimes();
   }
diff --git a/extensions-contrib/azure-extensions/src/main/java/io/druid/storage/azure/AzureDataSegmentPusher.java b/extensions-contrib/azure-extensions/src/main/java/io/druid/storage/azure/AzureDataSegmentPusher.java
index 68f9e982827..969e2678817 100644
--- a/extensions-contrib/azure-extensions/src/main/java/io/druid/storage/azure/AzureDataSegmentPusher.java
+++ b/extensions-contrib/azure-extensions/src/main/java/io/druid/storage/azure/AzureDataSegmentPusher.java
@@ -202,7 +202,7 @@ public DataSegment push(final File indexFilesDir, final DataSegment segment, fin
   @Override
   public Map<String, Object> makeLoadSpec(URI uri)
   {
-    return ImmutableMap.<String, Object>of(
+    return ImmutableMap.of(
         "type",
         AzureStorageDruidModule.SCHEME,
         "containerName",
diff --git a/extensions-contrib/azure-extensions/src/main/java/io/druid/storage/azure/AzureTaskLogs.java b/extensions-contrib/azure-extensions/src/main/java/io/druid/storage/azure/AzureTaskLogs.java
index 3db2aaa38d4..ba813277dc8 100644
--- a/extensions-contrib/azure-extensions/src/main/java/io/druid/storage/azure/AzureTaskLogs.java
+++ b/extensions-contrib/azure-extensions/src/main/java/io/druid/storage/azure/AzureTaskLogs.java
@@ -102,7 +102,7 @@ private void pushTaskFile(final String taskId, final File logFile, String taskKe
         return Optional.absent();
       }
 
-      return Optional.<ByteSource>of(
+      return Optional.of(
           new ByteSource()
           {
             @Override
diff --git a/extensions-contrib/azure-extensions/src/test/java/io/druid/storage/azure/AzureDataSegmentKillerTest.java b/extensions-contrib/azure-extensions/src/test/java/io/druid/storage/azure/AzureDataSegmentKillerTest.java
index b774b3e6abc..ffce597602c 100644
--- a/extensions-contrib/azure-extensions/src/test/java/io/druid/storage/azure/AzureDataSegmentKillerTest.java
+++ b/extensions-contrib/azure-extensions/src/test/java/io/druid/storage/azure/AzureDataSegmentKillerTest.java
@@ -46,7 +46,7 @@
       "test",
       Intervals.of("2015-04-12/2015-04-13"),
       "1",
-      ImmutableMap.<String, Object>of("containerName", containerName, "blobPath", blobPath),
+      ImmutableMap.of("containerName", containerName, "blobPath", blobPath),
       null,
       null,
       NoneShardSpec.instance(),
diff --git a/extensions-contrib/azure-extensions/src/test/java/io/druid/storage/azure/AzureDataSegmentPusherTest.java b/extensions-contrib/azure-extensions/src/test/java/io/druid/storage/azure/AzureDataSegmentPusherTest.java
index bbd18e5fedb..ad7c4328292 100644
--- a/extensions-contrib/azure-extensions/src/test/java/io/druid/storage/azure/AzureDataSegmentPusherTest.java
+++ b/extensions-contrib/azure-extensions/src/test/java/io/druid/storage/azure/AzureDataSegmentPusherTest.java
@@ -57,7 +57,7 @@
       "test",
       Intervals.of("2015-04-12/2015-04-13"),
       "1",
-      ImmutableMap.<String, Object>of("containerName", containerName, "blobPath", blobPath),
+      ImmutableMap.of("containerName", containerName, "blobPath", blobPath),
       null,
       null,
       NoneShardSpec.instance(),
@@ -107,9 +107,9 @@ private void testPushInternal(boolean useUniquePath, String matcher) throws Exce
         "foo",
         Intervals.of("2015/2016"),
         "0",
-        Maps.<String, Object>newHashMap(),
-        Lists.<String>newArrayList(),
-        Lists.<String>newArrayList(),
+        Maps.newHashMap(),
+        Lists.newArrayList(),
+        Lists.newArrayList(),
         NoneShardSpec.instance(),
         0,
         size
diff --git a/extensions-contrib/cassandra-storage/src/main/java/io/druid/storage/cassandra/CassandraDataSegmentPuller.java b/extensions-contrib/cassandra-storage/src/main/java/io/druid/storage/cassandra/CassandraDataSegmentPuller.java
index 311758d7c3c..199dc6871ca 100644
--- a/extensions-contrib/cassandra-storage/src/main/java/io/druid/storage/cassandra/CassandraDataSegmentPuller.java
+++ b/extensions-contrib/cassandra-storage/src/main/java/io/druid/storage/cassandra/CassandraDataSegmentPuller.java
@@ -75,7 +75,7 @@ public CassandraDataSegmentPuller(CassandraDataSegmentConfig config)
             }
             return new FileUtils.FileCopyResult(tmpFile);
           },
-          Predicates.<Throwable>alwaysTrue(),
+          Predicates.alwaysTrue(),
           10
       );
     }
diff --git a/extensions-contrib/cassandra-storage/src/main/java/io/druid/storage/cassandra/CassandraDataSegmentPusher.java b/extensions-contrib/cassandra-storage/src/main/java/io/druid/storage/cassandra/CassandraDataSegmentPusher.java
index c98631d365a..023016183ef 100644
--- a/extensions-contrib/cassandra-storage/src/main/java/io/druid/storage/cassandra/CassandraDataSegmentPusher.java
+++ b/extensions-contrib/cassandra-storage/src/main/java/io/druid/storage/cassandra/CassandraDataSegmentPusher.java
@@ -107,7 +107,7 @@ public DataSegment push(final File indexFilesDir, DataSegment segment, final boo
     }
 
     segment = segment.withSize(indexSize)
-                     .withLoadSpec(ImmutableMap.<String, Object>of("type", "c*", "key", key))
+                     .withLoadSpec(ImmutableMap.of("type", "c*", "key", key))
                      .withBinaryVersion(version);
 
     log.info("Deleting zipped index File[%s]", compressedIndexFile);
diff --git a/extensions-contrib/cloudfiles-extensions/src/main/java/io/druid/storage/cloudfiles/CloudFilesDataSegmentPusher.java b/extensions-contrib/cloudfiles-extensions/src/main/java/io/druid/storage/cloudfiles/CloudFilesDataSegmentPusher.java
index 2d9b5f2828e..99052025edf 100644
--- a/extensions-contrib/cloudfiles-extensions/src/main/java/io/druid/storage/cloudfiles/CloudFilesDataSegmentPusher.java
+++ b/extensions-contrib/cloudfiles-extensions/src/main/java/io/druid/storage/cloudfiles/CloudFilesDataSegmentPusher.java
@@ -138,7 +138,7 @@ public DataSegment push(final File indexFilesDir, final DataSegment inSegment, f
   @Override
   public Map<String, Object> makeLoadSpec(URI uri)
   {
-    return ImmutableMap.<String, Object>of(
+    return ImmutableMap.of(
         "type",
         CloudFilesStorageDruidModule.SCHEME,
         "region",
diff --git a/extensions-contrib/cloudfiles-extensions/src/main/java/io/druid/storage/cloudfiles/CloudFilesStorageDruidModule.java b/extensions-contrib/cloudfiles-extensions/src/main/java/io/druid/storage/cloudfiles/CloudFilesStorageDruidModule.java
index 9e38a3ff85d..24ba06797b6 100644
--- a/extensions-contrib/cloudfiles-extensions/src/main/java/io/druid/storage/cloudfiles/CloudFilesStorageDruidModule.java
+++ b/extensions-contrib/cloudfiles-extensions/src/main/java/io/druid/storage/cloudfiles/CloudFilesStorageDruidModule.java
@@ -99,10 +99,10 @@ public CloudFilesApi getCloudFilesApi(final CloudFilesAccountConfig config)
     Iterable<com.google.inject.Module> modules = null;
     if (config.getUseServiceNet()) {
       log.info("Configuring Cloud Files Api to use the internal service network...");
-      modules = ImmutableSet.<com.google.inject.Module>of(new SLF4JLoggingModule(), new InternalUrlModule());
+      modules = ImmutableSet.of(new SLF4JLoggingModule(), new InternalUrlModule());
     } else {
       log.info("Configuring Cloud Files Api to use the public network...");
-      modules = ImmutableSet.<com.google.inject.Module>of(new SLF4JLoggingModule());
+      modules = ImmutableSet.of(new SLF4JLoggingModule());
     }
 
     ProviderRegistry.registerProvider(CloudFilesUSProviderMetadata.builder().build());
diff --git a/extensions-contrib/cloudfiles-extensions/src/test/java/io/druid/storage/cloudfiles/CloudFilesDataSegmentPusherTest.java b/extensions-contrib/cloudfiles-extensions/src/test/java/io/druid/storage/cloudfiles/CloudFilesDataSegmentPusherTest.java
index dec4b41f912..3558d0f4104 100644
--- a/extensions-contrib/cloudfiles-extensions/src/test/java/io/druid/storage/cloudfiles/CloudFilesDataSegmentPusherTest.java
+++ b/extensions-contrib/cloudfiles-extensions/src/test/java/io/druid/storage/cloudfiles/CloudFilesDataSegmentPusherTest.java
@@ -27,7 +27,6 @@
 import io.druid.timeline.DataSegment;
 import io.druid.timeline.partition.NoneShardSpec;
 import org.easymock.EasyMock;
-import org.jclouds.io.Payload;
 import org.jclouds.openstack.swift.v1.features.ObjectApi;
 import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.junit.Assert;
@@ -48,7 +47,7 @@
   public void testPush() throws Exception
   {
     ObjectApi objectApi = EasyMock.createStrictMock(ObjectApi.class);
-    EasyMock.expect(objectApi.put(EasyMock.anyString(), EasyMock.<Payload>anyObject())).andReturn(null).atLeastOnce();
+    EasyMock.expect(objectApi.put(EasyMock.anyString(), EasyMock.anyObject())).andReturn(null).atLeastOnce();
     EasyMock.replay(objectApi);
 
     CloudFilesApi api = EasyMock.createStrictMock(CloudFilesApi.class);
@@ -76,9 +75,9 @@ public void testPush() throws Exception
         "foo",
         Intervals.of("2015/2016"),
         "0",
-        Maps.<String, Object>newHashMap(),
-        Lists.<String>newArrayList(),
-        Lists.<String>newArrayList(),
+        Maps.newHashMap(),
+        Lists.newArrayList(),
+        Lists.newArrayList(),
         NoneShardSpec.instance(),
         0,
         size
diff --git a/extensions-contrib/distinctcount/src/main/java/io/druid/query/aggregation/distinctcount/DistinctCountAggregatorFactory.java b/extensions-contrib/distinctcount/src/main/java/io/druid/query/aggregation/distinctcount/DistinctCountAggregatorFactory.java
index 23c9e56c72e..c63898740a2 100644
--- a/extensions-contrib/distinctcount/src/main/java/io/druid/query/aggregation/distinctcount/DistinctCountAggregatorFactory.java
+++ b/extensions-contrib/distinctcount/src/main/java/io/druid/query/aggregation/distinctcount/DistinctCountAggregatorFactory.java
@@ -36,7 +36,6 @@
 import io.druid.segment.DimensionSelector;
 
 import java.nio.ByteBuffer;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
@@ -137,7 +136,9 @@ public AggregatorFactory getCombiningFactory()
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new DistinctCountAggregatorFactory(fieldName, fieldName, bitMapFactory));
+    return Collections.singletonList(
+        new DistinctCountAggregatorFactory(fieldName, fieldName, bitMapFactory)
+    );
   }
 
   @Override
diff --git a/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountGroupByQueryTest.java b/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountGroupByQueryTest.java
index 7a12d2ed872..c18e14dcd1d 100644
--- a/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountGroupByQueryTest.java
+++ b/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountGroupByQueryTest.java
@@ -27,7 +27,6 @@
 import io.druid.query.QueryRunnerTestHelper;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.GroupByQuery;
 import io.druid.query.groupby.GroupByQueryConfig;
 import io.druid.query.groupby.GroupByQueryRunnerFactory;
@@ -43,6 +42,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 public class DistinctCountGroupByQueryTest
@@ -73,21 +73,21 @@ public void testGroupByWithDistinctCountAgg() throws Exception
         new MapBasedInputRow(
             timestamp,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "0", client_type, "iphone")
+            ImmutableMap.of(visitor_id, "0", client_type, "iphone")
         )
     );
     index.add(
         new MapBasedInputRow(
             timestamp + 1,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "1", client_type, "iphone")
+            ImmutableMap.of(visitor_id, "1", client_type, "iphone")
         )
     );
     index.add(
         new MapBasedInputRow(
             timestamp + 2,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "2", client_type, "android")
+            ImmutableMap.of(visitor_id, "2", client_type, "android")
         )
     );
 
@@ -95,7 +95,7 @@ public void testGroupByWithDistinctCountAgg() throws Exception
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     client_type,
                     client_type
diff --git a/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountTimeseriesQueryTest.java b/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountTimeseriesQueryTest.java
index 65da665972c..2126191cdef 100644
--- a/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountTimeseriesQueryTest.java
+++ b/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountTimeseriesQueryTest.java
@@ -67,21 +67,21 @@ public void testTopNWithDistinctCountAgg() throws Exception
         new MapBasedInputRow(
             timestamp,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "0", client_type, "iphone")
+            ImmutableMap.of(visitor_id, "0", client_type, "iphone")
         )
     );
     index.add(
         new MapBasedInputRow(
             timestamp,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "1", client_type, "iphone")
+            ImmutableMap.of(visitor_id, "1", client_type, "iphone")
         )
     );
     index.add(
         new MapBasedInputRow(
             timestamp,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "2", client_type, "android")
+            ImmutableMap.of(visitor_id, "2", client_type, "android")
         )
     );
 
@@ -104,7 +104,7 @@ public void testTopNWithDistinctCountAgg() throws Exception
         new Result<>(
             time,
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("UV", 3, "rows", 3L)
+                ImmutableMap.of("UV", 3, "rows", 3L)
             )
         )
     );
diff --git a/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountTopNQueryTest.java b/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountTopNQueryTest.java
index c822b14806a..1669aee21b9 100644
--- a/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountTopNQueryTest.java
+++ b/extensions-contrib/distinctcount/src/test/java/io/druid/query/aggregation/distinctcount/DistinctCountTopNQueryTest.java
@@ -84,21 +84,21 @@ public ByteBuffer get()
         new MapBasedInputRow(
             timestamp,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "0", client_type, "iphone")
+            ImmutableMap.of(visitor_id, "0", client_type, "iphone")
         )
     );
     index.add(
         new MapBasedInputRow(
             timestamp,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "1", client_type, "iphone")
+            ImmutableMap.of(visitor_id, "1", client_type, "iphone")
         )
     );
     index.add(
         new MapBasedInputRow(
             timestamp,
             Lists.newArrayList(visitor_id, client_type),
-            ImmutableMap.<String, Object>of(visitor_id, "2", client_type, "android")
+            ImmutableMap.of(visitor_id, "2", client_type, "android")
         )
     );
 
@@ -124,12 +124,12 @@ public ByteBuffer get()
             time,
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         client_type, "iphone",
                         "UV", 2L,
                         "rows", 2L
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         client_type, "android",
                         "UV", 1L,
                         "rows", 1L
diff --git a/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleDataSegmentFinder.java b/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleDataSegmentFinder.java
index 9e372fb34d7..f3a60ed75f5 100644
--- a/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleDataSegmentFinder.java
+++ b/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleDataSegmentFinder.java
@@ -74,7 +74,7 @@ public GoogleDataSegmentFinder(
         List<StorageObject> items = objects.getItems();
         if (items != null) {
           for (StorageObject item : items) {
-            if (GoogleUtils.toFilename(item.getName()).equals("descriptor.json")) {
+            if ("descriptor.json".equals(GoogleUtils.toFilename(item.getName()))) {
               final String descriptorJson = item.getName();
               final String indexZip = GoogleUtils.indexZipForSegmentPath(descriptorJson);
 
diff --git a/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleDataSegmentPusher.java b/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleDataSegmentPusher.java
index 58b400e34d5..0e739f568dc 100644
--- a/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleDataSegmentPusher.java
+++ b/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleDataSegmentPusher.java
@@ -181,7 +181,7 @@ String buildPath(final String path)
 
   private Map<String, Object> makeLoadSpec(String bucket, String path)
   {
-    return ImmutableMap.<String, Object>of(
+    return ImmutableMap.of(
         "type", GoogleStorageDruidModule.SCHEME,
         "bucket", bucket,
         "path", path
diff --git a/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleTaskLogs.java b/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleTaskLogs.java
index d8fe241d656..ecfebbbe582 100644
--- a/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleTaskLogs.java
+++ b/extensions-contrib/google-extensions/src/main/java/io/druid/storage/google/GoogleTaskLogs.java
@@ -95,7 +95,7 @@ private void pushTaskFile(final String taskid, final File logFile, final String
 
       final long length = storage.size(config.getBucket(), taskKey);
 
-      return Optional.<ByteSource>of(
+      return Optional.of(
           new ByteSource()
           {
             @Override
diff --git a/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentFinderTest.java b/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentFinderTest.java
index 2a4c21ee86c..d0f7e3dbd33 100644
--- a/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentFinderTest.java
+++ b/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentFinderTest.java
@@ -61,7 +61,7 @@
       .interval(Intervals.of("2013-08-31T00:00:00.000Z/2013-09-01T00:00:00.000Z"))
       .version("2015-10-21T22:07:57.074Z")
       .loadSpec(
-          ImmutableMap.<String, Object>of(
+          ImmutableMap.of(
               "type",
               GoogleStorageDruidModule.SCHEME,
               "bucket",
diff --git a/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentKillerTest.java b/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentKillerTest.java
index 7408c910ad6..b28e50cf86a 100644
--- a/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentKillerTest.java
+++ b/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentKillerTest.java
@@ -46,7 +46,7 @@
       "test",
       Intervals.of("2015-04-12/2015-04-13"),
       "1",
-      ImmutableMap.<String, Object>of("bucket", bucket, "path", indexPath),
+      ImmutableMap.of("bucket", bucket, "path", indexPath),
       null,
       null,
       NoneShardSpec.instance(),
diff --git a/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentPusherTest.java b/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentPusherTest.java
index 9ff23c3f49f..331df7387a7 100644
--- a/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentPusherTest.java
+++ b/extensions-contrib/google-extensions/src/test/java/io/druid/storage/google/GoogleDataSegmentPusherTest.java
@@ -79,8 +79,8 @@ public void testPush() throws Exception
         Intervals.of("2015/2016"),
         "0",
         Maps.newHashMap(),
-        Lists.<String>newArrayList(),
-        Lists.<String>newArrayList(),
+        Lists.newArrayList(),
+        Lists.newArrayList(),
         new NoneShardSpec(),
         0,
         size
diff --git a/extensions-contrib/graphite-emitter/src/main/java/io/druid/emitter/graphite/GraphiteEmitterConfig.java b/extensions-contrib/graphite-emitter/src/main/java/io/druid/emitter/graphite/GraphiteEmitterConfig.java
index 38b71dc1edb..8013027d809 100644
--- a/extensions-contrib/graphite-emitter/src/main/java/io/druid/emitter/graphite/GraphiteEmitterConfig.java
+++ b/extensions-contrib/graphite-emitter/src/main/java/io/druid/emitter/graphite/GraphiteEmitterConfig.java
@@ -144,8 +144,8 @@ public GraphiteEmitterConfig(
   {
     this.waitForEventTime = waitForEventTime == null ? DEFAULT_GET_TIMEOUT : waitForEventTime;
     this.emitWaitTime = emitWaitTime == null ? 0 : emitWaitTime;
-    this.alertEmitters = alertEmitters == null ? Collections.<String>emptyList() : alertEmitters;
-    this.requestLogEmitters = requestLogEmitters == null ? Collections.<String>emptyList() : requestLogEmitters;
+    this.alertEmitters = alertEmitters == null ? Collections.emptyList() : alertEmitters;
+    this.requestLogEmitters = requestLogEmitters == null ? Collections.emptyList() : requestLogEmitters;
     this.druidToGraphiteEventConverter = Preconditions.checkNotNull(
         druidToGraphiteEventConverter,
         "Event converter can not ne null dude"
diff --git a/extensions-contrib/graphite-emitter/src/test/java/io/druid/emitter/graphite/WhiteListBasedConverterTest.java b/extensions-contrib/graphite-emitter/src/test/java/io/druid/emitter/graphite/WhiteListBasedConverterTest.java
index 5f9ead1ba34..6fe27d93eb5 100644
--- a/extensions-contrib/graphite-emitter/src/test/java/io/druid/emitter/graphite/WhiteListBasedConverterTest.java
+++ b/extensions-contrib/graphite-emitter/src/test/java/io/druid/emitter/graphite/WhiteListBasedConverterTest.java
@@ -65,7 +65,7 @@ public void setUp()
     EasyMock.expect(event.getHost()).andReturn(hostname).anyTimes();
     EasyMock.expect(event.getService()).andReturn(serviceName).anyTimes();
     EasyMock.expect(event.getCreatedTime()).andReturn(createdTime).anyTimes();
-    EasyMock.expect(event.getUserDims()).andReturn(Maps.<String, Object>newHashMap()).anyTimes();
+    EasyMock.expect(event.getUserDims()).andReturn(Maps.newHashMap()).anyTimes();
     EasyMock.expect(event.getValue()).andReturn(10).anyTimes();
   }
 
diff --git a/extensions-contrib/materialized-view-maintenance/src/test/java/io/druid/indexing/materializedview/MaterializedViewSupervisorTest.java b/extensions-contrib/materialized-view-maintenance/src/test/java/io/druid/indexing/materializedview/MaterializedViewSupervisorTest.java
index c6563f12b7f..ef4e8811c13 100644
--- a/extensions-contrib/materialized-view-maintenance/src/test/java/io/druid/indexing/materializedview/MaterializedViewSupervisorTest.java
+++ b/extensions-contrib/materialized-view-maintenance/src/test/java/io/druid/indexing/materializedview/MaterializedViewSupervisorTest.java
@@ -30,11 +30,9 @@
 import io.druid.data.input.impl.DimensionsSpec;
 import io.druid.data.input.impl.StringDimensionSchema;
 import io.druid.indexer.HadoopTuningConfig;
-import io.druid.indexing.common.task.Task;
 import io.druid.indexing.overlord.IndexerMetadataStorageCoordinator;
 import io.druid.indexing.overlord.TaskMaster;
 import io.druid.indexing.overlord.TaskQueue;
-import io.druid.indexing.overlord.TaskRunner;
 import io.druid.indexing.overlord.TaskStorage;
 import io.druid.java.util.common.Intervals;
 import io.druid.java.util.common.Pair;
@@ -132,7 +130,7 @@ public void testCheckSegments() throws IOException
             "base",
             Intervals.of("2015-01-01T00Z/2015-01-02T00Z"),
             "2015-01-02",
-            ImmutableMap.<String, Object>of(),
+            ImmutableMap.of(),
             ImmutableList.of("dim1", "dim2"),
             ImmutableList.of("m1"),
             new HashBasedNumberedShardSpec(0, 1, null, null),
@@ -143,7 +141,7 @@ public void testCheckSegments() throws IOException
             "base",
             Intervals.of("2015-01-02T00Z/2015-01-03T00Z"),
             "2015-01-03",
-            ImmutableMap.<String, Object>of(),
+            ImmutableMap.of(),
             ImmutableList.of("dim1", "dim2"),
             ImmutableList.of("m1"),
             new HashBasedNumberedShardSpec(0, 1, null, null),
@@ -153,8 +151,8 @@ public void testCheckSegments() throws IOException
     );
     indexerMetadataStorageCoordinator.announceHistoricalSegments(baseSegments);
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
-    expect(taskMaster.getTaskRunner()).andReturn(Optional.<TaskRunner>absent()).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskMaster.getTaskRunner()).andReturn(Optional.absent()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     Pair<SortedMap<Interval, String>, Map<Interval, List<DataSegment>>> toBuildInterval = supervisor.checkSegments();
     Map<Interval, List<DataSegment>> expectedSegments = Maps.newHashMap();
     expectedSegments.put(
@@ -164,7 +162,7 @@ public void testCheckSegments() throws IOException
                 "base", 
                 Intervals.of("2015-01-01T00Z/2015-01-02T00Z"), 
                 "2015-01-02", 
-                ImmutableMap.<String, Object>of(), 
+                ImmutableMap.of(),
                 ImmutableList.of("dim1", "dim2"), 
                 ImmutableList.of("m1"), 
                 new HashBasedNumberedShardSpec(0, 1, null, null),
diff --git a/extensions-contrib/materialized-view-selection/src/test/java/io/druid/query/materializedview/DatasourceOptimizerTest.java b/extensions-contrib/materialized-view-selection/src/test/java/io/druid/query/materializedview/DatasourceOptimizerTest.java
index 14595925c33..f4ef066276f 100644
--- a/extensions-contrib/materialized-view-selection/src/test/java/io/druid/query/materializedview/DatasourceOptimizerTest.java
+++ b/extensions-contrib/materialized-view-selection/src/test/java/io/druid/query/materializedview/DatasourceOptimizerTest.java
@@ -145,7 +145,7 @@ public void testOptimize() throws InterruptedException
     metadataStorageCoordinator.insertDataSourceMetadata(dataSource, metadata);
     // insert base datasource segments 
     List<Boolean> baseResult = Lists.transform(
-        ImmutableList.<String>of(
+        ImmutableList.of(
             "2011-04-01/2011-04-02",
             "2011-04-02/2011-04-03",
             "2011-04-03/2011-04-04",
@@ -172,7 +172,7 @@ public void testOptimize() throws InterruptedException
     );
     // insert derivative segments
     List<Boolean> derivativeResult = Lists.transform(
-        ImmutableList.<String>of(
+        ImmutableList.of(
             "2011-04-01/2011-04-02",
             "2011-04-02/2011-04-03",
             "2011-04-03/2011-04-04"
@@ -248,7 +248,7 @@ private DataSegment createDataSegment(String name, String intervalStr, String ve
         .dataSource(name)
         .interval(Intervals.of(intervalStr))
         .loadSpec(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "type",
                 "local",
                 "path",
@@ -257,7 +257,7 @@ private DataSegment createDataSegment(String name, String intervalStr, String ve
         )
         .version(version)
         .dimensions(dims)
-        .metrics(ImmutableList.<String>of("cost"))
+        .metrics(ImmutableList.of("cost"))
         .shardSpec(NoneShardSpec.instance())
         .binaryVersion(9)
         .size(size)
diff --git a/extensions-contrib/materialized-view-selection/src/test/java/io/druid/query/materializedview/MaterializedViewQueryTest.java b/extensions-contrib/materialized-view-selection/src/test/java/io/druid/query/materializedview/MaterializedViewQueryTest.java
index 21f518c93be..848236c1f90 100644
--- a/extensions-contrib/materialized-view-selection/src/test/java/io/druid/query/materializedview/MaterializedViewQueryTest.java
+++ b/extensions-contrib/materialized-view-selection/src/test/java/io/druid/query/materializedview/MaterializedViewQueryTest.java
@@ -34,10 +34,8 @@
 import static io.druid.query.QueryRunnerTestHelper.indexMetric;
 import static io.druid.query.QueryRunnerTestHelper.marketDimension;
 import io.druid.query.TableDataSource;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.expression.LookupEnabledTestExprMacroTable;
 import io.druid.query.topn.TopNQuery;
 import io.druid.query.topn.TopNQueryBuilder;
@@ -48,7 +46,7 @@
 import org.junit.Test;
 
 import java.io.IOException;
-import java.util.Arrays;
+import java.util.Collections;
 
 public class MaterializedViewQueryTest 
 {
@@ -78,7 +76,7 @@ public void testQuerySerialization() throws IOException
         .threshold(4)
         .intervals(fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
@@ -88,7 +86,7 @@ public void testQuerySerialization() throws IOException
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
     MaterializedViewQuery query = new MaterializedViewQuery(topNQuery, optimizer);
     String json = jsonMapper.writeValueAsString(query);
diff --git a/extensions-contrib/orc-extensions/src/test/java/io/druid/data/input/orc/OrcHadoopInputRowParserTest.java b/extensions-contrib/orc-extensions/src/test/java/io/druid/data/input/orc/OrcHadoopInputRowParserTest.java
index 2798956940c..d2da70c5c9f 100644
--- a/extensions-contrib/orc-extensions/src/test/java/io/druid/data/input/orc/OrcHadoopInputRowParserTest.java
+++ b/extensions-contrib/orc-extensions/src/test/java/io/druid/data/input/orc/OrcHadoopInputRowParserTest.java
@@ -27,7 +27,6 @@
 import com.google.inject.Module;
 import com.google.inject.name.Names;
 import io.druid.data.input.InputRow;
-import io.druid.data.input.impl.DimensionSchema;
 import io.druid.data.input.impl.DimensionsSpec;
 import io.druid.data.input.impl.InputRowParser;
 import io.druid.data.input.impl.ParseSpec;
@@ -112,7 +111,7 @@ public void testSerde() throws IOException
                 null
             ),
             new DimensionsSpec(
-                ImmutableList.<DimensionSchema>of(new StringDimensionSchema("col1"), new StringDimensionSchema("col2")),
+                ImmutableList.of(new StringDimensionSchema("col1"), new StringDimensionSchema("col2")),
                 null,
                 null
             )
@@ -134,7 +133,7 @@ public void testTypeFromParseSpec()
             null
         ),
         new DimensionsSpec(
-            ImmutableList.<DimensionSchema>of(new StringDimensionSchema("col1"), new StringDimensionSchema("col2")),
+            ImmutableList.of(new StringDimensionSchema("col1"), new StringDimensionSchema("col2")),
             null,
             null
         )
diff --git a/extensions-contrib/orc-extensions/src/test/java/io/druid/data/input/orc/OrcIndexGeneratorJobTest.java b/extensions-contrib/orc-extensions/src/test/java/io/druid/data/input/orc/OrcIndexGeneratorJobTest.java
index 90d0d188285..adc839d81b2 100644
--- a/extensions-contrib/orc-extensions/src/test/java/io/druid/data/input/orc/OrcIndexGeneratorJobTest.java
+++ b/extensions-contrib/orc-extensions/src/test/java/io/druid/data/input/orc/OrcIndexGeneratorJobTest.java
@@ -36,7 +36,6 @@
 import io.druid.indexer.HadoopyShardSpec;
 import io.druid.indexer.IndexGeneratorJob;
 import io.druid.indexer.JobHelper;
-import io.druid.indexer.Jobby;
 import io.druid.java.util.common.Intervals;
 import io.druid.java.util.common.StringUtils;
 import io.druid.java.util.common.granularity.Granularities;
@@ -255,7 +254,7 @@ public void testIndexGeneratorJob() throws IOException
 
   private void verifyJob(IndexGeneratorJob job) throws IOException
   {
-    Assert.assertTrue(JobHelper.runJobs(ImmutableList.<Jobby>of(job), config));
+    Assert.assertTrue(JobHelper.runJobs(ImmutableList.of(job), config));
 
     int segmentNum = 0;
     for (DateTime currTime = interval.getStart(); currTime.isBefore(interval.getEnd()); currTime = currTime.plusDays(1)) {
@@ -291,8 +290,8 @@ private void verifyJob(IndexGeneratorJob job) throws IOException
         Assert.assertEquals(Integer.valueOf(9), dataSegment.getBinaryVersion());
 
         Assert.assertEquals(dataSourceName, dataSegment.getDataSource());
-        Assert.assertTrue(dataSegment.getDimensions().size() == 1);
-        String[] dimensions = dataSegment.getDimensions().toArray(new String[dataSegment.getDimensions().size()]);
+        Assert.assertEquals(1, dataSegment.getDimensions().size());
+        String[] dimensions = dataSegment.getDimensions().toArray(new String[0]);
         Arrays.sort(dimensions);
         Assert.assertEquals("host", dimensions[0]);
         Assert.assertEquals("visited_num", dataSegment.getMetrics().get(0));
diff --git a/extensions-contrib/rabbitmq/src/test/java/io/druid/examples/rabbitmq/RabbitMQFirehoseFactoryTest.java b/extensions-contrib/rabbitmq/src/test/java/io/druid/examples/rabbitmq/RabbitMQFirehoseFactoryTest.java
index a657f703328..1685c7cdd02 100644
--- a/extensions-contrib/rabbitmq/src/test/java/io/druid/examples/rabbitmq/RabbitMQFirehoseFactoryTest.java
+++ b/extensions-contrib/rabbitmq/src/test/java/io/druid/examples/rabbitmq/RabbitMQFirehoseFactoryTest.java
@@ -61,7 +61,7 @@ public void testSerde() throws Exception
         10,
         11,
         12,
-        ImmutableMap.<String, Object>of("hi", "bye")
+        ImmutableMap.of("hi", "bye")
     );
 
     RabbitMQFirehoseFactory factory = new RabbitMQFirehoseFactory(
diff --git a/extensions-contrib/thrift-extensions/src/test/java/io/druid/data/input/thrift/ThriftInputRowParserTest.java b/extensions-contrib/thrift-extensions/src/test/java/io/druid/data/input/thrift/ThriftInputRowParserTest.java
index 12a4f96a126..649e3f8ecaf 100644
--- a/extensions-contrib/thrift-extensions/src/test/java/io/druid/data/input/thrift/ThriftInputRowParserTest.java
+++ b/extensions-contrib/thrift-extensions/src/test/java/io/druid/data/input/thrift/ThriftInputRowParserTest.java
@@ -22,7 +22,6 @@
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 import io.druid.data.input.InputRow;
-import io.druid.data.input.impl.DimensionSchema;
 import io.druid.data.input.impl.DimensionsSpec;
 import io.druid.data.input.impl.JSONParseSpec;
 import io.druid.data.input.impl.JavaScriptParseSpec;
@@ -61,7 +60,7 @@
   public void setUp()
   {
     parseSpec = new JSONParseSpec(new TimestampSpec("date", "auto", null),
-                                  new DimensionsSpec(Lists.<DimensionSchema>newArrayList(
+                                  new DimensionsSpec(Lists.newArrayList(
                                       new StringDimensionSchema("title"),
                                       new StringDimensionSchema("lastName")
                                   ), null, null),
diff --git a/extensions-contrib/time-min-max/src/main/java/io/druid/query/aggregation/TimestampAggregatorFactory.java b/extensions-contrib/time-min-max/src/main/java/io/druid/query/aggregation/TimestampAggregatorFactory.java
index 96d1cb976c9..df497e8729a 100644
--- a/extensions-contrib/time-min-max/src/main/java/io/druid/query/aggregation/TimestampAggregatorFactory.java
+++ b/extensions-contrib/time-min-max/src/main/java/io/druid/query/aggregation/TimestampAggregatorFactory.java
@@ -30,7 +30,6 @@
 
 import java.nio.ByteBuffer;
 import java.sql.Timestamp;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
@@ -148,7 +147,9 @@ public AggregatorFactory getMergingFactory(AggregatorFactory other) throws Aggre
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new TimestampAggregatorFactory(fieldName, fieldName, timeFormat, comparator, initValue));
+    return Collections.singletonList(
+        new TimestampAggregatorFactory(fieldName, fieldName, timeFormat, comparator, initValue)
+    );
   }
 
   @Override
diff --git a/extensions-contrib/time-min-max/src/test/java/io/druid/query/aggregation/TimestampGroupByAggregationTest.java b/extensions-contrib/time-min-max/src/test/java/io/druid/query/aggregation/TimestampGroupByAggregationTest.java
index ea846c28f42..f90a945ca91 100644
--- a/extensions-contrib/time-min-max/src/test/java/io/druid/query/aggregation/TimestampGroupByAggregationTest.java
+++ b/extensions-contrib/time-min-max/src/test/java/io/druid/query/aggregation/TimestampGroupByAggregationTest.java
@@ -62,9 +62,9 @@
   {
     final List<Object[]> constructors = Lists.newArrayList();
 
-    final List<List<Object>> partialConstructors = ImmutableList.<List<Object>>of(
-        ImmutableList.<Object>of("timeMin", "tmin", "time_min", DateTimes.of("2011-01-12T01:00:00.000Z")),
-        ImmutableList.<Object>of("timeMax", "tmax", "time_max", DateTimes.of("2011-01-31T01:00:00.000Z"))
+    final List<List<Object>> partialConstructors = ImmutableList.of(
+        ImmutableList.of("timeMin", "tmin", "time_min", DateTimes.of("2011-01-12T01:00:00.000Z")),
+        ImmutableList.of("timeMax", "tmax", "time_max", DateTimes.of("2011-01-31T01:00:00.000Z"))
     );
 
     for (final List<Object> partialConstructor : partialConstructors) {
diff --git a/extensions-contrib/virtual-columns/src/test/java/io/druid/segment/MapVirtualColumnTest.java b/extensions-contrib/virtual-columns/src/test/java/io/druid/segment/MapVirtualColumnTest.java
index 62d347114a4..05c20e18263 100644
--- a/extensions-contrib/virtual-columns/src/test/java/io/druid/segment/MapVirtualColumnTest.java
+++ b/extensions-contrib/virtual-columns/src/test/java/io/druid/segment/MapVirtualColumnTest.java
@@ -158,7 +158,7 @@ public void testBasic()
   {
     Druids.SelectQueryBuilder builder = testBuilder();
 
-    List<Map> expectedResults = Arrays.<Map>asList(
+    List<Map> expectedResults = Arrays.asList(
         mapOf(
             "dim", "a",
             "params.key1", "value1",
diff --git a/extensions-core/avro-extensions/src/test/java/io/druid/data/input/AvroStreamInputRowParserTest.java b/extensions-core/avro-extensions/src/test/java/io/druid/data/input/AvroStreamInputRowParserTest.java
index dd9bfafad63..2cc80265835 100644
--- a/extensions-core/avro-extensions/src/test/java/io/druid/data/input/AvroStreamInputRowParserTest.java
+++ b/extensions-core/avro-extensions/src/test/java/io/druid/data/input/AvroStreamInputRowParserTest.java
@@ -97,7 +97,7 @@
   );
   public static final AvroParseSpec PARSE_SPEC = new AvroParseSpec(
       new TimestampSpec("nested", "millis", null),
-      new DimensionsSpec(DimensionsSpec.getDefaultSchemas(DIMENSIONS), Collections.<String>emptyList(), null),
+      new DimensionsSpec(DimensionsSpec.getDefaultSchemas(DIMENSIONS), Collections.emptyList(), null),
       new JSONPathSpec(
           true,
           ImmutableList.of(
diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchMergeAggregatorFactory.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchMergeAggregatorFactory.java
index 855cd676dc9..766b9d62239 100644
--- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchMergeAggregatorFactory.java
+++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchMergeAggregatorFactory.java
@@ -53,7 +53,7 @@ public SketchMergeAggregatorFactory(
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Collections.<AggregatorFactory>singletonList(
+    return Collections.singletonList(
         new SketchMergeAggregatorFactory(
             fieldName,
             fieldName,
diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchModule.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchModule.java
index c8f90f341dc..2164b48d383 100644
--- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchModule.java
+++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchModule.java
@@ -26,7 +26,7 @@
 import io.druid.initialization.DruidModule;
 import io.druid.segment.serde.ComplexMetrics;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 public class SketchModule implements DruidModule
@@ -60,7 +60,7 @@ public void configure(Binder binder)
   @Override
   public List<? extends Module> getJacksonModules()
   {
-    return Arrays.<Module>asList(
+    return Collections.<Module>singletonList(
         new SimpleModule("ThetaSketchModule")
             .registerSubtypes(
                 new NamedType(SketchMergeAggregatorFactory.class, THETA_SKETCH),
diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/oldapi/OldApiSketchModule.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/oldapi/OldApiSketchModule.java
index da3aeaa3e47..925128c8ffa 100644
--- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/oldapi/OldApiSketchModule.java
+++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/oldapi/OldApiSketchModule.java
@@ -31,7 +31,7 @@
 import io.druid.query.aggregation.datasketches.theta.SketchModule;
 import io.druid.segment.serde.ComplexMetrics;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 public class OldApiSketchModule implements DruidModule
@@ -72,7 +72,7 @@ public void configure(Binder binder)
   @Override
   public List<? extends Module> getJacksonModules()
   {
-    return Arrays.<Module>asList(
+    return Collections.<Module>singletonList(
         new SimpleModule("OldThetaSketchModule")
             .registerSubtypes(
                 new NamedType(OldSketchBuildAggregatorFactory.class, SKETCH_BUILD),
diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchAggregatorFactory.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchAggregatorFactory.java
index 7401752316a..2610084d7b8 100644
--- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchAggregatorFactory.java
+++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchAggregatorFactory.java
@@ -233,7 +233,7 @@ public int getMaxIntermediateSize()
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Collections.<AggregatorFactory>singletonList(
+    return Collections.singletonList(
       new ArrayOfDoublesSketchAggregatorFactory(
           fieldName,
           fieldName,
diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchModule.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchModule.java
index fe8a57e4190..4d99d6f5e17 100644
--- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchModule.java
+++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchModule.java
@@ -19,7 +19,7 @@
 
 package io.druid.query.aggregation.datasketches.tuple;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 import com.fasterxml.jackson.databind.Module;
@@ -71,7 +71,7 @@ public void configure(final Binder binder)
   @Override
   public List<? extends Module> getJacksonModules()
   {
-    return Arrays.<Module>asList(
+    return Collections.<Module>singletonList(
         new SimpleModule("ArrayOfDoublesSketchModule").registerSubtypes(
             new NamedType(
                 ArrayOfDoublesSketchAggregatorFactory.class,
diff --git a/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/BufferHashGrouperUsingSketchMergeAggregatorFactoryTest.java b/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/BufferHashGrouperUsingSketchMergeAggregatorFactoryTest.java
index 99ed19059b2..f5978d410a5 100644
--- a/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/BufferHashGrouperUsingSketchMergeAggregatorFactoryTest.java
+++ b/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/BufferHashGrouperUsingSketchMergeAggregatorFactoryTest.java
@@ -73,14 +73,14 @@ public void testGrowingBufferGrouper()
       UpdateSketch updateSketch = (UpdateSketch) sketchHolder.getSketch();
       updateSketch.update(1);
 
-      columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("sketch", sketchHolder)));
+      columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("sketch", sketchHolder)));
 
       for (int i = 0; i < expectedMaxSize; i++) {
         Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
       }
 
       updateSketch.update(3);
-      columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("sketch", sketchHolder)));
+      columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("sketch", sketchHolder)));
 
       for (int i = 0; i < expectedMaxSize; i++) {
         Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
diff --git a/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/SketchAggregationTest.java b/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/SketchAggregationTest.java
index 6dac47546e8..3d205461bfc 100644
--- a/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/SketchAggregationTest.java
+++ b/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/SketchAggregationTest.java
@@ -295,7 +295,7 @@ public void testSketchSetPostAggregatorSerde() throws Exception
             "name",
             "INTERSECT",
             null,
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new FieldAccessPostAggregator("name1", "fieldName1"),
                 new FieldAccessPostAggregator("name2", "fieldName2")
             )
@@ -307,7 +307,7 @@ public void testSketchSetPostAggregatorSerde() throws Exception
             "name",
             "INTERSECT",
             null,
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new FieldAccessPostAggregator("name1", "fieldName1"),
                 new SketchConstantPostAggregator("name2", "AgMDAAAazJMCAAAAAACAPzz9j7pWTMdROWGf15uY1nI=")
             )
@@ -419,7 +419,7 @@ public void testRelocation()
     UpdateSketch updateSketch = (UpdateSketch) sketchHolder.getSketch();
     updateSketch.update(1);
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("sketch", sketchHolder)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("sketch", sketchHolder)));
     SketchHolder[] holders = helper.runRelocateVerificationTest(
         new SketchMergeAggregatorFactory("sketch", "sketch", 16, false, true, 2),
         columnSelectorFactory,
diff --git a/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/oldapi/OldApiSketchAggregationTest.java b/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/oldapi/OldApiSketchAggregationTest.java
index eb20e934ce8..92e1fa9e441 100644
--- a/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/oldapi/OldApiSketchAggregationTest.java
+++ b/extensions-core/datasketches/src/test/java/io/druid/query/aggregation/datasketches/theta/oldapi/OldApiSketchAggregationTest.java
@@ -190,7 +190,7 @@ public void testSketchSetPostAggregatorSerde() throws Exception
             "name",
             "INTERSECT",
             null,
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new FieldAccessPostAggregator("name1", "fieldName1"),
                 new FieldAccessPostAggregator("name2", "fieldName2")
             )
@@ -206,7 +206,7 @@ public void testRelocation()
     UpdateSketch updateSketch = (UpdateSketch) sketchHolder.getSketch();
     updateSketch.update(1);
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("sketch", sketchHolder)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("sketch", sketchHolder)));
     SketchHolder[] holders = helper.runRelocateVerificationTest(
         new OldSketchMergeAggregatorFactory("sketch", "sketch", 16, false),
         columnSelectorFactory,
diff --git a/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/BasicAuthUtils.java b/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/BasicAuthUtils.java
index 44911373bb8..b4cae8cb82a 100644
--- a/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/BasicAuthUtils.java
+++ b/extensions-core/druid-basic-security/src/main/java/io/druid/security/basic/BasicAuthUtils.java
@@ -124,7 +124,7 @@ public static String getEncodedUserSecretFromHttpReq(HttpServletRequest httpReq)
       return null;
     }
 
-    if (!authHeader.substring(0, 6).equals("Basic ")) {
+    if (!"Basic ".equals(authHeader.substring(0, 6))) {
       return null;
     }
 
diff --git a/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/DruidKerberosAuthenticationHandler.java b/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/DruidKerberosAuthenticationHandler.java
index ac026588463..a8e4cad7c00 100644
--- a/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/DruidKerberosAuthenticationHandler.java
+++ b/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/DruidKerberosAuthenticationHandler.java
@@ -90,7 +90,7 @@ public void init(Properties config) throws ServletException
       // use all SPNEGO principals in the keytab if a principal isn't
       // specifically configured
       final String[] spnegoPrincipals;
-      if (principal.equals("*")) {
+      if ("*".equals(principal)) {
         spnegoPrincipals = KerberosUtil.getPrincipalNames(
             keytab, Pattern.compile("HTTP/.*"));
         if (spnegoPrincipals.length == 0) {
diff --git a/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/DruidKerberosUtil.java b/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/DruidKerberosUtil.java
index d2f9de4ffee..b8de70bc6d3 100644
--- a/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/DruidKerberosUtil.java
+++ b/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/DruidKerberosUtil.java
@@ -137,7 +137,7 @@ public static HttpCookie getAuthCookie(CookieStore cookieStore, URI uri)
     if (cookieStore == null) {
       return null;
     }
-    boolean isSSL = uri.getScheme().equals("https");
+    boolean isSSL = "https".equals(uri.getScheme());
     List<HttpCookie> cookies = cookieStore.getCookies();
 
     for (HttpCookie c : cookies) {
diff --git a/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/KerberosHttpClient.java b/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/KerberosHttpClient.java
index 803814eb726..2e97748f227 100644
--- a/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/KerberosHttpClient.java
+++ b/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/KerberosHttpClient.java
@@ -85,7 +85,7 @@ public KerberosHttpClient(HttpClient delegate, String internalClientPrincipal, S
       final URI uri = request.getUrl().toURI();
 
 
-      Map<String, List<String>> cookieMap = cookieManager.get(uri, Collections.<String, List<String>>emptyMap());
+      Map<String, List<String>> cookieMap = cookieManager.get(uri, Collections.emptyMap());
       for (Map.Entry<String, List<String>> entry : cookieMap.entrySet()) {
         request.addHeaderValues(entry.getKey(), entry.getValue());
       }
diff --git a/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/RetryIfUnauthorizedResponseHandler.java b/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/RetryIfUnauthorizedResponseHandler.java
index 8aef6578e03..a99ac86748a 100644
--- a/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/RetryIfUnauthorizedResponseHandler.java
+++ b/extensions-core/druid-kerberos/src/main/java/io/druid/security/kerberos/RetryIfUnauthorizedResponseHandler.java
@@ -45,7 +45,7 @@ public RetryIfUnauthorizedResponseHandler(HttpResponseHandler<Intermediate, Fina
     if (httpResponse.getStatus().equals(HttpResponseStatus.UNAUTHORIZED)) {
       // Drain the buffer
       httpResponse.getContent().toString();
-      return ClientResponse.unfinished(RetryResponseHolder.<Intermediate>retry());
+      return ClientResponse.unfinished(RetryResponseHolder.retry());
     } else {
       return wrap(httpResponseHandler.handleResponse(httpResponse));
     }
@@ -69,7 +69,7 @@ public RetryIfUnauthorizedResponseHandler(HttpResponseHandler<Intermediate, Fina
   public ClientResponse<RetryResponseHolder<Final>> done(ClientResponse<RetryResponseHolder<Intermediate>> clientResponse)
   {
     if (clientResponse.getObj().shouldRetry()) {
-      return ClientResponse.finished(RetryResponseHolder.<Final>retry());
+      return ClientResponse.finished(RetryResponseHolder.retry());
     } else {
       return wrap(httpResponseHandler.done(unwrap(clientResponse)));
     }
diff --git a/extensions-core/hdfs-storage/src/main/java/io/druid/storage/hdfs/HdfsDataSegmentPusher.java b/extensions-core/hdfs-storage/src/main/java/io/druid/storage/hdfs/HdfsDataSegmentPusher.java
index 3f7c630656f..c9656c57043 100644
--- a/extensions-core/hdfs-storage/src/main/java/io/druid/storage/hdfs/HdfsDataSegmentPusher.java
+++ b/extensions-core/hdfs-storage/src/main/java/io/druid/storage/hdfs/HdfsDataSegmentPusher.java
@@ -215,7 +215,7 @@ public OutputStream openStream() throws IOException
   @Override
   public Map<String, Object> makeLoadSpec(URI finalIndexZipFilePath)
   {
-    return ImmutableMap.<String, Object>of("type", "hdfs", "path", finalIndexZipFilePath.toString());
+    return ImmutableMap.of("type", "hdfs", "path", finalIndexZipFilePath.toString());
   }
 
   /**
diff --git a/extensions-core/hdfs-storage/src/main/java/io/druid/storage/hdfs/tasklog/HdfsTaskLogs.java b/extensions-core/hdfs-storage/src/main/java/io/druid/storage/hdfs/tasklog/HdfsTaskLogs.java
index 27e39b7e6b3..10ced899217 100644
--- a/extensions-core/hdfs-storage/src/main/java/io/druid/storage/hdfs/tasklog/HdfsTaskLogs.java
+++ b/extensions-core/hdfs-storage/src/main/java/io/druid/storage/hdfs/tasklog/HdfsTaskLogs.java
@@ -103,7 +103,7 @@ private void pushTaskFile(Path path, File logFile) throws IOException
   {
     final FileSystem fs = path.getFileSystem(hadoopConfig);
     if (fs.exists(path)) {
-      return Optional.<ByteSource>of(
+      return Optional.of(
           new ByteSource()
           {
             @Override
diff --git a/extensions-core/hdfs-storage/src/test/java/io/druid/segment/loading/HdfsDataSegmentFinderTest.java b/extensions-core/hdfs-storage/src/test/java/io/druid/segment/loading/HdfsDataSegmentFinderTest.java
index 53e4644df94..0d6cc0f283c 100644
--- a/extensions-core/hdfs-storage/src/test/java/io/druid/segment/loading/HdfsDataSegmentFinderTest.java
+++ b/extensions-core/hdfs-storage/src/test/java/io/druid/segment/loading/HdfsDataSegmentFinderTest.java
@@ -63,7 +63,7 @@
       .interval(Intervals.of("2013-08-31T00:00:00.000Z/2013-09-01T00:00:00.000Z"))
       .version("2015-10-21T22:07:57.074Z")
       .loadSpec(
-          ImmutableMap.<String, Object>of(
+          ImmutableMap.of(
               "type",
               "hdfs",
               "path",
@@ -103,7 +103,7 @@
       .interval(Intervals.of("2013-09-03T00:00:00.000Z/2013-09-04T00:00:00.000Z"))
       .version("2015-10-21T22:07:57.074Z")
       .loadSpec(
-          ImmutableMap.<String, Object>of(
+          ImmutableMap.of(
               "type",
               "hdfs",
               "path",
diff --git a/extensions-core/hdfs-storage/src/test/java/io/druid/storage/hdfs/HdfsDataSegmentKillerTest.java b/extensions-core/hdfs-storage/src/test/java/io/druid/storage/hdfs/HdfsDataSegmentKillerTest.java
index 7fe9adb8f61..a64a9504831 100644
--- a/extensions-core/hdfs-storage/src/test/java/io/druid/storage/hdfs/HdfsDataSegmentKillerTest.java
+++ b/extensions-core/hdfs-storage/src/test/java/io/druid/storage/hdfs/HdfsDataSegmentKillerTest.java
@@ -211,7 +211,7 @@ private DataSegment getSegmentWithPath(String path)
         "dataSource",
         Intervals.of("2000/3000"),
         "ver",
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "type", "hdfs",
             "path", path
         ),
diff --git a/extensions-core/hdfs-storage/src/test/java/io/druid/storage/hdfs/HdfsDataSegmentPusherTest.java b/extensions-core/hdfs-storage/src/test/java/io/druid/storage/hdfs/HdfsDataSegmentPusherTest.java
index 595406619bf..3a211ea7708 100644
--- a/extensions-core/hdfs-storage/src/test/java/io/druid/storage/hdfs/HdfsDataSegmentPusherTest.java
+++ b/extensions-core/hdfs-storage/src/test/java/io/druid/storage/hdfs/HdfsDataSegmentPusherTest.java
@@ -150,9 +150,9 @@ public void testUsingUniqueFilePath() throws Exception
         "foo",
         Intervals.of("2015/2016"),
         "0",
-        Maps.<String, Object>newHashMap(),
-        Lists.<String>newArrayList(),
-        Lists.<String>newArrayList(),
+        Maps.newHashMap(),
+        Lists.newArrayList(),
+        Lists.newArrayList(),
         NoneShardSpec.instance(),
         0,
         size
@@ -195,9 +195,9 @@ private void testUsingSchemeForMultipleSegments(final String scheme, final int n
           "foo",
           Intervals.of("2015/2016"),
           "0",
-          Maps.<String, Object>newHashMap(),
-          Lists.<String>newArrayList(),
-          Lists.<String>newArrayList(),
+          Maps.newHashMap(),
+          Lists.newArrayList(),
+          Lists.newArrayList(),
           new NumberedShardSpec(i, i),
           0,
           size
@@ -301,9 +301,9 @@ private void testUsingScheme(final String scheme) throws Exception
         "foo",
         Intervals.of("2015/2016"),
         "0",
-        Maps.<String, Object>newHashMap(),
-        Lists.<String>newArrayList(),
-        Lists.<String>newArrayList(),
+        Maps.newHashMap(),
+        Lists.newArrayList(),
+        Lists.newArrayList(),
         NoneShardSpec.instance(),
         0,
         size
@@ -397,7 +397,7 @@ public void shouldNotHaveColonsInHdfsStorageDir()
   {
 
     Interval interval = Intervals.of("2011-10-01/2011-10-02");
-    ImmutableMap<String, Object> loadSpec = ImmutableMap.<String, Object>of("something", "or_other");
+    ImmutableMap<String, Object> loadSpec = ImmutableMap.of("something", "or_other");
 
     DataSegment segment = new DataSegment(
         "something",
diff --git a/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregatorFactory.java b/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregatorFactory.java
index eb45ef8217a..54716e7e7b9 100644
--- a/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregatorFactory.java
+++ b/extensions-core/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregatorFactory.java
@@ -38,7 +38,6 @@
 
 import javax.annotation.Nullable;
 import java.nio.ByteBuffer;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
@@ -177,7 +176,7 @@ public AggregatorFactory getMergingFactory(AggregatorFactory other) throws Aggre
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(
+    return Collections.singletonList(
         new ApproximateHistogramAggregatorFactory(
             fieldName,
             fieldName,
diff --git a/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/ApproximateHistogramGroupByQueryTest.java b/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/ApproximateHistogramGroupByQueryTest.java
index 776c465d2aa..2a2b902f881 100644
--- a/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/ApproximateHistogramGroupByQueryTest.java
+++ b/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/ApproximateHistogramGroupByQueryTest.java
@@ -26,7 +26,6 @@
 import io.druid.query.QueryRunner;
 import io.druid.query.QueryRunnerTestHelper;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.GroupByQuery;
 import io.druid.query.groupby.GroupByQueryConfig;
 import io.druid.query.groupby.GroupByQueryRunnerFactory;
@@ -40,7 +39,6 @@
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
@@ -154,7 +152,7 @@ public void testGroupByWithApproximateHistogramAgg()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     "marketalias"
@@ -228,7 +226,7 @@ public void testGroupByWithSameNameComplexPostAgg()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     "marketalias"
diff --git a/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/ApproximateHistogramTopNQueryTest.java b/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/ApproximateHistogramTopNQueryTest.java
index 9564ae6d4af..aa383b19c21 100644
--- a/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/ApproximateHistogramTopNQueryTest.java
+++ b/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/ApproximateHistogramTopNQueryTest.java
@@ -29,10 +29,8 @@
 import io.druid.query.QueryRunnerTestHelper;
 import io.druid.query.Result;
 import io.druid.query.TestQueryRunners;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.topn.TopNQuery;
 import io.druid.query.topn.TopNQueryBuilder;
 import io.druid.query.topn.TopNQueryConfig;
@@ -115,7 +113,7 @@ public void testTopNWithApproximateHistogramAgg()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     QueryRunnerTestHelper.commonDoubleAggregators,
                     Lists.newArrayList(
@@ -127,7 +125,7 @@ public void testTopNWithApproximateHistogramAgg()
             )
         )
         .postAggregators(
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 QueryRunnerTestHelper.addRowsIndexConstant,
                 QueryRunnerTestHelper.dependentPostAgg,
                 new QuantilePostAggregator("quantile", "apphisto", 0.5f)
diff --git a/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/sql/QuantileSqlAggregatorTest.java b/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/sql/QuantileSqlAggregatorTest.java
index 85c368cbc04..56f25e8ee40 100644
--- a/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/sql/QuantileSqlAggregatorTest.java
+++ b/extensions-core/histogram/src/test/java/io/druid/query/aggregation/histogram/sql/QuantileSqlAggregatorTest.java
@@ -228,7 +228,7 @@ public void testQuantileOnFloatAndLongs() throws Exception
                     new QuantilePostAggregator("a7", "a5:agg", 0.999f),
                     new QuantilePostAggregator("a8", "a8:agg", 0.50f)
                 )
-                .context(ImmutableMap.<String, Object>of("skipEmptyBuckets", true))
+                .context(ImmutableMap.of("skipEmptyBuckets", true))
                 .build(),
           Iterables.getOnlyElement(queryLogHook.getRecordedQueries())
       );
@@ -291,7 +291,7 @@ public void testQuantileOnComplexColumn() throws Exception
                     new QuantilePostAggregator("a5", "a5:agg", 0.999f),
                     new QuantilePostAggregator("a6", "a4:agg", 0.999f)
                 )
-                .context(ImmutableMap.<String, Object>of("skipEmptyBuckets", true))
+                .context(ImmutableMap.of("skipEmptyBuckets", true))
                 .build(),
           Iterables.getOnlyElement(queryLogHook.getRecordedQueries())
       );
diff --git a/extensions-core/kafka-extraction-namespace/src/test/java/io/druid/query/lookup/KafkaLookupExtractorFactoryTest.java b/extensions-core/kafka-extraction-namespace/src/test/java/io/druid/query/lookup/KafkaLookupExtractorFactoryTest.java
index 2e4e7c0822c..bd580cc1d67 100644
--- a/extensions-core/kafka-extraction-namespace/src/test/java/io/druid/query/lookup/KafkaLookupExtractorFactoryTest.java
+++ b/extensions-core/kafka-extraction-namespace/src/test/java/io/druid/query/lookup/KafkaLookupExtractorFactoryTest.java
@@ -178,7 +178,7 @@ public void testCacheKeySameOnNoChange()
         TOPIC,
         DEFAULT_PROPERTIES
     );
-    factory.getMapRef().set(ImmutableMap.<String, String>of());
+    factory.getMapRef().set(ImmutableMap.of());
 
     final LookupExtractor extractor = factory.get();
 
@@ -196,13 +196,13 @@ public void testCacheKeyDifferentForTopics()
         TOPIC,
         DEFAULT_PROPERTIES
     );
-    factory1.getMapRef().set(ImmutableMap.<String, String>of());
+    factory1.getMapRef().set(ImmutableMap.of());
     final KafkaLookupExtractorFactory factory2 = new KafkaLookupExtractorFactory(
         cacheManager,
         TOPIC + "b",
         DEFAULT_PROPERTIES
     );
-    factory2.getMapRef().set(ImmutableMap.<String, String>of());
+    factory2.getMapRef().set(ImmutableMap.of());
 
     Assert.assertFalse(Arrays.equals(factory1.get().getCacheKey(), factory2.get().getCacheKey()));
   }
@@ -218,7 +218,7 @@ public void testReplaces()
 
     Assert.assertTrue(factory.replaces(null));
 
-    Assert.assertTrue(factory.replaces(new MapLookupExtractorFactory(ImmutableMap.<String, String>of(), false)));
+    Assert.assertTrue(factory.replaces(new MapLookupExtractorFactory(ImmutableMap.of(), false)));
     Assert.assertFalse(factory.replaces(factory));
     Assert.assertFalse(factory.replaces(new KafkaLookupExtractorFactory(
         cacheManager,
@@ -463,7 +463,7 @@ public void testStartFailsOnMissingConnect()
     final KafkaLookupExtractorFactory factory = new KafkaLookupExtractorFactory(
         cacheManager,
         TOPIC,
-        ImmutableMap.<String, String>of()
+        ImmutableMap.of()
     );
     Assert.assertTrue(factory.start());
     Assert.assertTrue(factory.close());
diff --git a/extensions-core/kafka-extraction-namespace/src/test/java/io/druid/query/lookup/TestKafkaExtractionCluster.java b/extensions-core/kafka-extraction-namespace/src/test/java/io/druid/query/lookup/TestKafkaExtractionCluster.java
index 7f9f1dd4a7f..a0006796a5b 100644
--- a/extensions-core/kafka-extraction-namespace/src/test/java/io/druid/query/lookup/TestKafkaExtractionCluster.java
+++ b/extensions-core/kafka-extraction-namespace/src/test/java/io/druid/query/lookup/TestKafkaExtractionCluster.java
@@ -330,7 +330,7 @@ public void close()
     checkServer();
 
     assertUpdated(null, "foo");
-    assertReverseUpdated(ImmutableList.<String>of(), "foo");
+    assertReverseUpdated(ImmutableList.of(), "foo");
 
     long events = factory.getCompletedEventCount();
 
diff --git a/extensions-core/kafka-indexing-service/src/main/java/io/druid/indexing/kafka/supervisor/KafkaSupervisor.java b/extensions-core/kafka-indexing-service/src/main/java/io/druid/indexing/kafka/supervisor/KafkaSupervisor.java
index 046331e946f..e511b00dcd7 100644
--- a/extensions-core/kafka-indexing-service/src/main/java/io/druid/indexing/kafka/supervisor/KafkaSupervisor.java
+++ b/extensions-core/kafka-indexing-service/src/main/java/io/druid/indexing/kafka/supervisor/KafkaSupervisor.java
@@ -1305,8 +1305,8 @@ private void addDiscoveredTaskToPendingCompletionTaskGroups(
     // change to a state where it will read any more events
     TaskGroup newTaskGroup = new TaskGroup(
         ImmutableMap.copyOf(startingPartitions),
-        Optional.<DateTime>absent(),
-        Optional.<DateTime>absent()
+        Optional.absent(),
+        Optional.absent()
     );
 
     newTaskGroup.tasks.put(taskId, new TaskData());
@@ -1724,11 +1724,11 @@ void createNewTasks() throws JsonProcessingException
 
         Optional<DateTime> minimumMessageTime = (ioConfig.getLateMessageRejectionPeriod().isPresent() ? Optional.of(
             DateTimes.nowUtc().minus(ioConfig.getLateMessageRejectionPeriod().get())
-        ) : Optional.<DateTime>absent());
+        ) : Optional.absent());
 
         Optional<DateTime> maximumMessageTime = (ioConfig.getEarlyMessageRejectionPeriod().isPresent() ? Optional.of(
             DateTimes.nowUtc().plus(ioConfig.getTaskDuration()).plus(ioConfig.getEarlyMessageRejectionPeriod().get())
-        ) : Optional.<DateTime>absent());
+        ) : Optional.absent());
 
         final TaskGroup taskGroup = new TaskGroup(
             generateStartingOffsetsForPartitionGroup(groupId),
diff --git a/extensions-core/kafka-indexing-service/src/main/java/io/druid/indexing/kafka/supervisor/KafkaSupervisorIOConfig.java b/extensions-core/kafka-indexing-service/src/main/java/io/druid/indexing/kafka/supervisor/KafkaSupervisorIOConfig.java
index be403443b09..ce2b55df4a9 100644
--- a/extensions-core/kafka-indexing-service/src/main/java/io/druid/indexing/kafka/supervisor/KafkaSupervisorIOConfig.java
+++ b/extensions-core/kafka-indexing-service/src/main/java/io/druid/indexing/kafka/supervisor/KafkaSupervisorIOConfig.java
@@ -77,10 +77,10 @@ public KafkaSupervisorIOConfig(
     this.useEarliestOffset = useEarliestOffset != null ? useEarliestOffset : false;
     this.completionTimeout = defaultDuration(completionTimeout, "PT30M");
     this.lateMessageRejectionPeriod = lateMessageRejectionPeriod == null
-                                      ? Optional.<Duration>absent()
+                                      ? Optional.absent()
                                       : Optional.of(lateMessageRejectionPeriod.toStandardDuration());
     this.earlyMessageRejectionPeriod = earlyMessageRejectionPeriod == null
-                                       ? Optional.<Duration>absent()
+                                       ? Optional.absent()
                                        : Optional.of(earlyMessageRejectionPeriod.toStandardDuration());
     this.skipOffsetGaps = skipOffsetGaps != null ? skipOffsetGaps : false;
   }
diff --git a/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/KafkaDataSourceMetadataTest.java b/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/KafkaDataSourceMetadataTest.java
index 09d02125db6..41e242d61c6 100644
--- a/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/KafkaDataSourceMetadataTest.java
+++ b/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/KafkaDataSourceMetadataTest.java
@@ -27,7 +27,7 @@
 
 public class KafkaDataSourceMetadataTest
 {
-  private static final KafkaDataSourceMetadata KM0 = KM("foo", ImmutableMap.<Integer, Long>of());
+  private static final KafkaDataSourceMetadata KM0 = KM("foo", ImmutableMap.of());
   private static final KafkaDataSourceMetadata KM1 = KM("foo", ImmutableMap.of(0, 2L, 1, 3L));
   private static final KafkaDataSourceMetadata KM2 = KM("foo", ImmutableMap.of(0, 2L, 1, 4L, 2, 5L));
   private static final KafkaDataSourceMetadata KM3 = KM("foo", ImmutableMap.of(0, 2L, 2, 5L));
@@ -103,12 +103,12 @@ public void testMinus()
     );
 
     Assert.assertEquals(
-        KM("foo", ImmutableMap.<Integer, Long>of()),
+        KM("foo", ImmutableMap.of()),
         KM0.minus(KM2)
     );
 
     Assert.assertEquals(
-        KM("foo", ImmutableMap.<Integer, Long>of()),
+        KM("foo", ImmutableMap.of()),
         KM1.minus(KM2)
     );
 
@@ -118,7 +118,7 @@ public void testMinus()
     );
 
     Assert.assertEquals(
-        KM("foo", ImmutableMap.<Integer, Long>of()),
+        KM("foo", ImmutableMap.of()),
         KM2.minus(KM2)
     );
   }
diff --git a/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/KafkaIndexTaskTest.java b/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/KafkaIndexTaskTest.java
index 411fff9168e..f0abd4d37d7 100644
--- a/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/KafkaIndexTaskTest.java
+++ b/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/KafkaIndexTaskTest.java
@@ -85,7 +85,6 @@
 import io.druid.java.util.common.concurrent.Execs;
 import io.druid.java.util.common.granularity.Granularities;
 import io.druid.java.util.common.logger.Logger;
-import io.druid.java.util.common.parsers.JSONPathFieldSpec;
 import io.druid.java.util.common.parsers.JSONPathSpec;
 import io.druid.java.util.emitter.EmittingLogger;
 import io.druid.java.util.emitter.core.NoopEmitter;
@@ -101,7 +100,6 @@
 import io.druid.query.IntervalChunkingQueryRunnerDecorator;
 import io.druid.query.Query;
 import io.druid.query.QueryRunner;
-import io.druid.query.QueryRunnerFactory;
 import io.druid.query.QueryRunnerFactoryConglomerate;
 import io.druid.query.QueryToolChest;
 import io.druid.query.QueryWatcher;
@@ -243,8 +241,8 @@ public KafkaIndexTaskTest(boolean isIncrementalHandoffSupported)
                       null,
                       null
                   ),
-                  new JSONPathSpec(true, ImmutableList.<JSONPathFieldSpec>of()),
-                  ImmutableMap.<String, Boolean>of()
+                  new JSONPathSpec(true, ImmutableList.of()),
+                  ImmutableMap.of()
               ),
               StandardCharsets.UTF_8.name()
           ),
@@ -1989,7 +1987,7 @@ private QueryRunnerFactoryConglomerate makeTimeseriesOnlyConglomerate()
       }
     };
     return new DefaultQueryRunnerFactoryConglomerate(
-        ImmutableMap.<Class<? extends Query>, QueryRunnerFactory>of(
+        ImmutableMap.of(
             TimeseriesQuery.class,
             new TimeseriesQueryRunnerFactory(
                 new TimeseriesQueryQueryToolChest(queryRunnerDecorator),
@@ -2215,7 +2213,7 @@ private File getSegmentDirectory()
     CompressionUtils.unzip(
         Files.asByteSource(new File(indexBasePath.listFiles()[0], "index.zip")),
         outputLocation,
-        Predicates.<Throwable>alwaysFalse(),
+        Predicates.alwaysFalse(),
         false
     );
     IndexIO indexIO = new TestUtils().getTestIndexIO();
@@ -2236,7 +2234,7 @@ public long countEvents(final Task task)
     TimeseriesQuery query = Druids.newTimeseriesQueryBuilder()
                                   .dataSource(DATA_SCHEMA.getDataSource())
                                   .aggregators(
-                                      ImmutableList.<AggregatorFactory>of(
+                                      ImmutableList.of(
                                           new LongSumAggregatorFactory("rows", "rows")
                                       )
                                   ).granularity(Granularities.ALL)
diff --git a/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java b/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java
index f0f6033eea3..b49af3714a4 100644
--- a/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java
+++ b/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java
@@ -60,7 +60,6 @@
 import io.druid.java.util.common.ISE;
 import io.druid.java.util.common.StringUtils;
 import io.druid.java.util.common.granularity.Granularities;
-import io.druid.java.util.common.parsers.JSONPathFieldSpec;
 import io.druid.java.util.common.parsers.JSONPathSpec;
 import io.druid.java.util.emitter.EmittingLogger;
 import io.druid.query.aggregation.AggregatorFactory;
@@ -82,7 +81,6 @@
 import org.easymock.EasyMockSupport;
 import org.joda.time.DateTime;
 import org.joda.time.Duration;
-import org.joda.time.Interval;
 import org.joda.time.Period;
 import org.junit.After;
 import org.junit.AfterClass;
@@ -248,7 +246,7 @@ public void testNoInitialState() throws Exception
     Capture<KafkaIndexTask> captured = Capture.newInstance();
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -295,7 +293,7 @@ public void testSkipOffsetGaps() throws Exception
     Capture<KafkaIndexTask> captured = Capture.newInstance();
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -323,8 +321,8 @@ public void testMultiTask() throws Exception
 
     Capture<KafkaIndexTask> captured = Capture.newInstance(CaptureType.ALL);
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
-    expect(taskMaster.getTaskRunner()).andReturn(Optional.<TaskRunner>absent()).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskMaster.getTaskRunner()).andReturn(Optional.absent()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -360,8 +358,8 @@ public void testReplicas() throws Exception
 
     Capture<KafkaIndexTask> captured = Capture.newInstance(CaptureType.ALL);
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
-    expect(taskMaster.getTaskRunner()).andReturn(Optional.<TaskRunner>absent()).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskMaster.getTaskRunner()).andReturn(Optional.absent()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -397,8 +395,8 @@ public void testLateMessageRejectionPeriod() throws Exception
 
     Capture<KafkaIndexTask> captured = Capture.newInstance(CaptureType.ALL);
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
-    expect(taskMaster.getTaskRunner()).andReturn(Optional.<TaskRunner>absent()).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskMaster.getTaskRunner()).andReturn(Optional.absent()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -436,8 +434,8 @@ public void testEarlyMessageRejectionPeriod() throws Exception
 
     Capture<KafkaIndexTask> captured = Capture.newInstance(CaptureType.ALL);
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
-    expect(taskMaster.getTaskRunner()).andReturn(Optional.<TaskRunner>absent()).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskMaster.getTaskRunner()).andReturn(Optional.absent()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -478,8 +476,8 @@ public void testLatestOffset() throws Exception
 
     Capture<KafkaIndexTask> captured = Capture.newInstance();
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
-    expect(taskMaster.getTaskRunner()).andReturn(Optional.<TaskRunner>absent()).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskMaster.getTaskRunner()).andReturn(Optional.absent()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -510,8 +508,8 @@ public void testDatasourceMetadata() throws Exception
 
     Capture<KafkaIndexTask> captured = Capture.newInstance();
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
-    expect(taskMaster.getTaskRunner()).andReturn(Optional.<TaskRunner>absent()).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskMaster.getTaskRunner()).andReturn(Optional.absent()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             new KafkaPartitions(topic, ImmutableMap.of(0, 10L, 1, 20L, 2, 30L))
@@ -538,8 +536,8 @@ public void testBadMetadataOffsets() throws Exception
     supervisor = getSupervisor(1, 1, true, "PT1H", null, null, false);
     addSomeEvents(1);
 
-    expect(taskMaster.getTaskRunner()).andReturn(Optional.<TaskRunner>absent()).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskMaster.getTaskRunner()).andReturn(Optional.absent()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             new KafkaPartitions(topic, ImmutableMap.of(0, 10L, 1, 20L, 2, 30L))
@@ -764,7 +762,7 @@ public void testRequeueTaskWhenFailed() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(taskClient.getStatusAsync(anyString())).andReturn(Futures.immediateFuture(KafkaIndexTask.Status.NOT_STARTED))
                                                   .anyTimes();
     expect(taskClient.getStartTimeAsync(anyString())).andReturn(Futures.immediateFuture(DateTimes.nowUtc())).anyTimes();
@@ -943,7 +941,7 @@ public void testQueueNextTasksOnSuccess() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(taskClient.getStatusAsync(anyString())).andReturn(Futures.immediateFuture(KafkaIndexTask.Status.NOT_STARTED))
                                                   .anyTimes();
     expect(taskClient.getStartTimeAsync(anyString())).andReturn(Futures.immediateFuture(DateTimes.nowUtc())).anyTimes();
@@ -1033,7 +1031,7 @@ public void testBeginPublishAndQueueNextTasks() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -1409,7 +1407,7 @@ public void testKillUnresponsiveTasksWhileGettingStartTime() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -1445,7 +1443,7 @@ public void testKillUnresponsiveTasksWhileGettingStartTime() throws Exception
       expect(taskClient.getStatusAsync(task.getId()))
           .andReturn(Futures.immediateFuture(KafkaIndexTask.Status.NOT_STARTED));
       expect(taskClient.getStartTimeAsync(task.getId()))
-          .andReturn(Futures.<DateTime>immediateFailedFuture(new RuntimeException()));
+          .andReturn(Futures.immediateFailedFuture(new RuntimeException()));
       taskQueue.shutdown(task.getId());
     }
     replay(taskStorage, taskClient, taskQueue);
@@ -1466,7 +1464,7 @@ public void testKillUnresponsiveTasksWhilePausing() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -1516,7 +1514,7 @@ public void testKillUnresponsiveTasksWhilePausing() throws Exception
         .andReturn(Futures.immediateFuture(DateTimes.nowUtc()))
         .times(2);
     expect(taskClient.pauseAsync(EasyMock.contains("sequenceName-0")))
-        .andReturn(Futures.<Map<Integer, Long>>immediateFailedFuture(new RuntimeException())).times(2);
+        .andReturn(Futures.immediateFailedFuture(new RuntimeException())).times(2);
     taskQueue.shutdown(EasyMock.contains("sequenceName-0"));
     expectLastCall().times(2);
     expect(taskQueue.add(capture(captured))).andReturn(true).times(2);
@@ -1545,7 +1543,7 @@ public void testKillUnresponsiveTasksWhileSettingEndOffsets() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     expect(indexerMetadataStorageCoordinator.getDataSourceMetadata(DATASOURCE)).andReturn(
         new KafkaDataSourceMetadata(
             null
@@ -1603,7 +1601,7 @@ public void testKillUnresponsiveTasksWhileSettingEndOffsets() throws Exception
             EasyMock.eq(ImmutableMap.of(0, 10L, 1, 20L, 2, 35L)),
             EasyMock.eq(true)
         )
-    ).andReturn(Futures.<Boolean>immediateFailedFuture(new RuntimeException())).times(2);
+    ).andReturn(Futures.immediateFailedFuture(new RuntimeException())).times(2);
     taskQueue.shutdown(EasyMock.contains("sequenceName-0"));
     expectLastCall().times(2);
     expect(taskQueue.add(capture(captured))).andReturn(true).times(2);
@@ -1746,7 +1744,7 @@ public void testResetNoTasks() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     taskRunner.registerListener(anyObject(TaskRunnerListener.class), anyObject(Executor.class));
     replayAll();
 
@@ -1771,7 +1769,7 @@ public void testResetDataSourceMetadata() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     taskRunner.registerListener(anyObject(TaskRunnerListener.class), anyObject(Executor.class));
     replayAll();
 
@@ -1826,7 +1824,7 @@ public void testResetNoDataSourceMetadata() throws Exception
     expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
     expect(taskMaster.getTaskRunner()).andReturn(Optional.of(taskRunner)).anyTimes();
     expect(taskRunner.getRunningTasks()).andReturn(Collections.EMPTY_LIST).anyTimes();
-    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.<Task>of()).anyTimes();
+    expect(taskStorage.getActiveTasks()).andReturn(ImmutableList.of()).anyTimes();
     taskRunner.registerListener(anyObject(TaskRunnerListener.class), anyObject(Executor.class));
     replayAll();
 
@@ -2298,8 +2296,8 @@ private static DataSchema getDataSchema(String dataSource)
                         null,
                         null
                     ),
-                    new JSONPathSpec(true, ImmutableList.<JSONPathFieldSpec>of()),
-                    ImmutableMap.<String, Boolean>of()
+                    new JSONPathSpec(true, ImmutableList.of()),
+                    ImmutableMap.of()
                 ),
                 StandardCharsets.UTF_8.name()
             ),
@@ -2309,7 +2307,7 @@ private static DataSchema getDataSchema(String dataSource)
         new UniformGranularitySpec(
             Granularities.HOUR,
             Granularities.NONE,
-            ImmutableList.<Interval>of()
+            ImmutableList.of()
         ),
         null,
         objectMapper
@@ -2336,7 +2334,7 @@ private KafkaIndexTask createKafkaIndexTask(
             "sequenceName-" + taskGroupId,
             startPartitions,
             endPartitions,
-            ImmutableMap.<String, String>of(),
+            ImmutableMap.of(),
             true,
             minimumMessageTime,
             maximumMessageTime,
diff --git a/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/test/TestBroker.java b/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/test/TestBroker.java
index bea7abf33e7..2c22d126eba 100644
--- a/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/test/TestBroker.java
+++ b/extensions-core/kafka-indexing-service/src/test/java/io/druid/indexing/kafka/test/TestBroker.java
@@ -65,7 +65,7 @@ public TestBroker(
     this.directory = directory == null ? Files.createTempDir() : directory;
     this.directoryCleanup = directory == null;
     this.id = id;
-    this.brokerProps = brokerProps == null ? ImmutableMap.<String, String>of() : brokerProps;
+    this.brokerProps = brokerProps == null ? ImmutableMap.of() : brokerProps;
   }
 
   public void start()
diff --git a/extensions-core/lookups-cached-global/src/test/java/io/druid/query/lookup/namespace/JSONFlatDataParserTest.java b/extensions-core/lookups-cached-global/src/test/java/io/druid/query/lookup/namespace/JSONFlatDataParserTest.java
index 8b7506dd1d8..ca638b5a910 100644
--- a/extensions-core/lookups-cached-global/src/test/java/io/druid/query/lookup/namespace/JSONFlatDataParserTest.java
+++ b/extensions-core/lookups-cached-global/src/test/java/io/druid/query/lookup/namespace/JSONFlatDataParserTest.java
@@ -53,9 +53,9 @@
   private static final String OTHERVAL2 = null;
   private static final String CANBEEMPTY1 = "";
   private static final String CANBEEMPTY2 = "notEmpty";
-  private static final List<Map<String, Object>> MAPPINGS = ImmutableList.<Map<String, Object>>of(
-      ImmutableMap.<String, Object>of("key", "foo1", "val", "bar", "otherVal", 3, "canBeEmpty", ""),
-      ImmutableMap.<String, Object>of("key", "foo2", "val", "baz", "canBeEmpty", "notEmpty")
+  private static final List<Map<String, Object>> MAPPINGS = ImmutableList.of(
+      ImmutableMap.of("key", "foo1", "val", "bar", "otherVal", 3, "canBeEmpty", ""),
+      ImmutableMap.of("key", "foo2", "val", "baz", "canBeEmpty", "notEmpty")
   );
   @Rule
   public TemporaryFolder temporaryFolder = new TemporaryFolder();
diff --git a/extensions-core/lookups-cached-global/src/test/java/io/druid/query/lookup/namespace/StaticMapExtractionNamespaceTest.java b/extensions-core/lookups-cached-global/src/test/java/io/druid/query/lookup/namespace/StaticMapExtractionNamespaceTest.java
index 82fb5a7d2da..c60971b98f8 100644
--- a/extensions-core/lookups-cached-global/src/test/java/io/druid/query/lookup/namespace/StaticMapExtractionNamespaceTest.java
+++ b/extensions-core/lookups-cached-global/src/test/java/io/druid/query/lookup/namespace/StaticMapExtractionNamespaceTest.java
@@ -50,11 +50,11 @@ public void testSimpleSerDe() throws Exception
     Assert.assertEquals(extractionNamespace, MAPPER.readValue(str, StaticMapExtractionNamespace.class));
     Assert.assertNotEquals(
         extractionNamespace,
-        new StaticMapExtractionNamespace(ImmutableMap.<String, String>of("foo", "not_bar"))
+        new StaticMapExtractionNamespace(ImmutableMap.of("foo", "not_bar"))
     );
     Assert.assertNotEquals(
         extractionNamespace,
-        new StaticMapExtractionNamespace(ImmutableMap.<String, String>of("not_foo", "bar"))
+        new StaticMapExtractionNamespace(ImmutableMap.of("not_foo", "bar"))
     );
   }
 }
diff --git a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/NamespacedExtractorModuleTest.java b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/NamespacedExtractorModuleTest.java
index 6c06c26291f..780f2ac46b4 100644
--- a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/NamespacedExtractorModuleTest.java
+++ b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/NamespacedExtractorModuleTest.java
@@ -22,7 +22,6 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.io.Files;
-import io.druid.data.SearchableVersionedDataFinder;
 import io.druid.jackson.DefaultObjectMapper;
 import io.druid.java.util.common.lifecycle.Lifecycle;
 import io.druid.query.lookup.namespace.CacheGenerator;
@@ -63,10 +62,10 @@
   public void setUp() throws Exception
   {
     final Map<Class<? extends ExtractionNamespace>, CacheGenerator<?>> factoryMap =
-        ImmutableMap.<Class<? extends ExtractionNamespace>, CacheGenerator<?>>of(
+        ImmutableMap.of(
             UriExtractionNamespace.class,
             new UriCacheGenerator(
-                ImmutableMap.<String, SearchableVersionedDataFinder>of(
+                ImmutableMap.of(
                     "file",
                     new LocalFileTimestampVersionFinder()
                 )
@@ -94,10 +93,10 @@ public void testNewTask() throws Exception
   {
     final File tmpFile = temporaryFolder.newFile();
     try (Writer out = Files.newWriter(tmpFile, StandardCharsets.UTF_8)) {
-      out.write(mapper.writeValueAsString(ImmutableMap.<String, String>of("foo", "bar")));
+      out.write(mapper.writeValueAsString(ImmutableMap.of("foo", "bar")));
     }
     final UriCacheGenerator factory = new UriCacheGenerator(
-        ImmutableMap.<String, SearchableVersionedDataFinder>of("file", new LocalFileTimestampVersionFinder())
+        ImmutableMap.of("file", new LocalFileTimestampVersionFinder())
     );
     final UriExtractionNamespace namespace = new UriExtractionNamespace(
         tmpFile.toURI(),
@@ -120,7 +119,7 @@ public void testListNamespaces() throws Exception
   {
     final File tmpFile = temporaryFolder.newFile();
     try (Writer out = Files.newWriter(tmpFile, StandardCharsets.UTF_8)) {
-      out.write(mapper.writeValueAsString(ImmutableMap.<String, String>of("foo", "bar")));
+      out.write(mapper.writeValueAsString(ImmutableMap.of("foo", "bar")));
     }
     final UriExtractionNamespace namespace = new UriExtractionNamespace(
         tmpFile.toURI(),
@@ -141,7 +140,7 @@ public void testDeleteNamespaces() throws Exception
   {
     final File tmpFile = temporaryFolder.newFile();
     try (Writer out = Files.newWriter(tmpFile, StandardCharsets.UTF_8)) {
-      out.write(mapper.writeValueAsString(ImmutableMap.<String, String>of("foo", "bar")));
+      out.write(mapper.writeValueAsString(ImmutableMap.of("foo", "bar")));
     }
     final UriExtractionNamespace namespace = new UriExtractionNamespace(
         tmpFile.toURI(),
@@ -162,7 +161,7 @@ public void testNewUpdate() throws Exception
   {
     final File tmpFile = temporaryFolder.newFile();
     try (Writer out = Files.newWriter(tmpFile, StandardCharsets.UTF_8)) {
-      out.write(mapper.writeValueAsString(ImmutableMap.<String, String>of("foo", "bar")));
+      out.write(mapper.writeValueAsString(ImmutableMap.of("foo", "bar")));
     }
     final UriExtractionNamespace namespace = new UriExtractionNamespace(
         tmpFile.toURI(),
diff --git a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/StaticMapCacheGeneratorTest.java b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/StaticMapCacheGeneratorTest.java
index 0ba26457b83..562d3506bef 100644
--- a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/StaticMapCacheGeneratorTest.java
+++ b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/StaticMapCacheGeneratorTest.java
@@ -21,8 +21,6 @@
 
 import com.google.common.collect.ImmutableMap;
 import io.druid.java.util.common.lifecycle.Lifecycle;
-import io.druid.query.lookup.namespace.CacheGenerator;
-import io.druid.query.lookup.namespace.ExtractionNamespace;
 import io.druid.query.lookup.namespace.StaticMapExtractionNamespace;
 import io.druid.server.lookup.namespace.cache.CacheScheduler;
 import io.druid.server.lookup.namespace.cache.OnHeapNamespaceExtractionCacheManager;
@@ -50,7 +48,7 @@ public void setup() throws Exception
     NoopServiceEmitter noopServiceEmitter = new NoopServiceEmitter();
     scheduler = new CacheScheduler(
         noopServiceEmitter,
-        Collections.<Class<? extends ExtractionNamespace>, CacheGenerator<?>>emptyMap(),
+        Collections.emptyMap(),
         new OnHeapNamespaceExtractionCacheManager(lifecycle, noopServiceEmitter, new NamespaceExtractionConfig())
     );
   }
diff --git a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/UriCacheGeneratorTest.java b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/UriCacheGeneratorTest.java
index 2e665be7ef0..1c5c7b62592 100644
--- a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/UriCacheGeneratorTest.java
+++ b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/UriCacheGeneratorTest.java
@@ -79,7 +79,7 @@
 public class UriCacheGeneratorTest
 {
   private static final String FAKE_SCHEME = "wabblywoo";
-  private static final Map<String, SearchableVersionedDataFinder> FINDERS = ImmutableMap.<String, SearchableVersionedDataFinder>of(
+  private static final Map<String, SearchableVersionedDataFinder> FINDERS = ImmutableMap.of(
       "file",
       new LocalFileTimestampVersionFinder(),
       FAKE_SCHEME,
@@ -285,7 +285,7 @@ public void setUp() throws Exception
     final ObjectMapper mapper = new DefaultObjectMapper();
     try (OutputStream ostream = outStreamSupplier.apply(tmpFile);
          OutputStreamWriter out = new OutputStreamWriter(ostream, StandardCharsets.UTF_8)) {
-      out.write(mapper.writeValueAsString(ImmutableMap.<String, String>of(
+      out.write(mapper.writeValueAsString(ImmutableMap.of(
           "boo",
           "bar",
           "foo",
diff --git a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/cache/CacheSchedulerTest.java b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/cache/CacheSchedulerTest.java
index b032c7e4c3c..9eb8fe34f8b 100644
--- a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/cache/CacheSchedulerTest.java
+++ b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/cache/CacheSchedulerTest.java
@@ -30,7 +30,6 @@
 import io.druid.java.util.common.concurrent.Execs;
 import io.druid.java.util.common.lifecycle.Lifecycle;
 import io.druid.query.lookup.namespace.CacheGenerator;
-import io.druid.query.lookup.namespace.ExtractionNamespace;
 import io.druid.query.lookup.namespace.UriExtractionNamespace;
 import io.druid.query.lookup.namespace.UriExtractionNamespaceTest;
 import io.druid.server.lookup.namespace.NamespaceExtractionConfig;
@@ -157,7 +156,7 @@ public void setUp() throws Exception
     };
     scheduler = new CacheScheduler(
         new NoopServiceEmitter(),
-        ImmutableMap.<Class<? extends ExtractionNamespace>, CacheGenerator<?>>of(
+        ImmutableMap.of(
             UriExtractionNamespace.class,
             cacheGenerator
         ),
diff --git a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/cache/JdbcExtractionNamespaceTest.java b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/cache/JdbcExtractionNamespaceTest.java
index b1336d387b7..ed3b695884c 100644
--- a/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/cache/JdbcExtractionNamespaceTest.java
+++ b/extensions-core/lookups-cached-global/src/test/java/io/druid/server/lookup/namespace/cache/JdbcExtractionNamespaceTest.java
@@ -33,7 +33,6 @@
 import io.druid.java.util.common.logger.Logger;
 import io.druid.metadata.TestDerbyConnector;
 import io.druid.query.lookup.namespace.CacheGenerator;
-import io.druid.query.lookup.namespace.ExtractionNamespace;
 import io.druid.query.lookup.namespace.JdbcExtractionNamespace;
 import io.druid.server.lookup.namespace.JdbcCacheGenerator;
 import io.druid.server.lookup.namespace.NamespaceExtractionConfig;
@@ -195,7 +194,7 @@ public void close()
             NoopServiceEmitter noopServiceEmitter = new NoopServiceEmitter();
             scheduler = new CacheScheduler(
                 noopServiceEmitter,
-                ImmutableMap.<Class<? extends ExtractionNamespace>, CacheGenerator<?>>of(
+                ImmutableMap.of(
                     JdbcExtractionNamespace.class,
                     new CacheGenerator<JdbcExtractionNamespace>()
                     {
@@ -412,7 +411,7 @@ public void testMappingWithFilter()
         String field = val[0];
         String filterVal = val[1];
 
-        if (filterVal.equals("1")) {
+        if ("1".equals(filterVal)) {
           Assert.assertEquals("non-null check", Strings.emptyToNull(field), Strings.emptyToNull(map.get(key)));
         } else {
           Assert.assertEquals("non-null check", null, Strings.emptyToNull(map.get(key)));
diff --git a/extensions-core/lookups-cached-single/src/test/java/io/druid/server/lookup/LoadingLookupTest.java b/extensions-core/lookups-cached-single/src/test/java/io/druid/server/lookup/LoadingLookupTest.java
index 26cd8fe9faa..d5bff2e71f6 100644
--- a/extensions-core/lookups-cached-single/src/test/java/io/druid/server/lookup/LoadingLookupTest.java
+++ b/extensions-core/lookups-cached-single/src/test/java/io/druid/server/lookup/LoadingLookupTest.java
@@ -68,7 +68,7 @@ public void testUnapplyAll() throws ExecutionException
             .andReturn(Lists.newArrayList("key"))
             .once();
     EasyMock.replay(reverseLookupCache);
-    Assert.assertEquals(ImmutableMap.of("value", Lists.newArrayList("key")), loadingLookup.unapplyAll(ImmutableSet.<String>of("value")));
+    Assert.assertEquals(ImmutableMap.of("value", Lists.newArrayList("key")), loadingLookup.unapplyAll(ImmutableSet.of("value")));
     EasyMock.verify(reverseLookupCache);
   }
 
diff --git a/extensions-core/protobuf-extensions/src/main/java/io/druid/data/input/protobuf/ProtobufExtensionsModule.java b/extensions-core/protobuf-extensions/src/main/java/io/druid/data/input/protobuf/ProtobufExtensionsModule.java
index d88163ede2b..ed972952d5b 100644
--- a/extensions-core/protobuf-extensions/src/main/java/io/druid/data/input/protobuf/ProtobufExtensionsModule.java
+++ b/extensions-core/protobuf-extensions/src/main/java/io/druid/data/input/protobuf/ProtobufExtensionsModule.java
@@ -25,7 +25,7 @@
 import com.google.inject.Binder;
 import io.druid.initialization.DruidModule;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 public class ProtobufExtensionsModule implements DruidModule
@@ -34,7 +34,7 @@
   @Override
   public List<? extends Module> getJacksonModules()
   {
-    return Arrays.asList(
+    return Collections.singletonList(
         new SimpleModule("ProtobufInputRowParserModule")
             .registerSubtypes(
                 new NamedType(ProtobufInputRowParser.class, "protobuf")
diff --git a/extensions-core/protobuf-extensions/src/test/java/io/druid/data/input/protobuf/ProtobufInputRowParserTest.java b/extensions-core/protobuf-extensions/src/test/java/io/druid/data/input/protobuf/ProtobufInputRowParserTest.java
index 852f147941a..93d6e956d00 100644
--- a/extensions-core/protobuf-extensions/src/test/java/io/druid/data/input/protobuf/ProtobufInputRowParserTest.java
+++ b/extensions-core/protobuf-extensions/src/test/java/io/druid/data/input/protobuf/ProtobufInputRowParserTest.java
@@ -22,7 +22,6 @@
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 import io.druid.data.input.InputRow;
-import io.druid.data.input.impl.DimensionSchema;
 import io.druid.data.input.impl.DimensionsSpec;
 import io.druid.data.input.impl.JSONParseSpec;
 import io.druid.data.input.impl.JavaScriptParseSpec;
@@ -60,7 +59,7 @@ public void setUp()
   {
     parseSpec = new JSONParseSpec(
         new TimestampSpec("timestamp", "iso", null),
-        new DimensionsSpec(Lists.<DimensionSchema>newArrayList(
+        new DimensionsSpec(Lists.newArrayList(
             new StringDimensionSchema("event"),
             new StringDimensionSchema("id"),
             new StringDimensionSchema("someOtherId"),
diff --git a/extensions-core/s3-extensions/src/main/java/io/druid/firehose/s3/StaticS3FirehoseFactory.java b/extensions-core/s3-extensions/src/main/java/io/druid/firehose/s3/StaticS3FirehoseFactory.java
index a55807f38e0..b1266a6b9a2 100644
--- a/extensions-core/s3-extensions/src/main/java/io/druid/firehose/s3/StaticS3FirehoseFactory.java
+++ b/extensions-core/s3-extensions/src/main/java/io/druid/firehose/s3/StaticS3FirehoseFactory.java
@@ -87,11 +87,11 @@ public StaticS3FirehoseFactory(
     }
 
     for (final URI inputURI : this.uris) {
-      Preconditions.checkArgument(inputURI.getScheme().equals("s3"), "input uri scheme == s3 (%s)", inputURI);
+      Preconditions.checkArgument("s3".equals(inputURI.getScheme()), "input uri scheme == s3 (%s)", inputURI);
     }
 
     for (final URI inputURI : this.prefixes) {
-      Preconditions.checkArgument(inputURI.getScheme().equals("s3"), "input uri scheme == s3 (%s)", inputURI);
+      Preconditions.checkArgument("s3".equals(inputURI.getScheme()), "input uri scheme == s3 (%s)", inputURI);
     }
   }
 
diff --git a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentArchiver.java b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentArchiver.java
index 22268ff530f..21db3773c64 100644
--- a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentArchiver.java
+++ b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentArchiver.java
@@ -58,7 +58,7 @@ public DataSegment archive(DataSegment segment) throws SegmentLoadingException
 
     final DataSegment archived = move(
         segment,
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "bucket", targetS3Bucket,
             "baseKey", targetS3BaseKey
         )
@@ -77,7 +77,7 @@ public DataSegment restore(DataSegment segment) throws SegmentLoadingException
 
     final DataSegment restored = move(
         segment,
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "bucket", targetS3Bucket,
             "baseKey", targetS3BaseKey
         )
diff --git a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentFinder.java b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentFinder.java
index 21ce6882c4e..60016786840 100644
--- a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentFinder.java
+++ b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentFinder.java
@@ -78,7 +78,7 @@ public S3DataSegmentFinder(
       while (objectSummaryIterator.hasNext()) {
         final S3ObjectSummary objectSummary = objectSummaryIterator.next();
 
-        if (S3Utils.toFilename(objectSummary.getKey()).equals("descriptor.json")) {
+        if ("descriptor.json".equals(S3Utils.toFilename(objectSummary.getKey()))) {
           final String descriptorJson = objectSummary.getKey();
           String indexZip = S3Utils.indexZipForSegmentPath(descriptorJson);
 
diff --git a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentMover.java b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentMover.java
index 5abb36af8ed..f3fb37b098d 100644
--- a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentMover.java
+++ b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentMover.java
@@ -98,7 +98,7 @@ public DataSegment move(DataSegment segment, Map<String, Object> targetLoadSpec)
                         @Override
                         public boolean apply(String input)
                         {
-                          return !(input.equals("bucket") || input.equals("key"));
+                          return !("bucket".equals(input) || "key".equals(input));
                         }
                       }
                   )
diff --git a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentPuller.java b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentPuller.java
index 3d7c56cbc5d..d6eb22696d1 100644
--- a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentPuller.java
+++ b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentPuller.java
@@ -144,7 +144,7 @@ public static URI checkURI(URI uri)
   {
     if (uri.getScheme().equalsIgnoreCase(scheme)) {
       uri = URI.create("s3" + uri.toString().substring(scheme.length()));
-    } else if (!uri.getScheme().equalsIgnoreCase("s3")) {
+    } else if (!"s3".equalsIgnoreCase(uri.getScheme())) {
       throw new IAE("Don't know how to load scheme for URI [%s]", uri.toString());
     }
     return uri;
diff --git a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentPusher.java b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentPusher.java
index 9d1885316a8..c2a44311e9d 100644
--- a/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentPusher.java
+++ b/extensions-core/s3-extensions/src/main/java/io/druid/storage/s3/S3DataSegmentPusher.java
@@ -145,7 +145,7 @@ public DataSegment push(final File indexFilesDir, final DataSegment inSegment, f
   @SuppressWarnings("JavadocReference")
   private Map<String, Object> makeLoadSpec(String bucket, String key)
   {
-    return ImmutableMap.<String, Object>of(
+    return ImmutableMap.of(
         "type",
         "s3_zip",
         "bucket",
diff --git a/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentArchiverTest.java b/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentArchiverTest.java
index ce4d7039742..0cb28513b29 100644
--- a/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentArchiverTest.java
+++ b/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentArchiverTest.java
@@ -74,10 +74,10 @@ public String getArchiveBaseKey()
       .builder()
       .binaryVersion(1)
       .dataSource("dataSource")
-      .dimensions(ImmutableList.<String>of())
+      .dimensions(ImmutableList.of())
       .interval(Intervals.of("2015/2016"))
       .version("version")
-      .loadSpec(ImmutableMap.<String, Object>of(
+      .loadSpec(ImmutableMap.of(
           "type",
           S3StorageDruidModule.SCHEME,
           S3DataSegmentPuller.BUCKET,
@@ -98,7 +98,7 @@ public static void setUpStatic()
   public void testSimpleArchive() throws Exception
   {
     final DataSegment archivedSegment = SOURCE_SEGMENT
-        .withLoadSpec(ImmutableMap.<String, Object>of(
+        .withLoadSpec(ImmutableMap.of(
             "type",
             S3StorageDruidModule.SCHEME,
             S3DataSegmentPuller.BUCKET,
@@ -135,7 +135,7 @@ public DataSegment move(DataSegment segment, Map<String, Object> targetLoadSpec)
   public void testSimpleRestore() throws Exception
   {
     final DataSegment archivedSegment = SOURCE_SEGMENT
-        .withLoadSpec(ImmutableMap.<String, Object>of(
+        .withLoadSpec(ImmutableMap.of(
             "type",
             S3StorageDruidModule.SCHEME,
             S3DataSegmentPuller.BUCKET,
diff --git a/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentFinderTest.java b/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentFinderTest.java
index a44ca1fb89a..73cc1095ce0 100644
--- a/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentFinderTest.java
+++ b/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentFinderTest.java
@@ -76,7 +76,7 @@
       .interval(Intervals.of("2013-08-31T00:00:00.000Z/2013-09-01T00:00:00.000Z"))
       .version("2015-10-21T22:07:57.074Z")
       .loadSpec(
-          ImmutableMap.<String, Object>of(
+          ImmutableMap.of(
               "type",
               "s3_zip",
               "bucket",
diff --git a/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentMoverTest.java b/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentMoverTest.java
index ba0db09d8cd..5ee83094dd1 100644
--- a/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentMoverTest.java
+++ b/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentMoverTest.java
@@ -56,7 +56,7 @@
       "test",
       Intervals.of("2013-01-01/2013-01-02"),
       "1",
-      ImmutableMap.<String, Object>of(
+      ImmutableMap.of(
           "key",
           "baseKey/test/2013-01-01T00:00:00.000Z_2013-01-02T00:00:00.000Z/1/0/index.zip",
           "bucket",
@@ -86,7 +86,7 @@ public void testMove() throws Exception
 
     DataSegment movedSegment = mover.move(
         sourceSegment,
-        ImmutableMap.<String, Object>of("baseKey", "targetBaseKey", "bucket", "archive")
+        ImmutableMap.of("baseKey", "targetBaseKey", "bucket", "archive")
     );
 
     Map<String, Object> targetLoadSpec = movedSegment.getLoadSpec();
@@ -112,7 +112,7 @@ public void testMoveNoop() throws Exception
 
     DataSegment movedSegment = mover.move(
         sourceSegment,
-        ImmutableMap.<String, Object>of("baseKey", "targetBaseKey", "bucket", "archive")
+        ImmutableMap.of("baseKey", "targetBaseKey", "bucket", "archive")
     );
 
     Map<String, Object> targetLoadSpec = movedSegment.getLoadSpec();
@@ -130,7 +130,7 @@ public void testMoveException() throws Exception
 
     mover.move(
         sourceSegment,
-        ImmutableMap.<String, Object>of("baseKey", "targetBaseKey", "bucket", "archive")
+        ImmutableMap.of("baseKey", "targetBaseKey", "bucket", "archive")
     );
   }
   
@@ -143,7 +143,7 @@ public void testIgnoresGoneButAlreadyMoved() throws Exception
         "test",
         Intervals.of("2013-01-01/2013-01-02"),
         "1",
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "key",
             "baseKey/test/2013-01-01T00:00:00.000Z_2013-01-02T00:00:00.000Z/1/0/index.zip",
             "bucket",
@@ -154,7 +154,7 @@ public void testIgnoresGoneButAlreadyMoved() throws Exception
         NoneShardSpec.instance(),
         0,
         1
-    ), ImmutableMap.<String, Object>of("bucket", "DOES NOT EXIST", "baseKey", "baseKey"));
+    ), ImmutableMap.of("bucket", "DOES NOT EXIST", "baseKey", "baseKey"));
   }
 
   @Test(expected = SegmentLoadingException.class)
@@ -166,7 +166,7 @@ public void testFailsToMoveMissing() throws Exception
         "test",
         Intervals.of("2013-01-01/2013-01-02"),
         "1",
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "key",
             "baseKey/test/2013-01-01T00:00:00.000Z_2013-01-02T00:00:00.000Z/1/0/index.zip",
             "bucket",
@@ -177,7 +177,7 @@ public void testFailsToMoveMissing() throws Exception
         NoneShardSpec.instance(),
         0,
         1
-    ), ImmutableMap.<String, Object>of("bucket", "DOES NOT EXIST", "baseKey", "baseKey2"));
+    ), ImmutableMap.of("bucket", "DOES NOT EXIST", "baseKey", "baseKey2"));
   }
 
   private static class MockAmazonS3Client extends ServerSideEncryptingAmazonS3
diff --git a/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentPusherTest.java b/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentPusherTest.java
index 74999221eb8..eabac57c113 100644
--- a/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentPusherTest.java
+++ b/extensions-core/s3-extensions/src/test/java/io/druid/storage/s3/S3DataSegmentPusherTest.java
@@ -133,9 +133,9 @@ public PutObjectResult answer() throws Throwable
         "foo",
         Intervals.of("2015/2016"),
         "0",
-        Maps.<String, Object>newHashMap(),
-        Lists.<String>newArrayList(),
-        Lists.<String>newArrayList(),
+        Maps.newHashMap(),
+        Lists.newArrayList(),
+        Lists.newArrayList(),
         NoneShardSpec.instance(),
         0,
         size
diff --git a/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceAggregatorCollector.java b/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceAggregatorCollector.java
index 4c5cce19731..021adcb2651 100644
--- a/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceAggregatorCollector.java
+++ b/extensions-core/stats/src/main/java/io/druid/query/aggregation/variance/VarianceAggregatorCollector.java
@@ -51,7 +51,7 @@
 {
   public static boolean isVariancePop(String estimator)
   {
-    return estimator != null && estimator.equalsIgnoreCase("population");
+    return estimator != null && "population".equalsIgnoreCase(estimator);
   }
 
   public static VarianceAggregatorCollector from(ByteBuffer buffer)
diff --git a/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceAggregatorCollectorTest.java b/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceAggregatorCollectorTest.java
index 4636d144eac..b3fd3cb057a 100644
--- a/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceAggregatorCollectorTest.java
+++ b/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceAggregatorCollectorTest.java
@@ -112,7 +112,7 @@ public void testVariance()
         FloatHandOver valueHandOver = new FloatHandOver();
         for (int i = 0; i < mergeOn; i++) {
           holders1.add(new VarianceAggregatorCollector());
-          holders2.add(Pair.<VarianceBufferAggregator, ByteBuffer>of(
+          holders2.add(Pair.of(
                            new VarianceBufferAggregator.FloatVarianceAggregator(valueHandOver),
                            ByteBuffer.allocate(VarianceAggregatorCollector.getMaxIntermediateSize())
                        ));
diff --git a/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceGroupByQueryTest.java b/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceGroupByQueryTest.java
index 19bc5a18f49..1b1c3da1971 100644
--- a/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceGroupByQueryTest.java
+++ b/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceGroupByQueryTest.java
@@ -26,18 +26,14 @@
 import io.druid.java.util.common.granularity.PeriodGranularity;
 import io.druid.query.QueryRunner;
 import io.druid.query.QueryRunnerTestHelper;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.GroupByQuery;
 import io.druid.query.groupby.GroupByQueryConfig;
 import io.druid.query.groupby.GroupByQueryRunnerFactory;
 import io.druid.query.groupby.GroupByQueryRunnerTest;
 import io.druid.query.groupby.GroupByQueryRunnerTestHelper;
 import io.druid.query.groupby.having.GreaterThanHavingSpec;
-import io.druid.query.groupby.having.HavingSpec;
 import io.druid.query.groupby.having.OrHavingSpec;
 import io.druid.query.groupby.orderby.DefaultLimitSpec;
 import io.druid.query.groupby.orderby.OrderByColumnSpec;
@@ -49,6 +45,7 @@
 
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -72,7 +69,7 @@ public VarianceGroupByQueryTest(String testName, GroupByQueryConfig config, Grou
     this.testName = testName;
     this.config = config;
     this.factory = factory;
-    this.runner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.<QueryRunner<Row>>of(runner));
+    this.runner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.of(runner));
   }
 
   @Test
@@ -82,9 +79,9 @@ public void testGroupByVarianceOnly()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
-        .setAggregatorSpecs(Arrays.<AggregatorFactory>asList(VarianceTestHelper.indexVarianceAggr))
-        .setPostAggregatorSpecs(Arrays.<PostAggregator>asList(VarianceTestHelper.stddevOfIndexPostAggr))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setAggregatorSpecs(Collections.singletonList(VarianceTestHelper.indexVarianceAggr))
+        .setPostAggregatorSpecs(Collections.singletonList(VarianceTestHelper.stddevOfIndexPostAggr))
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .build();
 
@@ -124,7 +121,7 @@ public void testGroupBy()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 VarianceTestHelper.rowsCount,
@@ -133,7 +130,7 @@ public void testGroupBy()
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(VarianceTestHelper.stddevOfIndexPostAggr)
+            Collections.singletonList(VarianceTestHelper.stddevOfIndexPostAggr)
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .build();
@@ -184,7 +181,7 @@ public void testPostAggHavingSpec()
         .builder()
         .setDataSource(VarianceTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 VarianceTestHelper.rowsCount,
@@ -192,11 +189,11 @@ public void testPostAggHavingSpec()
                 VarianceTestHelper.indexVarianceAggr
             )
         )
-        .setPostAggregatorSpecs(ImmutableList.<PostAggregator>of(VarianceTestHelper.stddevOfIndexPostAggr))
+        .setPostAggregatorSpecs(ImmutableList.of(VarianceTestHelper.stddevOfIndexPostAggr))
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setHavingSpec(
             new OrHavingSpec(
-                ImmutableList.<HavingSpec>of(
+                ImmutableList.of(
                     new GreaterThanHavingSpec(VarianceTestHelper.stddevOfIndexMetric, 15L) // 3 rows
                 )
             )
@@ -208,7 +205,7 @@ public void testPostAggHavingSpec()
 
     query = query.withLimitSpec(
         new DefaultLimitSpec(
-            Arrays.<OrderByColumnSpec>asList(
+            Collections.singletonList(
                 OrderByColumnSpec.asc(
                     VarianceTestHelper.stddevOfIndexMetric
                 )
diff --git a/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceTopNQueryTest.java b/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceTopNQueryTest.java
index a526f0957b4..0ff49eec49a 100644
--- a/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceTopNQueryTest.java
+++ b/extensions-core/stats/src/test/java/io/druid/query/aggregation/variance/VarianceTopNQueryTest.java
@@ -28,10 +28,8 @@
 import io.druid.query.QueryRunner;
 import io.druid.query.QueryRunnerTestHelper;
 import io.druid.query.Result;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.topn.TopNQuery;
 import io.druid.query.topn.TopNQueryBuilder;
 import io.druid.query.topn.TopNQueryConfig;
@@ -44,6 +42,7 @@
 import org.junit.runners.Parameterized;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -76,7 +75,7 @@ public void testFullOnTopNOverUniques()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     VarianceTestHelper.commonPlusVarAggregators,
                     Lists.newArrayList(
@@ -86,44 +85,44 @@ public void testFullOnTopNOverUniques()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "spot")
-                                .put("rows", 837L)
-                                .put("index", 95606.57232284546D)
-                                .put("addRowsIndexConstant", 96444.57232284546D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
-                                .put("maxIndex", 277.2735290527344D)
-                                .put("minIndex", 59.02102279663086D)
-                                .put("index_var", 439.3851694586573D)
-                                .build(),
+                        .put("market", "spot")
+                        .put("rows", 837L)
+                        .put("index", 95606.57232284546D)
+                        .put("addRowsIndexConstant", 96444.57232284546D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
+                        .put("maxIndex", 277.2735290527344D)
+                        .put("minIndex", 59.02102279663086D)
+                        .put("index_var", 439.3851694586573D)
+                        .build(),
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "total_market")
-                                .put("rows", 186L)
-                                .put("index", 215679.82879638672D)
-                                .put("addRowsIndexConstant", 215866.82879638672D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1743.9217529296875D)
-                                .put("minIndex", 792.3260498046875D)
-                                .put("index_var", 27679.900887366413D)
-                                .build(),
+                        .put("market", "total_market")
+                        .put("rows", 186L)
+                        .put("index", 215679.82879638672D)
+                        .put("addRowsIndexConstant", 215866.82879638672D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1743.9217529296875D)
+                        .put("minIndex", 792.3260498046875D)
+                        .put("index_var", 27679.900887366413D)
+                        .build(),
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "upfront")
-                                .put("rows", 186L)
-                                .put("index", 192046.1060180664D)
-                                .put("addRowsIndexConstant", 192233.1060180664D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1870.06103515625D)
-                                .put("minIndex", 545.9906005859375D)
-                                .put("index_var", 79699.9780741607D)
-                                .build()
+                        .put("market", "upfront")
+                        .put("rows", 186L)
+                        .put("index", 192046.1060180664D)
+                        .put("addRowsIndexConstant", 192233.1060180664D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1870.06103515625D)
+                        .put("minIndex", 545.9906005859375D)
+                        .put("index_var", 79699.9780741607D)
+                        .build()
                 )
             )
         )
@@ -143,7 +142,7 @@ public void testFullOnTopNOverUniques()
     final QueryRunner<Result<TopNResultValue>> mergeRunner = chest.mergeResults(runner);
     final Sequence<Result<TopNResultValue>> retval = mergeRunner.run(
         QueryPlus.wrap(query),
-        ImmutableMap.<String, Object>of()
+        ImmutableMap.of()
     );
     TestHelper.assertExpectedResults(expectedResults, retval);
     return retval;
diff --git a/hll/src/test/java/io/druid/hll/HyperLogLogSerdeBenchmarkTest.java b/hll/src/test/java/io/druid/hll/HyperLogLogSerdeBenchmarkTest.java
index 91514d7899f..7cce157e076 100644
--- a/hll/src/test/java/io/druid/hll/HyperLogLogSerdeBenchmarkTest.java
+++ b/hll/src/test/java/io/druid/hll/HyperLogLogSerdeBenchmarkTest.java
@@ -58,7 +58,7 @@ public HyperLogLogSerdeBenchmarkTest(final HyperLogLogCollector collector, Long
   @Parameterized.Parameters
   public static Collection<Object[]> getParameters()
   {
-    return ImmutableList.<Object[]>of(
+    return ImmutableList.of(
         (Object[]) Arrays.asList(new priorByteBufferSerializer(), new Long(1 << 10)).toArray(),
         (Object[]) Arrays.asList(new newByteBufferSerializer(), new Long(1 << 10)).toArray(),
         (Object[]) Arrays.asList(new newByteBufferSerializerWithPuts(), new Long(1 << 10)).toArray(),
diff --git a/indexing-hadoop/src/main/java/io/druid/indexer/DeterminePartitionsJob.java b/indexing-hadoop/src/main/java/io/druid/indexer/DeterminePartitionsJob.java
index 55c9a3d4132..9d61d983b94 100644
--- a/indexing-hadoop/src/main/java/io/druid/indexer/DeterminePartitionsJob.java
+++ b/indexing-hadoop/src/main/java/io/druid/indexer/DeterminePartitionsJob.java
@@ -622,7 +622,7 @@ protected void innerReduce(
       final DimValueCount firstDvc = iterator.next();
       final int totalRows = firstDvc.numRows;
 
-      if (!firstDvc.dim.equals("") || !firstDvc.value.equals("")) {
+      if (!"".equals(firstDvc.dim) || !"".equals(firstDvc.value)) {
         throw new IllegalStateException("WTF?! Expected total row indicator on first k/v pair!");
       }
 
diff --git a/indexing-hadoop/src/main/java/io/druid/indexer/HadoopDruidIndexerConfig.java b/indexing-hadoop/src/main/java/io/druid/indexer/HadoopDruidIndexerConfig.java
index e803893666b..d4fcdbf944f 100644
--- a/indexing-hadoop/src/main/java/io/druid/indexer/HadoopDruidIndexerConfig.java
+++ b/indexing-hadoop/src/main/java/io/druid/indexer/HadoopDruidIndexerConfig.java
@@ -102,7 +102,7 @@
   static {
     injector = Initialization.makeInjectorWithModules(
         GuiceInjectors.makeStartupInjector(),
-        ImmutableList.<Module>of(
+        ImmutableList.of(
             new Module()
             {
               @Override
diff --git a/indexing-hadoop/src/main/java/io/druid/indexer/HadoopTuningConfig.java b/indexing-hadoop/src/main/java/io/druid/indexer/HadoopTuningConfig.java
index 88dfce2e1c3..35dbcc71d7b 100644
--- a/indexing-hadoop/src/main/java/io/druid/indexer/HadoopTuningConfig.java
+++ b/indexing-hadoop/src/main/java/io/druid/indexer/HadoopTuningConfig.java
@@ -140,7 +140,7 @@ public HadoopTuningConfig(
     this.overwriteFiles = overwriteFiles;
     this.ignoreInvalidRows = ignoreInvalidRows;
     this.jobProperties = (jobProperties == null
-                          ? ImmutableMap.<String, String>of()
+                          ? ImmutableMap.of()
                           : ImmutableMap.copyOf(jobProperties));
     this.combineText = combineText;
     this.useCombiner = useCombiner == null ? DEFAULT_USE_COMBINER : useCombiner.booleanValue();
diff --git a/indexing-hadoop/src/main/java/io/druid/indexer/IndexingHadoopModule.java b/indexing-hadoop/src/main/java/io/druid/indexer/IndexingHadoopModule.java
index 61f137b0963..c9d62e7e17d 100644
--- a/indexing-hadoop/src/main/java/io/druid/indexer/IndexingHadoopModule.java
+++ b/indexing-hadoop/src/main/java/io/druid/indexer/IndexingHadoopModule.java
@@ -25,7 +25,7 @@
 import com.google.inject.Binder;
 import io.druid.initialization.DruidModule;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -35,7 +35,7 @@
   @Override
   public List<? extends Module> getJacksonModules()
   {
-    return Arrays.<Module>asList(
+    return Collections.<Module>singletonList(
         new SimpleModule("IndexingHadoopModule")
             .registerSubtypes(
                 new NamedType(HadoopyStringInputRowParser.class, "hadoopyString")
diff --git a/indexing-hadoop/src/main/java/io/druid/indexer/InputRowSerde.java b/indexing-hadoop/src/main/java/io/druid/indexer/InputRowSerde.java
index 01d1ec27bf7..9d28296a7af 100644
--- a/indexing-hadoop/src/main/java/io/druid/indexer/InputRowSerde.java
+++ b/indexing-hadoop/src/main/java/io/druid/indexer/InputRowSerde.java
@@ -331,11 +331,11 @@ public static final SerializeResult toBytes(
 
           String t = aggFactory.getTypeName();
 
-          if (t.equals("float")) {
+          if ("float".equals(t)) {
             out.writeFloat(agg.getFloat());
-          } else if (t.equals("long")) {
+          } else if ("long".equals(t)) {
             WritableUtils.writeVLong(out, agg.getLong());
-          } else if (t.equals("double")) {
+          } else if ("double".equals(t)) {
             out.writeDouble(agg.getDouble());
           } else {
             //its a complex metric
@@ -450,11 +450,11 @@ public static final InputRow fromBytes(
       for (int i = 0; i < metricSize; i++) {
         String metric = readString(in);
         String type = getType(metric, aggs, i);
-        if (type.equals("float")) {
+        if ("float".equals(type)) {
           event.put(metric, in.readFloat());
-        } else if (type.equals("long")) {
+        } else if ("long".equals(type)) {
           event.put(metric, WritableUtils.readVLong(in));
-        } else if (type.equals("double")) {
+        } else if ("double".equals(type)) {
           event.put(metric, in.readDouble());
         } else {
           ComplexMetricSerde serde = getComplexMetricSerde(type);
diff --git a/indexing-hadoop/src/main/java/io/druid/indexer/hadoop/DatasourceInputFormat.java b/indexing-hadoop/src/main/java/io/druid/indexer/hadoop/DatasourceInputFormat.java
index 82ee2c12f57..36bb08e0952 100644
--- a/indexing-hadoop/src/main/java/io/druid/indexer/hadoop/DatasourceInputFormat.java
+++ b/indexing-hadoop/src/main/java/io/druid/indexer/hadoop/DatasourceInputFormat.java
@@ -164,7 +164,7 @@ protected boolean isSplitable(FileSystem fs, Path file)
             // load spec in segment points specifically zip file itself
             statusList.add(path.getFileSystem(job).getFileStatus(path));
           }
-          return statusList.toArray(new FileStatus[statusList.size()]);
+          return statusList.toArray(new FileStatus[0]);
         }
       };
     }
diff --git a/indexing-hadoop/src/main/java/io/druid/indexer/updater/HadoopDruidConverterConfig.java b/indexing-hadoop/src/main/java/io/druid/indexer/updater/HadoopDruidConverterConfig.java
index 9675e17a523..0ae18357b29 100644
--- a/indexing-hadoop/src/main/java/io/druid/indexer/updater/HadoopDruidConverterConfig.java
+++ b/indexing-hadoop/src/main/java/io/druid/indexer/updater/HadoopDruidConverterConfig.java
@@ -128,7 +128,7 @@ public HadoopDruidConverterConfig(
     this.segments = segments;
     this.validate = validate == null ? false : validate;
     this.hadoopProperties = hadoopProperties == null
-                            ? ImmutableMap.<String, String>of()
+                            ? ImmutableMap.of()
                             : ImmutableMap.copyOf(hadoopProperties);
     this.jobPriority = jobPriority;
     this.segmentOutputPath = Preconditions.checkNotNull(segmentOutputPath, "segmentOutputPath");
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/BatchDeltaIngestionTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/BatchDeltaIngestionTest.java
index e13c5774c90..2251008cd0c 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/BatchDeltaIngestionTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/BatchDeltaIngestionTest.java
@@ -94,7 +94,7 @@
               DataSegment.class
           )
           .withLoadSpec(
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "type",
                   "local",
                   "path",
@@ -113,7 +113,7 @@ public void testReindexing() throws Exception
     List<WindowedDataSegment> segments = ImmutableList.of(new WindowedDataSegment(SEGMENT, INTERVAL_FULL));
 
     HadoopDruidIndexerConfig config = makeHadoopDruidIndexerConfig(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "type",
             "dataSource",
             "ingestionSpec",
@@ -130,19 +130,19 @@ public void testReindexing() throws Exception
     );
 
     List<ImmutableMap<String, Object>> expectedRows = ImmutableList.of(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T00:00:00.000Z"),
             "host", ImmutableList.of("a.example.com"),
             "visited_sum", 100L,
             "unique_hosts", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T01:00:00.000Z"),
             "host", ImmutableList.of("b.example.com"),
             "visited_sum", 150L,
             "unique_hosts", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T02:00:00.000Z"),
             "host", ImmutableList.of("c.example.com"),
             "visited_sum", 200L,
@@ -174,7 +174,7 @@ public void testReindexingWithNewAggregators() throws Exception
         new HyperUniquesAggregatorFactory("unique_hosts2", "unique_hosts")
     };
 
-    Map<String, Object> inputSpec = ImmutableMap.<String, Object>of(
+    Map<String, Object> inputSpec = ImmutableMap.of(
         "type",
         "dataSource",
         "ingestionSpec",
@@ -198,19 +198,19 @@ public void testReindexingWithNewAggregators() throws Exception
     );
 
     List<ImmutableMap<String, Object>> expectedRows = ImmutableList.of(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T00:00:00.000Z"),
             "host", ImmutableList.of("a.example.com"),
             "visited_sum2", 100L,
             "unique_hosts2", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T01:00:00.000Z"),
             "host", ImmutableList.of("b.example.com"),
             "visited_sum2", 150L,
             "unique_hosts2", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T02:00:00.000Z"),
             "host", ImmutableList.of("c.example.com"),
             "visited_sum2", 200L,
@@ -233,7 +233,7 @@ public void testReindexingWithPartialWindow() throws Exception
     List<WindowedDataSegment> segments = ImmutableList.of(new WindowedDataSegment(SEGMENT, INTERVAL_PARTIAL));
 
     HadoopDruidIndexerConfig config = makeHadoopDruidIndexerConfig(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "type",
             "dataSource",
             "ingestionSpec",
@@ -250,13 +250,13 @@ public void testReindexingWithPartialWindow() throws Exception
     );
 
     List<ImmutableMap<String, Object>> expectedRows = ImmutableList.of(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T00:00:00.000Z"),
             "host", ImmutableList.of("a.example.com"),
             "visited_sum", 100L,
             "unique_hosts", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T01:00:00.000Z"),
             "host", ImmutableList.of("b.example.com"),
             "visited_sum", 150L,
@@ -303,12 +303,12 @@ public void testDeltaIngestion() throws Exception
     List<WindowedDataSegment> segments = ImmutableList.of(new WindowedDataSegment(SEGMENT, INTERVAL_FULL));
 
     HadoopDruidIndexerConfig config = makeHadoopDruidIndexerConfig(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "type",
             "multi",
             "children",
             ImmutableList.of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type",
                     "dataSource",
                     "ingestionSpec",
@@ -333,19 +333,19 @@ public void testDeltaIngestion() throws Exception
     );
 
     List<ImmutableMap<String, Object>> expectedRows = ImmutableList.of(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T00:00:00.000Z"),
             "host", ImmutableList.of("a.example.com"),
             "visited_sum", 190L,
             "unique_hosts", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T01:00:00.000Z"),
             "host", ImmutableList.of("b.example.com"),
             "visited_sum", 175L,
             "unique_hosts", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T02:00:00.000Z"),
             "host", ImmutableList.of("c.example.com"),
             "visited_sum", 270L,
@@ -371,7 +371,7 @@ private void testIngestion(
   ) throws Exception
   {
     IndexGeneratorJob job = new IndexGeneratorJob(config);
-    Assert.assertTrue(JobHelper.runJobs(ImmutableList.<Jobby>of(job), config));
+    Assert.assertTrue(JobHelper.runJobs(ImmutableList.of(job), config));
 
     File segmentFolder = new File(
         StringUtils.format(
@@ -501,7 +501,7 @@ private HadoopDruidIndexerConfig makeHadoopDruidIndexerConfig(
     );
 
     config.setShardSpecs(
-        ImmutableMap.<Long, List<HadoopyShardSpec>>of(
+        ImmutableMap.of(
             INTERVAL_FULL.getStartMillis(),
             ImmutableList.of(
                 new HadoopyShardSpec(
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/DetermineHashedPartitionsJobTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/DetermineHashedPartitionsJobTest.java
index 0706fe87f70..e6984536feb 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/DetermineHashedPartitionsJobTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/DetermineHashedPartitionsJobTest.java
@@ -184,7 +184,7 @@ public DetermineHashedPartitionsJobTest(
             HadoopDruidIndexerConfig.JSON_MAPPER
         ),
         new HadoopIOConfig(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "paths",
                 dataFilePath,
                 "type",
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/DeterminePartitionsJobTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/DeterminePartitionsJobTest.java
index 1ee018c68d0..548cbdfd263 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/DeterminePartitionsJobTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/DeterminePartitionsJobTest.java
@@ -243,7 +243,7 @@ public DeterminePartitionsJobTest(
                 HadoopDruidIndexerConfig.JSON_MAPPER
             ),
             new HadoopIOConfig(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "paths",
                     dataFile.getCanonicalPath(),
                     "type",
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/HadoopDruidIndexerConfigTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/HadoopDruidIndexerConfigTest.java
index a07209d1e5e..f1dceb181b5 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/HadoopDruidIndexerConfigTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/HadoopDruidIndexerConfigTest.java
@@ -76,7 +76,7 @@ public void testHashedBucketSelection()
             null,
             jsonMapper
         ),
-        new HadoopIOConfig(ImmutableMap.<String, Object>of("paths", "bar", "type", "static"), null, null),
+        new HadoopIOConfig(ImmutableMap.of("paths", "bar", "type", "static"), null, null),
         new HadoopTuningConfig(
             null,
             null,
@@ -104,7 +104,7 @@ public void testHashedBucketSelection()
     );
     HadoopDruidIndexerConfig config = HadoopDruidIndexerConfig.fromSpec(spec);
     final List<String> dims = Arrays.asList("diM1", "dIM2");
-    final ImmutableMap<String, Object> values = ImmutableMap.<String, Object>of(
+    final ImmutableMap<String, Object> values = ImmutableMap.of(
         "Dim1",
         "1",
         "DiM2",
@@ -143,12 +143,12 @@ public void testNoneShardSpecBucketSelection()
             null,
             jsonMapper
         ),
-        new HadoopIOConfig(ImmutableMap.<String, Object>of("paths", "bar", "type", "static"), null, null),
+        new HadoopIOConfig(ImmutableMap.of("paths", "bar", "type", "static"), null, null),
         new HadoopTuningConfig(
             null,
             null,
             null,
-            ImmutableMap.<Long, List<HadoopyShardSpec>>of(DateTimes.of("2010-01-01T01:00:00").getMillis(),
+            ImmutableMap.of(DateTimes.of("2010-01-01T01:00:00").getMillis(),
                                                               Lists.newArrayList(new HadoopyShardSpec(
                                                                   NoneShardSpec.instance(),
                                                                   1
@@ -181,7 +181,7 @@ public void testNoneShardSpecBucketSelection()
     );
     HadoopDruidIndexerConfig config = HadoopDruidIndexerConfig.fromSpec(spec);
     final List<String> dims = Arrays.asList("diM1", "dIM2");
-    final ImmutableMap<String, Object> values = ImmutableMap.<String, Object>of(
+    final ImmutableMap<String, Object> values = ImmutableMap.of(
         "Dim1",
         "1",
         "DiM2",
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest.java
index c28c9dea6f1..e1a89eced2e 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest.java
@@ -73,7 +73,7 @@ public HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest()
       testDatasource,
       Intervals.of("2000/3000"),
       "ver",
-      ImmutableMap.<String, Object>of(
+      ImmutableMap.of(
           "type", "local",
           "path", "/tmp/index1.zip"
       ),
@@ -88,7 +88,7 @@ public HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest()
       testDatasource2,
       Intervals.of("2000/3000"),
       "ver2",
-      ImmutableMap.<String, Object>of(
+      ImmutableMap.of(
           "type", "local",
           "path", "/tmp/index2.zip"
       ),
@@ -137,7 +137,7 @@ public void testUpdateSegmentListIfDatasourcePathSpecWithMatchingUserSegments()
             testDatasource,
             testDatasourceInterval,
             null,
-            ImmutableList.<DataSegment>of(SEGMENT),
+            ImmutableList.of(SEGMENT),
             null,
             null,
             null,
@@ -167,7 +167,7 @@ public void testUpdateSegmentListThrowsExceptionWithUserSegmentsMismatch() throw
             testDatasource,
             testDatasourceInterval,
             null,
-            ImmutableList.<DataSegment>of(SEGMENT.withVersion("v2")),
+            ImmutableList.of(SEGMENT.withVersion("v2")),
             null,
             null,
             null,
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/IndexGeneratorCombinerTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/IndexGeneratorCombinerTest.java
index fa1587882a1..555ee76716a 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/IndexGeneratorCombinerTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/IndexGeneratorCombinerTest.java
@@ -87,7 +87,7 @@ public void setUp() throws Exception
                 HadoopDruidIndexerConfig.JSON_MAPPER
             ),
             new HadoopIOConfig(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "paths",
                     "/tmp/dummy",
                     "type",
@@ -158,8 +158,8 @@ public void testMultipleRowsMerged() throws Exception
 
     InputRow row1 = new MapBasedInputRow(
         timestamp,
-        ImmutableList.<String>of("keywords"),
-        ImmutableMap.<String, Object>of(
+        ImmutableList.of("keywords"),
+        ImmutableMap.of(
             "host", "host1",
             "keywords", Arrays.asList("foo", "bar"),
             "visited", 10
@@ -167,8 +167,8 @@ public void testMultipleRowsMerged() throws Exception
     );
     InputRow row2 = new MapBasedInputRow(
         timestamp,
-        ImmutableList.<String>of("keywords"),
-        ImmutableMap.<String, Object>of(
+        ImmutableList.of("keywords"),
+        ImmutableMap.of(
             "host", "host2",
             "keywords", Arrays.asList("foo", "bar"),
             "visited", 5
@@ -224,8 +224,8 @@ public void testMultipleRowsNotMerged() throws Exception
 
     InputRow row1 = new MapBasedInputRow(
         timestamp,
-        ImmutableList.<String>of("host", "keywords"),
-        ImmutableMap.<String, Object>of(
+        ImmutableList.of("host", "keywords"),
+        ImmutableMap.of(
             "host", "host1",
             "keywords", Arrays.asList("foo", "bar"),
             "visited", 10
@@ -233,8 +233,8 @@ public void testMultipleRowsNotMerged() throws Exception
     );
     InputRow row2 = new MapBasedInputRow(
         timestamp,
-        ImmutableList.<String>of("host", "keywords"),
-        ImmutableMap.<String, Object>of(
+        ImmutableList.of("host", "keywords"),
+        ImmutableMap.of(
             "host", "host2",
             "keywords", Arrays.asList("foo", "bar"),
             "visited", 5
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/IndexGeneratorJobTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/IndexGeneratorJobTest.java
index 83a8e755f72..05421b47622 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/IndexGeneratorJobTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/IndexGeneratorJobTest.java
@@ -547,11 +547,11 @@ public void setUp() throws Exception
   private List<ShardSpec> constructShardSpecFromShardInfo(String partitionType, Object[][] shardInfoForEachShard)
   {
     List<ShardSpec> specs = Lists.newArrayList();
-    if (partitionType.equals("hashed")) {
+    if ("hashed".equals(partitionType)) {
       for (Integer[] shardInfo : (Integer[][]) shardInfoForEachShard) {
         specs.add(new HashBasedNumberedShardSpec(shardInfo[0], shardInfo[1], null, HadoopDruidIndexerConfig.JSON_MAPPER));
       }
-    } else if (partitionType.equals("single")) {
+    } else if ("single".equals(partitionType)) {
       int partitionNum = 0;
       for (String[] shardInfo : (String[][]) shardInfoForEachShard) {
         specs.add(new SingleDimensionShardSpec("host", shardInfo[0], shardInfo[1], partitionNum++));
@@ -592,7 +592,7 @@ public void testIndexGeneratorJob() throws IOException
 
   private void verifyJob(IndexGeneratorJob job) throws IOException
   {
-    Assert.assertTrue(JobHelper.runJobs(ImmutableList.<Jobby>of(job), config));
+    Assert.assertTrue(JobHelper.runJobs(ImmutableList.of(job), config));
 
     int segmentNum = 0;
     for (DateTime currTime = interval.getStart(); currTime.isBefore(interval.getEnd()); currTime = currTime.plusDays(1)) {
@@ -626,16 +626,16 @@ private void verifyJob(IndexGeneratorJob job) throws IOException
         Assert.assertEquals(indexZip.getCanonicalPath(), dataSegment.getLoadSpec().get("path"));
         Assert.assertEquals(Integer.valueOf(9), dataSegment.getBinaryVersion());
 
-        if (datasourceName.equals("website")) {
+        if ("website".equals(datasourceName)) {
           Assert.assertEquals("website", dataSegment.getDataSource());
           Assert.assertEquals("host", dataSegment.getDimensions().get(0));
           Assert.assertEquals("visited_num", dataSegment.getMetrics().get(0));
           Assert.assertEquals("unique_hosts", dataSegment.getMetrics().get(1));
-        } else if (datasourceName.equals("inherit_dims")) {
+        } else if ("inherit_dims".equals(datasourceName)) {
           Assert.assertEquals("inherit_dims", dataSegment.getDataSource());
           Assert.assertEquals(ImmutableList.of("X", "Y", "M", "Q", "B", "F"), dataSegment.getDimensions());
           Assert.assertEquals("count", dataSegment.getMetrics().get(0));
-        } else if (datasourceName.equals("inherit_dims2")) {
+        } else if ("inherit_dims2".equals(datasourceName)) {
           Assert.assertEquals("inherit_dims2", dataSegment.getDataSource());
           Assert.assertEquals(ImmutableList.of("B", "F", "M", "Q", "X", "Y"), dataSegment.getDimensions());
           Assert.assertEquals("count", dataSegment.getMetrics().get(0));
@@ -647,12 +647,12 @@ private void verifyJob(IndexGeneratorJob job) throws IOException
           NumberedShardSpec spec = (NumberedShardSpec) dataSegment.getShardSpec();
           Assert.assertEquals(partitionNum, spec.getPartitionNum());
           Assert.assertEquals(shardInfo.length, spec.getPartitions());
-        } else if (partitionType.equals("hashed")) {
+        } else if ("hashed".equals(partitionType)) {
           Integer[] hashShardInfo = (Integer[]) shardInfo[partitionNum];
           HashBasedNumberedShardSpec spec = (HashBasedNumberedShardSpec) dataSegment.getShardSpec();
           Assert.assertEquals((int) hashShardInfo[0], spec.getPartitionNum());
           Assert.assertEquals((int) hashShardInfo[1], spec.getPartitions());
-        } else if (partitionType.equals("single")) {
+        } else if ("single".equals(partitionType)) {
           String[] singleDimensionShardInfo = (String[]) shardInfo[partitionNum];
           SingleDimensionShardSpec spec = (SingleDimensionShardSpec) dataSegment.getShardSpec();
           Assert.assertEquals(singleDimensionShardInfo[0], spec.getStart());
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/InputRowSerdeTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/InputRowSerdeTest.java
index e0354832025..3b508416b56 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/InputRowSerdeTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/InputRowSerdeTest.java
@@ -179,7 +179,7 @@ public void testThrowParseExceptions()
         aggregatorFactories
     );
     Assert.assertEquals(
-        Arrays.asList("Unable to parse value[m3v] for field[m3]"),
+        Collections.singletonList("Unable to parse value[m3v] for field[m3]"),
         result.getParseExceptionMessages()
     );
   }
@@ -198,7 +198,7 @@ public void testDimensionParseExceptions()
     };
 
     DimensionsSpec dimensionsSpec = new DimensionsSpec(
-        Arrays.asList(
+        Collections.singletonList(
             new LongDimensionSchema("d1")
         ),
         null,
@@ -206,12 +206,12 @@ public void testDimensionParseExceptions()
     );
     result = InputRowSerde.toBytes(InputRowSerde.getTypeHelperMap(dimensionsSpec), in, aggregatorFactories);
     Assert.assertEquals(
-        Arrays.asList("could not convert value [d1v] to long"),
+        Collections.singletonList("could not convert value [d1v] to long"),
         result.getParseExceptionMessages()
     );
 
     dimensionsSpec = new DimensionsSpec(
-        Arrays.asList(
+        Collections.singletonList(
             new FloatDimensionSchema("d1")
         ),
         null,
@@ -219,12 +219,12 @@ public void testDimensionParseExceptions()
     );
     result = InputRowSerde.toBytes(InputRowSerde.getTypeHelperMap(dimensionsSpec), in, aggregatorFactories);
     Assert.assertEquals(
-        Arrays.asList("could not convert value [d1v] to float"),
+        Collections.singletonList("could not convert value [d1v] to float"),
         result.getParseExceptionMessages()
     );
 
     dimensionsSpec = new DimensionsSpec(
-        Arrays.asList(
+        Collections.singletonList(
             new DoubleDimensionSchema("d1")
         ),
         null,
@@ -232,7 +232,7 @@ public void testDimensionParseExceptions()
     );
     result = InputRowSerde.toBytes(InputRowSerde.getTypeHelperMap(dimensionsSpec), in, aggregatorFactories);
     Assert.assertEquals(
-        Arrays.asList("could not convert value [d1v] to double"),
+        Collections.singletonList("could not convert value [d1v] to double"),
         result.getParseExceptionMessages()
     );
   }
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/JobHelperTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/JobHelperTest.java
index d137eef521a..ec45edb6d19 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/JobHelperTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/JobHelperTest.java
@@ -99,7 +99,7 @@ public void setup() throws Exception
                 HadoopDruidIndexerConfig.JSON_MAPPER
             ),
             new HadoopIOConfig(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "paths",
                     dataFile.getCanonicalPath(),
                     "type",
@@ -167,13 +167,13 @@ public void testGoogleGetURIFromSegment() throws URISyntaxException
         "test1",
         Intervals.of("2000/3000"),
         "ver",
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "type", "google",
             "bucket", "test-test",
             "path", "tmp/foo:bar/index1.zip"
         ),
-        ImmutableList.<String>of(),
-        ImmutableList.<String>of(),
+        ImmutableList.of(),
+        ImmutableList.of(),
         NoneShardSpec.instance(),
         9,
         1024
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceInputFormatTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceInputFormatTest.java
index 00933056de1..0beb63995b0 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceInputFormatTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceInputFormatTest.java
@@ -81,7 +81,7 @@ public void setUp() throws Exception
                 "test1",
                 Intervals.of("2000/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "local",
                     "path", "/tmp/index1.zip"
                 ),
@@ -97,7 +97,7 @@ public void setUp() throws Exception
                 "test1",
                 Intervals.of("2050/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "hdfs",
                     "path", "/tmp/index2.zip"
                 ),
@@ -113,7 +113,7 @@ public void setUp() throws Exception
                 "test1",
                 Intervals.of("2030/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "hdfs",
                     "path", "/tmp/index3.zip"
                 ),
@@ -132,7 +132,7 @@ public void setUp() throws Exception
                 "test2",
                 Intervals.of("2000/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "local",
                     "path", "/tmp/index4.zip"
                 ),
@@ -373,7 +373,7 @@ public void testGetSplitsUsingDefaultSupplier() throws Exception
                 "test1",
                 Intervals.of("2000/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "local",
                     "path", tmpFile.getPath()
                 ),
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceInputSplitTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceInputSplitTest.java
index ae9dd470cd1..d579876bd44 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceInputSplitTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceInputSplitTest.java
@@ -48,7 +48,7 @@ public void testSerde() throws Exception
                     "test",
                     Intervals.of("2000/3000"),
                     "ver",
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "type", "local",
                         "path", "/tmp/index.zip"
                     ),
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceRecordReaderTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceRecordReaderTest.java
index 2a1cab00ce3..75e9b1288b5 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceRecordReaderTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/DatasourceRecordReaderTest.java
@@ -50,7 +50,7 @@ public void testSanity() throws Exception
     DataSegment segment = HadoopDruidIndexerConfig.JSON_MAPPER
         .readValue(segmentDesciptor, DataSegment.class)
         .withLoadSpec(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "type",
                 "local",
                 "path",
@@ -100,19 +100,19 @@ public void testSanity() throws Exception
   private void verifyRows(List<InputRow> actualRows)
   {
     List<ImmutableMap<String, Object>> expectedRows = ImmutableList.of(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T00:00:00.000Z"),
             "host", ImmutableList.of("a.example.com"),
             "visited_sum", 100L,
             "unique_hosts", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T01:00:00.000Z"),
             "host", ImmutableList.of("b.example.com"),
             "visited_sum", 150L,
             "unique_hosts", 1.0d
         ),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "time", DateTimes.of("2014-10-22T02:00:00.000Z"),
             "host", ImmutableList.of("c.example.com"),
             "visited_sum", 200L,
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/WindowedDataSegmentTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/WindowedDataSegmentTest.java
index 6eed0be4ba6..5274b41d79d 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/WindowedDataSegmentTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/hadoop/WindowedDataSegmentTest.java
@@ -39,7 +39,7 @@
       "test1",
       Intervals.of("2000/3000"),
       "ver",
-      ImmutableMap.<String, Object>of(
+      ImmutableMap.of(
           "type", "local",
           "path", "/tmp/index1.zip"
       ),
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/path/DatasourcePathSpecTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/path/DatasourcePathSpecTest.java
index e714f57ab12..ecc3e998d93 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/path/DatasourcePathSpecTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/path/DatasourcePathSpecTest.java
@@ -104,7 +104,7 @@ public DatasourcePathSpecTest()
                 ingestionSpec1.getDataSource(),
                 Intervals.of("2000/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "local",
                     "path", "/tmp/index.zip"
                 ),
@@ -120,7 +120,7 @@ public DatasourcePathSpecTest()
                 ingestionSpec1.getDataSource(),
                 Intervals.of("2050/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "hdfs",
                     "path", "/tmp/index.zip"
                 ),
@@ -139,7 +139,7 @@ public DatasourcePathSpecTest()
                 ingestionSpec2.getDataSource(),
                 Intervals.of("2000/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "local",
                     "path", "/tmp2/index.zip"
                 ),
@@ -348,7 +348,7 @@ private HadoopDruidIndexerConfig makeHadoopDruidIndexerConfig()
                 HadoopDruidIndexerConfig.JSON_MAPPER
             ),
             new HadoopIOConfig(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "paths",
                     "/tmp/dummy",
                     "type",
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/path/MultiplePathSpecTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/path/MultiplePathSpecTest.java
index 69fb1b97301..44908a4df7d 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/path/MultiplePathSpecTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/path/MultiplePathSpecTest.java
@@ -35,7 +35,7 @@
   public void testSerde() throws Exception
   {
     PathSpec expected = new MultiplePathSpec(
-        Lists.<PathSpec>newArrayList(
+        Lists.newArrayList(
             new StaticPathSpec("/tmp/path1", null),
             new StaticPathSpec("/tmp/path2", TextInputFormat.class)
         )
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/updater/HadoopConverterJobTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/updater/HadoopConverterJobTest.java
index 41d32b27c14..95fa0480b4d 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/updater/HadoopConverterJobTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/updater/HadoopConverterJobTest.java
@@ -180,13 +180,13 @@ public InputStream openStream() throws IOException
                 new UniformGranularitySpec(
                     Granularities.MONTH,
                     Granularities.DAY,
-                    ImmutableList.<Interval>of(interval)
+                    ImmutableList.of(interval)
                 ),
                 null,
                 HadoopDruidIndexerConfig.JSON_MAPPER
             ),
             new HadoopIOConfig(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "static",
                     "paths", tmpInputFile.getAbsolutePath()
                 ),
@@ -302,7 +302,7 @@ public MetadataSegmentManagerConfig get()
             oldSemgments,
             true,
             tmpDir.toURI(),
-            ImmutableMap.<String, String>of(),
+            ImmutableMap.of(),
             null,
             tmpSegmentDir.toURI().toString()
         )
@@ -351,12 +351,12 @@ public int compare(DataSegment o1, DataSegment o2)
       Assert.assertEquals(oldSegment.getDataSource(), newSegment.getDataSource());
       Assert.assertEquals(oldSegment.getInterval(), newSegment.getInterval());
       Assert.assertEquals(
-          Sets.<String>newHashSet(oldSegment.getMetrics()),
-          Sets.<String>newHashSet(newSegment.getMetrics())
+          Sets.newHashSet(oldSegment.getMetrics()),
+          Sets.newHashSet(newSegment.getMetrics())
       );
       Assert.assertEquals(
-          Sets.<String>newHashSet(oldSegment.getDimensions()),
-          Sets.<String>newHashSet(newSegment.getDimensions())
+          Sets.newHashSet(oldSegment.getDimensions()),
+          Sets.newHashSet(newSegment.getDimensions())
       );
       Assert.assertEquals(oldSegment.getVersion() + "_converted", newSegment.getVersion());
       Assert.assertTrue(oldSegment.getSize() < newSegment.getSize());
@@ -408,7 +408,7 @@ public MetadataSegmentManagerConfig get()
             oldSemgments,
             true,
             tmpDir.toURI(),
-            ImmutableMap.<String, String>of(),
+            ImmutableMap.of(),
             null,
             tmpSegmentDir.toURI().toString()
         )
diff --git a/indexing-hadoop/src/test/java/io/druid/indexer/updater/HadoopDruidConverterConfigTest.java b/indexing-hadoop/src/test/java/io/druid/indexer/updater/HadoopDruidConverterConfigTest.java
index 77625872aa1..b6ca3fa55c0 100644
--- a/indexing-hadoop/src/test/java/io/druid/indexer/updater/HadoopDruidConverterConfigTest.java
+++ b/indexing-hadoop/src/test/java/io/druid/indexer/updater/HadoopDruidConverterConfigTest.java
@@ -25,7 +25,6 @@
 import io.druid.jackson.DefaultObjectMapper;
 import io.druid.java.util.common.Intervals;
 import io.druid.segment.IndexSpec;
-import io.druid.timeline.DataSegment;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.Test;
@@ -46,10 +45,10 @@ public void simpleSerDe() throws IOException
         "datasource",
         Intervals.of("2000/2010"),
         new IndexSpec(),
-        ImmutableList.<DataSegment>of(),
+        ImmutableList.of(),
         true,
         URI.create("file:/dev/null"),
-        ImmutableMap.<String, String>of(),
+        ImmutableMap.of(),
         "HIGH",
         temporaryFolder.newFolder().getAbsolutePath()
     );
diff --git a/indexing-service/src/main/java/io/druid/indexing/appenderator/ActionBasedUsedSegmentChecker.java b/indexing-service/src/main/java/io/druid/indexing/appenderator/ActionBasedUsedSegmentChecker.java
index e0f359a0c53..75dcc3992ae 100644
--- a/indexing-service/src/main/java/io/druid/indexing/appenderator/ActionBasedUsedSegmentChecker.java
+++ b/indexing-service/src/main/java/io/druid/indexing/appenderator/ActionBasedUsedSegmentChecker.java
@@ -52,7 +52,7 @@ public ActionBasedUsedSegmentChecker(TaskActionClient taskActionClient)
     final Map<String, Set<SegmentIdentifier>> identifiersByDataSource = Maps.newTreeMap();
     for (SegmentIdentifier identifier : identifiers) {
       if (!identifiersByDataSource.containsKey(identifier.getDataSource())) {
-        identifiersByDataSource.put(identifier.getDataSource(), Sets.<SegmentIdentifier>newHashSet());
+        identifiersByDataSource.put(identifier.getDataSource(), Sets.newHashSet());
       }
       identifiersByDataSource.get(identifier.getDataSource()).add(identifier);
     }
diff --git a/indexing-service/src/main/java/io/druid/indexing/common/task/AppendTask.java b/indexing-service/src/main/java/io/druid/indexing/common/task/AppendTask.java
index f69ef8bcbef..af3bfd8f540 100644
--- a/indexing-service/src/main/java/io/druid/indexing/common/task/AppendTask.java
+++ b/indexing-service/src/main/java/io/druid/indexing/common/task/AppendTask.java
@@ -122,7 +122,7 @@ public SegmentToMergeHolder apply(PartitionChunk<DataSegment> chunkInput)
     IndexMerger indexMerger = toolbox.getIndexMergerV9();
     return indexMerger.append(
         adapters,
-        aggregators == null ? null : aggregators.toArray(new AggregatorFactory[aggregators.size()]),
+        aggregators == null ? null : aggregators.toArray(new AggregatorFactory[0]),
         outDir,
         indexSpec,
         getSegmentWriteOutMediumFactory()
diff --git a/indexing-service/src/main/java/io/druid/indexing/common/task/HadoopConverterTask.java b/indexing-service/src/main/java/io/druid/indexing/common/task/HadoopConverterTask.java
index ad29a1d50f5..a53c6d4cf48 100644
--- a/indexing-service/src/main/java/io/druid/indexing/common/task/HadoopConverterTask.java
+++ b/indexing-service/src/main/java/io/druid/indexing/common/task/HadoopConverterTask.java
@@ -140,7 +140,7 @@ public String getClasspathPrefix()
       Map<String, Object> context
   )
   {
-    return Collections.<Task>singleton(
+    return Collections.singleton(
         new ConverterSubTask(
             ImmutableList.copyOf(segments),
             this,
diff --git a/indexing-service/src/main/java/io/druid/indexing/common/task/HadoopTask.java b/indexing-service/src/main/java/io/druid/indexing/common/task/HadoopTask.java
index 9935162acda..0d5b57fd683 100644
--- a/indexing-service/src/main/java/io/druid/indexing/common/task/HadoopTask.java
+++ b/indexing-service/src/main/java/io/druid/indexing/common/task/HadoopTask.java
@@ -164,7 +164,7 @@ public static ClassLoader buildClassLoader(final List<String> hadoopDependencyCo
     }
 
     final ClassLoader classLoader = new URLClassLoader(
-        localClassLoaderURLs.toArray(new URL[localClassLoaderURLs.size()]),
+        localClassLoaderURLs.toArray(new URL[0]),
         null
     );
 
diff --git a/indexing-service/src/main/java/io/druid/indexing/common/task/MergeTask.java b/indexing-service/src/main/java/io/druid/indexing/common/task/MergeTask.java
index d150c6da4bb..0741e1d3bea 100644
--- a/indexing-service/src/main/java/io/druid/indexing/common/task/MergeTask.java
+++ b/indexing-service/src/main/java/io/druid/indexing/common/task/MergeTask.java
@@ -92,7 +92,7 @@ public QueryableIndex apply(@Nullable File input)
             }
         ),
         rollup,
-        aggregators.toArray(new AggregatorFactory[aggregators.size()]),
+        aggregators.toArray(new AggregatorFactory[0]),
         outDir,
         indexSpec,
         getSegmentWriteOutMediumFactory()
diff --git a/indexing-service/src/main/java/io/druid/indexing/common/tasklogs/FileTaskLogs.java b/indexing-service/src/main/java/io/druid/indexing/common/tasklogs/FileTaskLogs.java
index 61d41755c12..5f0efcb9285 100644
--- a/indexing-service/src/main/java/io/druid/indexing/common/tasklogs/FileTaskLogs.java
+++ b/indexing-service/src/main/java/io/druid/indexing/common/tasklogs/FileTaskLogs.java
@@ -78,7 +78,7 @@ public void pushTaskReports(String taskid, File reportFile) throws IOException
   {
     final File file = fileForTask(taskid, "log");
     if (file.exists()) {
-      return Optional.<ByteSource>of(
+      return Optional.of(
           new ByteSource()
           {
             @Override
@@ -98,7 +98,7 @@ public InputStream openStream() throws IOException
   {
     final File file = fileForTask(taskid, "report.json");
     if (file.exists()) {
-      return Optional.<ByteSource>of(
+      return Optional.of(
           new ByteSource()
           {
             @Override
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/ForkingTaskRunner.java b/indexing-service/src/main/java/io/druid/indexing/overlord/ForkingTaskRunner.java
index 27b069044ba..c31173ec72d 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/ForkingTaskRunner.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/ForkingTaskRunner.java
@@ -662,7 +662,7 @@ public void shutdown(final String taskid)
   public Collection<TaskRunnerWorkItem> getKnownTasks()
   {
     synchronized (tasks) {
-      return Lists.<TaskRunnerWorkItem>newArrayList(tasks.values());
+      return Lists.newArrayList(tasks.values());
     }
   }
 
@@ -692,7 +692,7 @@ public void start()
       }
     }
 
-    return Optional.<ByteSource>of(
+    return Optional.of(
         new ByteSource()
         {
           @Override
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunner.java b/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunner.java
index b3e08b66c48..a4c14f9203d 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunner.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunner.java
@@ -580,7 +580,7 @@ public void shutdown(final String taskId)
     } else {
       // Worker is still running this task
       final URL url = makeWorkerURL(zkWorker.getWorker(), StringUtils.format("/task/%s/log?offset=%d", taskId, offset));
-      return Optional.<ByteSource>of(
+      return Optional.of(
           new ByteSource()
           {
             @Override
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunnerWorkItem.java b/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunnerWorkItem.java
index 4db6ea17c01..48136074cc8 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunnerWorkItem.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/RemoteTaskRunnerWorkItem.java
@@ -43,7 +43,7 @@ public RemoteTaskRunnerWorkItem(
       String dataSource
   )
   {
-    this(taskId, taskType, SettableFuture.<TaskStatus>create(), worker, location, dataSource);
+    this(taskId, taskType, SettableFuture.create(), worker, location, dataSource);
   }
 
   private RemoteTaskRunnerWorkItem(
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/TaskStorage.java b/indexing-service/src/main/java/io/druid/indexing/overlord/TaskStorage.java
index b24dd35a123..141e08d8425 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/TaskStorage.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/TaskStorage.java
@@ -127,7 +127,7 @@
    * Returns a list of currently running or pending tasks as stored in the storage facility as {@link TaskInfo}. No particular order
    * is guaranteed, but implementations are encouraged to return tasks in ascending order of creation.
    *
-   * @param datasource datasource
+   * @param dataSource datasource
    *
    * @return list of {@link TaskInfo}
    */
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/autoscaling/PendingTaskBasedWorkerProvisioningStrategy.java b/indexing-service/src/main/java/io/druid/indexing/overlord/autoscaling/PendingTaskBasedWorkerProvisioningStrategy.java
index c2847ea7687..26326c10128 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/autoscaling/PendingTaskBasedWorkerProvisioningStrategy.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/autoscaling/PendingTaskBasedWorkerProvisioningStrategy.java
@@ -478,8 +478,8 @@ private static ImmutableWorkerInfo createDummyWorker(String scheme, String host,
     return new ImmutableWorkerInfo(
         new Worker(scheme, host, "-2", capacity, version),
         0,
-        Sets.<String>newHashSet(),
-        Sets.<String>newHashSet(),
+        Sets.newHashSet(),
+        Sets.newHashSet(),
         DateTimes.nowUtc()
     );
   }
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/autoscaling/ec2/EC2AutoScaler.java b/indexing-service/src/main/java/io/druid/indexing/overlord/autoscaling/ec2/EC2AutoScaler.java
index 895764be6c8..b438ec69030 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/autoscaling/ec2/EC2AutoScaler.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/autoscaling/ec2/EC2AutoScaler.java
@@ -186,7 +186,7 @@ public String apply(Instance input)
   public AutoScalingData terminate(List<String> ips)
   {
     if (ips.isEmpty()) {
-      return new AutoScalingData(Lists.<String>newArrayList());
+      return new AutoScalingData(Lists.newArrayList());
     }
 
     DescribeInstancesResult result = amazonEC2Client.describeInstances(
@@ -227,7 +227,7 @@ public String apply(Instance input)
   public AutoScalingData terminateWithIds(List<String> ids)
   {
     if (ids.isEmpty()) {
-      return new AutoScalingData(Lists.<String>newArrayList());
+      return new AutoScalingData(Lists.newArrayList());
     }
 
     try {
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/hrtr/HttpRemoteTaskRunner.java b/indexing-service/src/main/java/io/druid/indexing/overlord/hrtr/HttpRemoteTaskRunner.java
index 08ec37198b1..0e72e9d6e55 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/hrtr/HttpRemoteTaskRunner.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/hrtr/HttpRemoteTaskRunner.java
@@ -848,7 +848,7 @@ public WorkerTaskRunnerConfig getConfig()
     } else {
       // Worker is still running this task
       final URL url = WorkerHolder.makeWorkerURL(worker, StringUtils.format("/druid/worker/v1/task/%s/log?offset=%d", taskId, offset));
-      return Optional.<ByteSource>of(
+      return Optional.of(
           new ByteSource()
           {
             @Override
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/http/security/SupervisorResourceFilter.java b/indexing-service/src/main/java/io/druid/indexing/overlord/http/security/SupervisorResourceFilter.java
index dc0fc6d08fe..23f2cac38a3 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/http/security/SupervisorResourceFilter.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/http/security/SupervisorResourceFilter.java
@@ -70,7 +70,7 @@ public ContainerRequest filter(ContainerRequest request)
                          @Override
                          public boolean apply(PathSegment input)
                          {
-                           return input.getPath().equals("supervisor");
+                           return "supervisor".equals(input.getPath());
                          }
                        }
                    ) + 1
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/http/security/TaskResourceFilter.java b/indexing-service/src/main/java/io/druid/indexing/overlord/http/security/TaskResourceFilter.java
index ba9b0a10470..c5d937da725 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/http/security/TaskResourceFilter.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/http/security/TaskResourceFilter.java
@@ -76,7 +76,7 @@ public ContainerRequest filter(ContainerRequest request)
                          @Override
                          public boolean apply(PathSegment input)
                          {
-                           return input.getPath().equals("task");
+                           return "task".equals(input.getPath());
                          }
                        }
                    ) + 1
diff --git a/indexing-service/src/main/java/io/druid/indexing/overlord/supervisor/SupervisorManager.java b/indexing-service/src/main/java/io/druid/indexing/overlord/supervisor/SupervisorManager.java
index f9a55644432..355465cec5d 100644
--- a/indexing-service/src/main/java/io/druid/indexing/overlord/supervisor/SupervisorManager.java
+++ b/indexing-service/src/main/java/io/druid/indexing/overlord/supervisor/SupervisorManager.java
@@ -63,7 +63,7 @@ public SupervisorManager(MetadataSupervisorManager metadataSupervisorManager)
   public Optional<SupervisorSpec> getSupervisorSpec(String id)
   {
     Pair<Supervisor, SupervisorSpec> supervisor = supervisors.get(id);
-    return supervisor == null ? Optional.<SupervisorSpec>absent() : Optional.fromNullable(supervisor.rhs);
+    return supervisor == null ? Optional.absent() : Optional.fromNullable(supervisor.rhs);
   }
 
   public boolean createOrUpdateAndStartSupervisor(SupervisorSpec spec)
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/actions/SegmentInsertActionTest.java b/indexing-service/src/test/java/io/druid/indexing/common/actions/SegmentInsertActionTest.java
index 394b84d1541..f9d7079df5a 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/actions/SegmentInsertActionTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/actions/SegmentInsertActionTest.java
@@ -56,9 +56,9 @@
       DATA_SOURCE,
       INTERVAL,
       PARTY_YEAR,
-      ImmutableMap.<String, Object>of(),
-      ImmutableList.<String>of(),
-      ImmutableList.<String>of(),
+      ImmutableMap.of(),
+      ImmutableList.of(),
+      ImmutableList.of(),
       new LinearShardSpec(0),
       9,
       1024
@@ -68,9 +68,9 @@
       DATA_SOURCE,
       INTERVAL,
       PARTY_YEAR,
-      ImmutableMap.<String, Object>of(),
-      ImmutableList.<String>of(),
-      ImmutableList.<String>of(),
+      ImmutableMap.of(),
+      ImmutableList.of(),
+      ImmutableList.of(),
       new LinearShardSpec(1),
       9,
       1024
@@ -80,9 +80,9 @@
       DATA_SOURCE,
       INTERVAL,
       THE_DISTANT_FUTURE,
-      ImmutableMap.<String, Object>of(),
-      ImmutableList.<String>of(),
-      ImmutableList.<String>of(),
+      ImmutableMap.of(),
+      ImmutableList.of(),
+      ImmutableList.of(),
       new LinearShardSpec(1),
       9,
       1024
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/actions/SegmentTransactionalInsertActionTest.java b/indexing-service/src/test/java/io/druid/indexing/common/actions/SegmentTransactionalInsertActionTest.java
index b9717d63f16..a8acbe8db04 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/actions/SegmentTransactionalInsertActionTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/actions/SegmentTransactionalInsertActionTest.java
@@ -54,9 +54,9 @@
       DATA_SOURCE,
       INTERVAL,
       PARTY_YEAR,
-      ImmutableMap.<String, Object>of(),
-      ImmutableList.<String>of(),
-      ImmutableList.<String>of(),
+      ImmutableMap.of(),
+      ImmutableList.of(),
+      ImmutableList.of(),
       new LinearShardSpec(0),
       9,
       1024
@@ -66,9 +66,9 @@
       DATA_SOURCE,
       INTERVAL,
       PARTY_YEAR,
-      ImmutableMap.<String, Object>of(),
-      ImmutableList.<String>of(),
-      ImmutableList.<String>of(),
+      ImmutableMap.of(),
+      ImmutableList.of(),
+      ImmutableList.of(),
       new LinearShardSpec(1),
       9,
       1024
@@ -78,9 +78,9 @@
       DATA_SOURCE,
       INTERVAL,
       THE_DISTANT_FUTURE,
-      ImmutableMap.<String, Object>of(),
-      ImmutableList.<String>of(),
-      ImmutableList.<String>of(),
+      ImmutableMap.of(),
+      ImmutableList.of(),
+      ImmutableList.of(),
       new LinearShardSpec(1),
       9,
       1024
@@ -143,7 +143,7 @@ public void testFailTransactional() throws Exception
         actionTestKit.getTaskActionToolbox()
     );
 
-    Assert.assertEquals(new SegmentPublishResult(ImmutableSet.<DataSegment>of(), false), result);
+    Assert.assertEquals(new SegmentPublishResult(ImmutableSet.of(), false), result);
   }
 
   @Test
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/AppenderatorDriverRealtimeIndexTaskTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/AppenderatorDriverRealtimeIndexTaskTest.java
index 0264a57a0ea..b0b8ca30983 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/AppenderatorDriverRealtimeIndexTaskTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/AppenderatorDriverRealtimeIndexTaskTest.java
@@ -97,7 +97,6 @@
 import io.druid.query.Query;
 import io.druid.query.QueryPlus;
 import io.druid.query.QueryRunner;
-import io.druid.query.QueryRunnerFactory;
 import io.druid.query.QueryRunnerFactoryConglomerate;
 import io.druid.query.QueryToolChest;
 import io.druid.query.QueryWatcher;
@@ -148,6 +147,7 @@
 import java.nio.file.Files;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -626,7 +626,7 @@ public void testReportParseExceptionsOnBadMetric() throws Exception
 
     Map<String, Object> expectedUnparseables = ImmutableMap.of(
         RowIngestionMeters.BUILD_SEGMENTS,
-        Arrays.asList(
+        Collections.singletonList(
             "Found unparseable columns in row: [MapBasedInputRow{timestamp=1970-01-01T00:50:00.000Z, event={t=3000000, dim1=foo, met1=foo}, dimensions=[dim1, dim2, dim1t, dimLong, dimFloat]}], exceptions: [Unable to parse value[foo] for field[met1],]"
         )
     );
@@ -1376,7 +1376,7 @@ public SegmentPublishResult announceHistoricalSegments(
       }
     };
     final QueryRunnerFactoryConglomerate conglomerate = new DefaultQueryRunnerFactoryConglomerate(
-        ImmutableMap.<Class<? extends Query>, QueryRunnerFactory>of(
+        ImmutableMap.of(
             TimeseriesQuery.class,
             new TimeseriesQueryRunnerFactory(
                 new TimeseriesQueryQueryToolChest(queryRunnerDecorator),
@@ -1473,7 +1473,7 @@ public long sumMetric(final Task task, final DimFilter filter, final String metr
                                   .dataSource("test_ds")
                                   .filters(filter)
                                   .aggregators(
-                                      ImmutableList.<AggregatorFactory>of(
+                                      ImmutableList.of(
                                           new LongSumAggregatorFactory(metric, metric)
                                       )
                                   ).granularity(Granularities.ALL)
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/CompactionTaskTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/CompactionTaskTest.java
index 0300dc8f7f9..846e14dbb73 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/CompactionTaskTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/CompactionTaskTest.java
@@ -627,7 +627,7 @@ private static void assertIngestionSchema(
         final List<AggregatorFactory> aggregatorFactories = new ArrayList<>(segment.getMetrics().size());
 
         for (String columnName : columnNames) {
-          if (columnName.equals(MIXED_TYPE_COLUMN)) {
+          if (MIXED_TYPE_COLUMN.equals(columnName)) {
             columnMap.put(columnName, createColumn(MIXED_TYPE_COLUMN_MAP.get(segment.getInterval())));
           } else if (DIMENSIONS.containsKey(columnName)) {
             columnMap.put(columnName, createColumn(DIMENSIONS.get(columnName)));
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/ConvertSegmentTaskTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/ConvertSegmentTaskTest.java
index 0549481c943..12765063b29 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/ConvertSegmentTaskTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/ConvertSegmentTaskTest.java
@@ -60,9 +60,9 @@ public void testSerializationSimple() throws Exception
         dataSource,
         interval,
         DateTimes.nowUtc().toString(),
-        ImmutableMap.<String, Object>of(),
-        ImmutableList.<String>of(),
-        ImmutableList.<String>of(),
+        ImmutableMap.of(),
+        ImmutableList.of(),
+        ImmutableList.of(),
         NoneShardSpec.instance(),
         9,
         102937
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/HadoopConverterTaskSerDeTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/HadoopConverterTaskSerDeTest.java
index 13a21294a73..5d4052b9f37 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/HadoopConverterTaskSerDeTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/HadoopConverterTaskSerDeTest.java
@@ -47,7 +47,7 @@
   private static final String DATA_SOURCE = "datasource";
   private static final Interval INTERVAL = Intervals.of("2010/2011");
   private static final String SEGMENT_VERSION = "some version";
-  private static final Map<String, Object> LOAD_SPEC = ImmutableMap.<String, Object>of("someKey", "someVal");
+  private static final Map<String, Object> LOAD_SPEC = ImmutableMap.of("someKey", "someVal");
   private static final List<String> DIMENSIONS = ImmutableList.of("dim1", "dim2");
   private static final List<String> METRICS = ImmutableList.of("metric1", "metric2");
   private static final ShardSpec SHARD_SPEC = NoneShardSpec.instance();
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/HadoopTaskTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/HadoopTaskTest.java
index 95dedaa4561..73d75716814 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/HadoopTaskTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/HadoopTaskTest.java
@@ -47,8 +47,8 @@ public void testBuildClassLoader() throws Exception
     final HadoopTask task = new HadoopTask(
         "taskId",
         "dataSource",
-        ImmutableList.<String>of(),
-        ImmutableMap.<String, Object>of()
+        ImmutableList.of(),
+        ImmutableMap.of()
     )
     {
       @Override
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/IndexTaskTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/IndexTaskTest.java
index 9d1b7b34659..c05d2dc41dc 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/IndexTaskTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/IndexTaskTest.java
@@ -32,7 +32,6 @@
 import io.druid.data.input.impl.JSONParseSpec;
 import io.druid.data.input.impl.LongDimensionSchema;
 import io.druid.data.input.impl.ParseSpec;
-import io.druid.data.input.impl.SpatialDimensionSchema;
 import io.druid.data.input.impl.StringDimensionSchema;
 import io.druid.data.input.impl.StringInputRowParser;
 import io.druid.data.input.impl.TimestampSpec;
@@ -536,8 +535,8 @@ public void testCSVFileWithHeader() throws Exception
                 ),
                 new DimensionsSpec(
                     null,
-                    Lists.<String>newArrayList(),
-                    Lists.<SpatialDimensionSchema>newArrayList()
+                    Lists.newArrayList(),
+                    Lists.newArrayList()
                 ),
                 null,
                 null,
@@ -558,8 +557,8 @@ public void testCSVFileWithHeader() throws Exception
 
     Assert.assertEquals(1, segments.size());
 
-    Assert.assertEquals(Arrays.asList("d"), segments.get(0).getDimensions());
-    Assert.assertEquals(Arrays.asList("val"), segments.get(0).getMetrics());
+    Assert.assertEquals(Collections.singletonList("d"), segments.get(0).getDimensions());
+    Assert.assertEquals(Collections.singletonList("val"), segments.get(0).getMetrics());
     Assert.assertEquals(Intervals.of("2014/P1D"), segments.get(0).getInterval());
   }
 
@@ -588,8 +587,8 @@ public void testCSVFileWithHeaderColumnOverride() throws Exception
                 ),
                 new DimensionsSpec(
                     null,
-                    Lists.<String>newArrayList(),
-                    Lists.<SpatialDimensionSchema>newArrayList()
+                    Lists.newArrayList(),
+                    Lists.newArrayList()
                 ),
                 null,
                 Arrays.asList("time", "dim", "val"),
@@ -610,8 +609,8 @@ public void testCSVFileWithHeaderColumnOverride() throws Exception
 
     Assert.assertEquals(1, segments.size());
 
-    Assert.assertEquals(Arrays.asList("d"), segments.get(0).getDimensions());
-    Assert.assertEquals(Arrays.asList("val"), segments.get(0).getMetrics());
+    Assert.assertEquals(Collections.singletonList("d"), segments.get(0).getDimensions());
+    Assert.assertEquals(Collections.singletonList("val"), segments.get(0).getMetrics());
     Assert.assertEquals(Intervals.of("2014/P1D"), segments.get(0).getInterval());
   }
 
@@ -797,8 +796,8 @@ public void testIgnoreParseException() throws Exception
             ),
             new DimensionsSpec(
                 null,
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             Arrays.asList("time", "dim", "val"),
@@ -822,8 +821,8 @@ public void testIgnoreParseException() throws Exception
 
     final List<DataSegment> segments = runTask(indexTask).rhs;
 
-    Assert.assertEquals(Arrays.asList("d"), segments.get(0).getDimensions());
-    Assert.assertEquals(Arrays.asList("val"), segments.get(0).getMetrics());
+    Assert.assertEquals(Collections.singletonList("d"), segments.get(0).getDimensions());
+    Assert.assertEquals(Collections.singletonList("val"), segments.get(0).getMetrics());
     Assert.assertEquals(Intervals.of("2014/P1D"), segments.get(0).getInterval());
   }
 
@@ -850,8 +849,8 @@ public void testReportParseException() throws Exception
             ),
             new DimensionsSpec(
                 null,
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             Arrays.asList("time", "dim", "val"),
@@ -881,7 +880,7 @@ public void testReportParseException() throws Exception
         RowIngestionMeters.DETERMINE_PARTITIONS,
         new ArrayList<>(),
         RowIngestionMeters.BUILD_SEGMENTS,
-        Arrays.asList("Unparseable timestamp found! Event: {time=unparseable, d=a, val=1}")
+        Collections.singletonList("Unparseable timestamp found! Event: {time=unparseable, d=a, val=1}")
     );
     IngestionStatsAndErrorsTaskReportData reportData = getTaskReportData();
     Assert.assertEquals(expectedUnparseables, reportData.getUnparseableEvents());
@@ -941,8 +940,8 @@ public void testMultipleParseExceptionsSuccess() throws Exception
                     new LongDimensionSchema("dimLong"),
                     new FloatDimensionSchema("dimFloat")
                 ),
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             null
@@ -1062,8 +1061,8 @@ public void testMultipleParseExceptionsFailure() throws Exception
                     new LongDimensionSchema("dimLong"),
                     new FloatDimensionSchema("dimFloat")
                 ),
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             Arrays.asList("time", "dim", "dimLong", "dimFloat", "val"),
@@ -1176,8 +1175,8 @@ public void testMultipleParseExceptionsFailureAtDeterminePartitions() throws Exc
                     new LongDimensionSchema("dimLong"),
                     new FloatDimensionSchema("dimFloat")
                 ),
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             Arrays.asList("time", "dim", "dimLong", "dimFloat", "val"),
@@ -1318,7 +1317,7 @@ public void testCsvWithHeaderOfEmptyColumns() throws Exception
           dimensions.equals(Sets.newHashSet("column_2", "column_3"))
       );
 
-      Assert.assertEquals(Arrays.asList("val"), segment.getMetrics());
+      Assert.assertEquals(Collections.singletonList("val"), segment.getMetrics());
       Assert.assertEquals(Intervals.of("2014/P1D"), segment.getInterval());
     }
   }
@@ -1345,8 +1344,8 @@ public void testCsvWithHeaderOfEmptyTimestamp() throws Exception
             ),
             new DimensionsSpec(
                 null,
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             Arrays.asList("time", "", ""),
@@ -1379,7 +1378,8 @@ public void testCsvWithHeaderOfEmptyTimestamp() throws Exception
         RowIngestionMeters.DETERMINE_PARTITIONS,
         new ArrayList<>(),
         RowIngestionMeters.BUILD_SEGMENTS,
-        Arrays.asList("Unparseable timestamp found! Event: {column_1=2014-01-01T00:00:10Z, column_2=a, column_3=1}")
+        Collections.singletonList(
+            "Unparseable timestamp found! Event: {column_1=2014-01-01T00:00:10Z, column_2=a, column_3=1}")
     );
     Assert.assertEquals(expectedUnparseables, reportData.getUnparseableEvents());
   }
@@ -1566,7 +1566,7 @@ public void killAll()
             granularitySpec != null ? granularitySpec : new UniformGranularitySpec(
                 Granularities.DAY,
                 Granularities.MINUTE,
-                Arrays.asList(Intervals.of("2014/2015"))
+                Collections.singletonList(Intervals.of("2014/2015"))
             ),
             transformSpec,
             jsonMapper
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/RealtimeIndexTaskTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/RealtimeIndexTaskTest.java
index f258f517aa8..85836432e94 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/RealtimeIndexTaskTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/RealtimeIndexTaskTest.java
@@ -85,7 +85,6 @@
 import io.druid.query.Query;
 import io.druid.query.QueryPlus;
 import io.druid.query.QueryRunner;
-import io.druid.query.QueryRunnerFactory;
 import io.druid.query.QueryRunnerFactoryConglomerate;
 import io.druid.query.QueryToolChest;
 import io.druid.query.QueryWatcher;
@@ -474,7 +473,7 @@ public void testReportParseExceptionsOnBadMetric() throws Exception
 
     // Wait for the task to finish.
     expectedException.expect(ExecutionException.class);
-    expectedException.expectCause(CoreMatchers.<Throwable>instanceOf(ParseException.class));
+    expectedException.expectCause(CoreMatchers.instanceOf(ParseException.class));
     expectedException.expectCause(
         ThrowableMessageMatcher.hasMessage(
             CoreMatchers.containsString("[Unable to parse value[foo] for field[met1]")
@@ -992,7 +991,7 @@ private TaskToolbox makeToolbox(
       }
     };
     final QueryRunnerFactoryConglomerate conglomerate = new DefaultQueryRunnerFactoryConglomerate(
-        ImmutableMap.<Class<? extends Query>, QueryRunnerFactory>of(
+        ImmutableMap.of(
             TimeseriesQuery.class,
             new TimeseriesQueryRunnerFactory(
                 new TimeseriesQueryQueryToolChest(queryRunnerDecorator),
@@ -1088,7 +1087,7 @@ public long sumMetric(final Task task, final DimFilter filter, final String metr
                                   .dataSource("test_ds")
                                   .filters(filter)
                                   .aggregators(
-                                      ImmutableList.<AggregatorFactory>of(
+                                      ImmutableList.of(
                                           new LongSumAggregatorFactory(metric, metric)
                                       )
                                   ).granularity(Granularities.ALL)
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/SameIntervalMergeTaskTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/SameIntervalMergeTaskTest.java
index 44ac75f3b0c..2e816f546bc 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/SameIntervalMergeTaskTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/SameIntervalMergeTaskTest.java
@@ -53,7 +53,7 @@
 
 import java.io.File;
 import java.net.URI;
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
@@ -80,7 +80,7 @@ public SameIntervalMergeTaskTest()
   @Test
   public void testRun() throws Exception
   {
-    final List<AggregatorFactory> aggregators = ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("cnt"));
+    final List<AggregatorFactory> aggregators = ImmutableList.of(new CountAggregatorFactory("cnt"));
     final SameIntervalMergeTask task = new SameIntervalMergeTask(
         null,
         "foo",
@@ -150,7 +150,7 @@ public void testRun() throws Exception
               {
                 if (taskAction instanceof LockListAction) {
                   Assert.assertNotNull("taskLock should be acquired before list", taskLock);
-                  return (RetType) Arrays.asList(taskLock);
+                  return (RetType) Collections.singletonList(taskLock);
                 }
                 if (taskAction instanceof SegmentListUsedAction) {
                   List<DataSegment> segments = ImmutableList.of(
diff --git a/indexing-service/src/test/java/io/druid/indexing/common/task/TaskSerdeTest.java b/indexing-service/src/test/java/io/druid/indexing/common/task/TaskSerdeTest.java
index 3a6c4fc1abd..1a844ce4360 100644
--- a/indexing-service/src/test/java/io/druid/indexing/common/task/TaskSerdeTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/common/task/TaskSerdeTest.java
@@ -331,14 +331,14 @@ public void testIndexTaskwithResourceSerde() throws Exception
   @Test
   public void testMergeTaskSerde() throws Exception
   {
-    final List<DataSegment> segments = ImmutableList.<DataSegment>of(
+    final List<DataSegment> segments = ImmutableList.of(
         DataSegment.builder()
                    .dataSource("foo")
                    .interval(Intervals.of("2010-01-01/P1D"))
                    .version("1234")
                    .build()
     );
-    final List<AggregatorFactory> aggregators = ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("cnt"));
+    final List<AggregatorFactory> aggregators = ImmutableList.of(new CountAggregatorFactory("cnt"));
     final MergeTask task = new MergeTask(
         null,
         "foo",
@@ -388,7 +388,7 @@ public void testMergeTaskSerde() throws Exception
   @Test
   public void testSameIntervalMergeTaskSerde() throws Exception
   {
-    final List<AggregatorFactory> aggregators = ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("cnt"));
+    final List<AggregatorFactory> aggregators = ImmutableList.of(new CountAggregatorFactory("cnt"));
     final SameIntervalMergeTask task = new SameIntervalMergeTask(
         null,
         "foo",
@@ -619,7 +619,7 @@ public void testAppendTaskSerde() throws Exception
         null,
         "foo",
         segments,
-        ImmutableList.<AggregatorFactory>of(
+        ImmutableList.of(
             new CountAggregatorFactory("cnt")
         ),
         indexSpec,
@@ -713,7 +713,7 @@ public void testSegmentConvetSerdeReflection() throws IOException
             "dataSource",
             Intervals.of("1990-01-01/1999-12-31"),
             "version",
-            ImmutableMap.<String, Object>of(),
+            ImmutableMap.of(),
             ImmutableList.of("dim1", "dim2"),
             ImmutableList.of("metric1", "metric2"),
             NoneShardSpec.instance(),
@@ -738,7 +738,7 @@ public void testSegmentConvertSerde() throws IOException
         "dataSource",
         Intervals.of("1990-01-01/1999-12-31"),
         "version",
-        ImmutableMap.<String, Object>of(),
+        ImmutableMap.of(),
         ImmutableList.of("dim1", "dim2"),
         ImmutableList.of("metric1", "metric2"),
         NoneShardSpec.instance(),
@@ -791,7 +791,7 @@ public void testMoveTaskSerde() throws Exception
         null,
         "foo",
         Intervals.of("2010-01-01/P1D"),
-        ImmutableMap.<String, Object>of("bucket", "hey", "baseKey", "what"),
+        ImmutableMap.of("bucket", "hey", "baseKey", "what"),
         null,
         null
     );
@@ -826,7 +826,7 @@ public void testHadoopIndexTaskSerde() throws Exception
             ),
                 null,
                 jsonMapper
-            ), new HadoopIOConfig(ImmutableMap.<String, Object>of("paths", "bar"), null, null), null
+            ), new HadoopIOConfig(ImmutableMap.of("paths", "bar"), null, null), null
         ),
         null,
         null,
diff --git a/indexing-service/src/test/java/io/druid/indexing/firehose/IngestSegmentFirehoseFactoryTest.java b/indexing-service/src/test/java/io/druid/indexing/firehose/IngestSegmentFirehoseFactoryTest.java
index cb670f1b408..35a23ebadb5 100644
--- a/indexing-service/src/test/java/io/druid/indexing/firehose/IngestSegmentFirehoseFactoryTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/firehose/IngestSegmentFirehoseFactoryTest.java
@@ -36,7 +36,6 @@
 import io.druid.data.input.impl.InputRowParser;
 import io.druid.data.input.impl.JSONParseSpec;
 import io.druid.data.input.impl.MapInputRowParser;
-import io.druid.data.input.impl.SpatialDimensionSchema;
 import io.druid.data.input.impl.TimeAndDimsParseSpec;
 import io.druid.data.input.impl.TimestampSpec;
 import io.druid.guice.GuiceAnnotationIntrospector;
@@ -323,9 +322,9 @@ public DataSegment restore(DataSegment segment)
             new JSONParseSpec(
                 new TimestampSpec(TIME_COLUMN, "auto", null),
                 new DimensionsSpec(
-                    DimensionsSpec.getDefaultSchemas(ImmutableList.<String>of()),
+                    DimensionsSpec.getDefaultSchemas(ImmutableList.of()),
                     ImmutableList.of(DIM_FLOAT_NAME, DIM_LONG_NAME),
-                    ImmutableList.<SpatialDimensionSchema>of()
+                    ImmutableList.of()
                 ),
                 null,
                 null
@@ -445,7 +444,7 @@ public IngestSegmentFirehoseFactoryTest(
 
   private static Map<String, Object> buildRow(Long ts)
   {
-    return ImmutableMap.<String, Object>of(
+    return ImmutableMap.of(
         TIME_COLUMN, ts,
         DIM_NAME, DIM_VALUE,
         DIM_FLOAT_NAME, METRIC_FLOAT_VALUE,
@@ -461,7 +460,7 @@ private static DataSegment buildSegment(Integer shardNumber)
         DATA_SOURCE_NAME,
         Intervals.ETERNITY,
         DATA_SOURCE_VERSION,
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "type", "local",
             "path", persistDir.getAbsolutePath()
         ),
diff --git a/indexing-service/src/test/java/io/druid/indexing/firehose/IngestSegmentFirehoseFactoryTimelineTest.java b/indexing-service/src/test/java/io/druid/indexing/firehose/IngestSegmentFirehoseFactoryTimelineTest.java
index eb7c45d9fd8..c8149e32d9d 100644
--- a/indexing-service/src/test/java/io/druid/indexing/firehose/IngestSegmentFirehoseFactoryTimelineTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/firehose/IngestSegmentFirehoseFactoryTimelineTest.java
@@ -201,7 +201,7 @@ private static InputRow IR(String timeString, long metricValue)
     return new MapBasedInputRow(
         DateTimes.of(timeString).getMillis(),
         Arrays.asList(DIMENSIONS),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             TIME_COLUMN, DateTimes.of(timeString).toString(),
             DIMENSIONS[0], "bar",
             METRICS[0], metricValue
@@ -238,7 +238,7 @@ private static InputRow IR(String timeString, long metricValue)
       throw Throwables.propagate(e);
     }
 
-    return ImmutableMap.<String, Object>of(
+    return ImmutableMap.of(
         "type", "local",
         "path", persistDir.getAbsolutePath()
     );
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/TaskLifecycleTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/TaskLifecycleTest.java
index ee8b336f778..6319a8686d2 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/TaskLifecycleTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/TaskLifecycleTest.java
@@ -243,7 +243,7 @@ private static InputRow IR(String dt, String dim1, String dim2, float met)
     return new MapBasedInputRow(
         DateTimes.of(dt).getMillis(),
         ImmutableList.of("dim1", "dim2"),
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "dim1", dim1,
             "dim2", dim2,
             "met", met
@@ -791,7 +791,7 @@ public void testKillTask() throws Exception
     final File tmpSegmentDir = temporaryFolder.newFolder();
 
     List<DataSegment> expectedUnusedSegments = Lists.transform(
-        ImmutableList.<String>of(
+        ImmutableList.of(
             "2011-04-01/2011-04-02",
             "2011-04-02/2011-04-03",
             "2011-04-04/2011-04-05"
@@ -806,7 +806,7 @@ public DataSegment apply(String input)
                                 .dataSource("test_kill_task")
                                 .interval(interval)
                                 .loadSpec(
-                                    ImmutableMap.<String, Object>of(
+                                    ImmutableMap.of(
                                         "type",
                                         "local",
                                         "path",
@@ -821,8 +821,8 @@ public DataSegment apply(String input)
                                     )
                                 )
                                 .version("2011-04-6T16:52:46.119-05:00")
-                                .dimensions(ImmutableList.<String>of())
-                                .metrics(ImmutableList.<String>of())
+                                .dimensions(ImmutableList.of())
+                                .metrics(ImmutableList.of())
                                 .shardSpec(NoneShardSpec.instance())
                                 .binaryVersion(9)
                                 .size(0)
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/EC2AutoScalerTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/EC2AutoScalerTest.java
index 76b93e9e8b4..d34c9660632 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/EC2AutoScalerTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/EC2AutoScalerTest.java
@@ -57,7 +57,7 @@
   private static final String INSTANCE_ID = "theInstance";
   public static final EC2EnvironmentConfig ENV_CONFIG = new EC2EnvironmentConfig(
       "us-east-1a",
-      new EC2NodeData(AMI_ID, INSTANCE_ID, 1, 1, Lists.<String>newArrayList(), "foo", "mySubnet", null, null),
+      new EC2NodeData(AMI_ID, INSTANCE_ID, 1, 1, Lists.newArrayList(), "foo", "mySubnet", null, null),
       new GalaxyEC2UserData(new DefaultObjectMapper(), "env", "version", "type")
   );
   private static final String IP = "dummyIP";
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/PendingTaskBasedProvisioningStrategyTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/PendingTaskBasedProvisioningStrategyTest.java
index 779668d9283..e2e2748d123 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/PendingTaskBasedProvisioningStrategyTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/PendingTaskBasedProvisioningStrategyTest.java
@@ -29,7 +29,6 @@
 import io.druid.indexing.common.TestTasks;
 import io.druid.indexing.common.task.NoopTask;
 import io.druid.indexing.common.task.Task;
-import io.druid.indexing.overlord.ImmutableWorkerInfo;
 import io.druid.indexing.overlord.RemoteTaskRunner;
 import io.druid.indexing.overlord.RemoteTaskRunnerWorkItem;
 import io.druid.indexing.overlord.ZkWorker;
@@ -54,7 +53,6 @@
 
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.atomic.AtomicReference;
@@ -112,20 +110,19 @@ public void testSuccessfulInitialMinWorkersProvision()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(3);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(5);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList());
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     // No pending tasks
     EasyMock.expect(runner.getPendingTaskPayloads()).andReturn(
-        Lists.<Task>newArrayList()
+        Lists.newArrayList()
     );
     EasyMock.expect(runner.getWorkers()).andReturn(
-        Arrays.<ImmutableWorkerInfo>asList(
-        )
+        Collections.emptyList()
     );
     EasyMock.expect(runner.getConfig()).andReturn(new RemoteTaskRunnerConfig());
     EasyMock.expect(autoScaler.provision()).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList("aNode"))
+        new AutoScalingData(Lists.newArrayList("aNode"))
     ).times(3);
     EasyMock.replay(runner, autoScaler);
     Provisioner provisioner = strategy.makeProvisioner(runner);
@@ -144,22 +141,22 @@ public void testSuccessfulMinWorkersProvision()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(3);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(5);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList());
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     // No pending tasks
     EasyMock.expect(runner.getPendingTaskPayloads()).andReturn(
-        Lists.<Task>newArrayList()
+        Lists.newArrayList()
     );
     // 1 node already running, only provision 2 more.
     EasyMock.expect(runner.getWorkers()).andReturn(
-        Arrays.asList(
+        Collections.singletonList(
             new TestZkWorker(testTask).toImmutable()
         )
     );
     EasyMock.expect(runner.getConfig()).andReturn(new RemoteTaskRunnerConfig());
     EasyMock.expect(autoScaler.provision()).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList("aNode"))
+        new AutoScalingData(Lists.newArrayList("aNode"))
     ).times(2);
     EasyMock.replay(runner, autoScaler);
     Provisioner provisioner = strategy.makeProvisioner(runner);
@@ -178,23 +175,23 @@ public void testSuccessfulMinWorkersProvisionWithOldVersionNodeRunning()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(3);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(5);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList());
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     // No pending tasks
     EasyMock.expect(runner.getPendingTaskPayloads()).andReturn(
-        Lists.<Task>newArrayList()
+        Lists.newArrayList()
     );
     // 1 node already running, only provision 2 more.
     EasyMock.expect(runner.getWorkers()).andReturn(
-        Arrays.<ImmutableWorkerInfo>asList(
+        Arrays.asList(
             new TestZkWorker(testTask).toImmutable(),
             new TestZkWorker(testTask, "http", "h1", "n1", INVALID_VERSION).toImmutable() // Invalid version node
         )
     );
     EasyMock.expect(runner.getConfig()).andReturn(new RemoteTaskRunnerConfig());
     EasyMock.expect(autoScaler.provision()).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList("aNode"))
+        new AutoScalingData(Lists.newArrayList("aNode"))
     ).times(2);
     EasyMock.replay(runner, autoScaler);
     Provisioner provisioner = strategy.makeProvisioner(runner);
@@ -213,19 +210,19 @@ public void testSomethingProvisioning()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0).times(1);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2).times(1);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList()).times(2);
     EasyMock.expect(autoScaler.provision()).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList("fake"))
+        new AutoScalingData(Lists.newArrayList("fake"))
     );
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     EasyMock.expect(runner.getPendingTaskPayloads()).andReturn(
-        Arrays.<Task>asList(
+        Collections.singletonList(
             NoopTask.create()
         )
     ).times(2);
     EasyMock.expect(runner.getWorkers()).andReturn(
-        Arrays.<ImmutableWorkerInfo>asList(
+        Arrays.asList(
             new TestZkWorker(testTask).toImmutable(),
             new TestZkWorker(testTask, "http", "h1", "n1", INVALID_VERSION).toImmutable() // Invalid version node
         )
@@ -270,17 +267,17 @@ public void testProvisionAlert() throws Exception
 
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0).times(1);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2).times(1);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList()).times(2);
-    EasyMock.expect(autoScaler.terminateWithIds(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.terminateWithIds(EasyMock.anyObject()))
             .andReturn(null);
     EasyMock.expect(autoScaler.provision()).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList("fake"))
+        new AutoScalingData(Lists.newArrayList("fake"))
     );
     EasyMock.replay(autoScaler);
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     EasyMock.expect(runner.getPendingTaskPayloads()).andReturn(
-        Arrays.<Task>asList(
+        Collections.singletonList(
             NoopTask.create()
         )
     ).times(2);
@@ -326,15 +323,15 @@ public void testProvisionAlert() throws Exception
   public void testDoSuccessfulTerminate()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList());
-    EasyMock.expect(autoScaler.terminate(EasyMock.<List<String>>anyObject())).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList())
+    EasyMock.expect(autoScaler.terminate(EasyMock.anyObject())).andReturn(
+        new AutoScalingData(Lists.newArrayList())
     );
     EasyMock.replay(autoScaler);
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     EasyMock.expect(runner.getPendingTasks()).andReturn(
-        Arrays.asList(
+        Collections.singletonList(
             new RemoteTaskRunnerWorkItem(
                 testTask.getId(),
                 testTask.getType(),
@@ -345,13 +342,13 @@ public void testDoSuccessfulTerminate()
         )
     ).times(2);
     EasyMock.expect(runner.getWorkers()).andReturn(
-        Arrays.asList(
+        Collections.singletonList(
             new TestZkWorker(testTask).toImmutable()
         )
     ).times(2);
     EasyMock.expect(runner.markWorkersLazy(EasyMock.anyObject(), EasyMock.anyInt()))
             .andReturn(Collections.singletonList(new TestZkWorker(testTask).getWorker()));
-    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.<Worker>newArrayList());
+    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.newArrayList());
     EasyMock.replay(runner);
 
     Provisioner provisioner = strategy.makeProvisioner(runner);
@@ -370,20 +367,20 @@ public void testDoSuccessfulTerminate()
   public void testSomethingTerminating()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0).times(1);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
-            .andReturn(Lists.<String>newArrayList("ip")).times(2);
-    EasyMock.expect(autoScaler.terminate(EasyMock.<List<String>>anyObject())).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList("ip"))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
+            .andReturn(Lists.newArrayList("ip")).times(2);
+    EasyMock.expect(autoScaler.terminate(EasyMock.anyObject())).andReturn(
+        new AutoScalingData(Lists.newArrayList("ip"))
     );
     EasyMock.replay(autoScaler);
 
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     EasyMock.expect(runner.getWorkers()).andReturn(
-        Arrays.asList(
+        Collections.singletonList(
             new TestZkWorker(testTask).toImmutable()
         )
     ).times(2);
-    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.<Worker>newArrayList()).times(2);
+    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.newArrayList()).times(2);
     EasyMock.expect(runner.markWorkersLazy(EasyMock.anyObject(), EasyMock.anyInt()))
             .andReturn(Collections.singletonList(new TestZkWorker(testTask).toImmutable().getWorker()));
     EasyMock.replay(runner);
@@ -414,13 +411,13 @@ public void testNoActionNeeded()
   {
     EasyMock.reset(autoScaler);
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
-            .andReturn(Lists.<String>newArrayList("ip"));
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
+            .andReturn(Lists.newArrayList("ip"));
     EasyMock.replay(autoScaler);
 
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     EasyMock.expect(runner.getPendingTaskPayloads()).andReturn(
-        Arrays.asList(
+        Collections.singletonList(
             (Task) NoopTask.create()
         )
     ).times(1);
@@ -432,7 +429,7 @@ public void testNoActionNeeded()
     ).times(2);
     EasyMock.expect(runner.getConfig()).andReturn(new RemoteTaskRunnerConfig());
 
-    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.<Worker>newArrayList());
+    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.newArrayList());
     EasyMock.expect(runner.markWorkersLazy(EasyMock.anyObject(), EasyMock.anyInt()))
             .andReturn(Collections.emptyList());
     EasyMock.replay(runner);
@@ -446,8 +443,8 @@ public void testNoActionNeeded()
     EasyMock.reset(autoScaler);
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
-            .andReturn(Lists.<String>newArrayList("ip"));
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
+            .andReturn(Lists.newArrayList("ip"));
     EasyMock.replay(autoScaler);
 
     boolean provisionedSomething = provisioner.doProvision();
@@ -463,21 +460,21 @@ public void testMinCountIncrease()
     // Don't terminate anything
     EasyMock.reset(autoScaler);
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
-            .andReturn(Lists.<String>newArrayList("ip"));
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
+            .andReturn(Lists.newArrayList("ip"));
     EasyMock.replay(autoScaler);
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     EasyMock.expect(runner.getPendingTaskPayloads()).andReturn(
-        Arrays.<Task>asList()
+        Collections.emptyList()
     ).times(2);
     EasyMock.expect(runner.getWorkers()).andReturn(
-        Arrays.asList(
+        Collections.singletonList(
             new TestZkWorker(NoopTask.create(), "http", "h1", "i1", MIN_VERSION).toImmutable()
         )
     ).times(3);
     EasyMock.expect(runner.getConfig()).andReturn(new RemoteTaskRunnerConfig()).times(2);
 
-    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.<Worker>newArrayList());
+    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.newArrayList());
     EasyMock.expect(runner.markWorkersLazy(EasyMock.anyObject(), EasyMock.anyInt()))
             .andReturn(Collections.emptyList());
     EasyMock.replay(runner);
@@ -491,8 +488,8 @@ public void testMinCountIncrease()
     EasyMock.reset(autoScaler);
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
-            .andReturn(Lists.<String>newArrayList("ip"));
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
+            .andReturn(Lists.newArrayList("ip"));
     EasyMock.replay(autoScaler);
     boolean provisionedSomething = provisioner.doProvision();
     Assert.assertFalse(provisionedSomething);
@@ -502,14 +499,14 @@ public void testMinCountIncrease()
     // Increase minNumWorkers
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(3);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(5);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
-            .andReturn(Lists.<String>newArrayList("ip"));
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
+            .andReturn(Lists.newArrayList("ip"));
     EasyMock.expect(autoScaler.provision()).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList("h3"))
+        new AutoScalingData(Lists.newArrayList("h3"))
     );
     // Should provision two new workers
     EasyMock.expect(autoScaler.provision()).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList("h4"))
+        new AutoScalingData(Lists.newArrayList("h4"))
     );
     EasyMock.replay(autoScaler);
     provisionedSomething = provisioner.doProvision();
@@ -526,12 +523,12 @@ public void testNullWorkerConfig()
 
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     EasyMock.expect(runner.getPendingTaskPayloads()).andReturn(
-        Arrays.<Task>asList(
+        Collections.singletonList(
             NoopTask.create()
         )
     ).times(1);
     EasyMock.expect(runner.getWorkers()).andReturn(
-        Arrays.asList(
+        Collections.singletonList(
             new TestZkWorker(null).toImmutable()
         )
     ).times(2);
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/SimpleProvisioningStrategyTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/SimpleProvisioningStrategyTest.java
index 9e5e117b58d..ffd5aad2636 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/SimpleProvisioningStrategyTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/SimpleProvisioningStrategyTest.java
@@ -19,7 +19,6 @@
 
 package io.druid.indexing.overlord.autoscaling;
 
-import com.google.common.base.Predicate;
 import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
@@ -30,7 +29,6 @@
 import io.druid.indexing.common.TestTasks;
 import io.druid.indexing.common.task.NoopTask;
 import io.druid.indexing.common.task.Task;
-import io.druid.indexing.overlord.ImmutableWorkerInfo;
 import io.druid.indexing.overlord.RemoteTaskRunner;
 import io.druid.indexing.overlord.RemoteTaskRunnerWorkItem;
 import io.druid.indexing.overlord.ZkWorker;
@@ -54,7 +52,6 @@
 
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.atomic.AtomicReference;
@@ -117,7 +114,7 @@ public void testSuccessfulProvision()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList());
     EasyMock.expect(autoScaler.provision()).andReturn(
         new AutoScalingData(Lists.newArrayList("aNode"))
@@ -155,7 +152,7 @@ public void testSomethingProvisioning()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0).times(2);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2).times(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList()).times(2);
     EasyMock.expect(autoScaler.provision()).andReturn(
         new AutoScalingData(Lists.newArrayList("fake"))
@@ -211,9 +208,9 @@ public void testProvisionAlert() throws Exception
 
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0).times(2);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2).times(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList()).times(2);
-    EasyMock.expect(autoScaler.terminateWithIds(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.terminateWithIds(EasyMock.anyObject()))
             .andReturn(null);
     EasyMock.expect(autoScaler.provision()).andReturn(
         new AutoScalingData(Lists.newArrayList("fake"))
@@ -266,10 +263,10 @@ public void testDoSuccessfulTerminate()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(1);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.<String>newArrayList());
-    EasyMock.expect(autoScaler.terminate(EasyMock.<List<String>>anyObject())).andReturn(
-        new AutoScalingData(Lists.<String>newArrayList())
+    EasyMock.expect(autoScaler.terminate(EasyMock.anyObject())).andReturn(
+        new AutoScalingData(Lists.newArrayList())
     );
     EasyMock.replay(autoScaler);
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
@@ -284,9 +281,9 @@ public void testDoSuccessfulTerminate()
             new TestZkWorker(testTask).toImmutable()
         )
     ).times(2);
-    EasyMock.expect(runner.markWorkersLazy(EasyMock.<Predicate<ImmutableWorkerInfo>>anyObject(), EasyMock.anyInt()))
+    EasyMock.expect(runner.markWorkersLazy(EasyMock.anyObject(), EasyMock.anyInt()))
             .andReturn(Collections.singletonList(new TestZkWorker(testTask).getWorker()));
-    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.<Worker>newArrayList());
+    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.newArrayList());
     EasyMock.replay(runner);
 
     Provisioner provisioner = strategy.makeProvisioner(runner);
@@ -306,9 +303,9 @@ public void testSomethingTerminating()
   {
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0).times(2);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(1).times(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.newArrayList("ip")).times(2);
-    EasyMock.expect(autoScaler.terminate(EasyMock.<List<String>>anyObject())).andReturn(
+    EasyMock.expect(autoScaler.terminate(EasyMock.anyObject())).andReturn(
         new AutoScalingData(Lists.newArrayList("ip"))
     );
     EasyMock.replay(autoScaler);
@@ -325,7 +322,7 @@ public void testSomethingTerminating()
             new TestZkWorker(testTask).toImmutable()
         )
     ).times(2);
-    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.<Worker>newArrayList()).times(2);
+    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.newArrayList()).times(2);
     EasyMock.expect(runner.markWorkersLazy(EasyMock.anyObject(), EasyMock.anyInt()))
             .andReturn(Collections.singletonList(new TestZkWorker(testTask).getWorker()));
     EasyMock.replay(runner);
@@ -357,7 +354,7 @@ public void testNoActionNeeded()
     EasyMock.reset(autoScaler);
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.newArrayList("ip"));
     EasyMock.replay(autoScaler);
 
@@ -374,7 +371,7 @@ public void testNoActionNeeded()
             new TestZkWorker(NoopTask.create()).toImmutable()
         )
     ).times(2);
-    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.<Worker>newArrayList());
+    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.newArrayList());
     EasyMock.expect(runner.markWorkersLazy(EasyMock.anyObject(), EasyMock.anyInt()))
             .andReturn(Collections.emptyList());
     EasyMock.replay(runner);
@@ -388,7 +385,7 @@ public void testNoActionNeeded()
     EasyMock.reset(autoScaler);
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.newArrayList("ip"));
     EasyMock.replay(autoScaler);
 
@@ -406,19 +403,19 @@ public void testMinCountIncrease()
     EasyMock.reset(autoScaler);
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.newArrayList("ip"));
     EasyMock.replay(autoScaler);
     RemoteTaskRunner runner = EasyMock.createMock(RemoteTaskRunner.class);
     EasyMock.expect(runner.getPendingTasks()).andReturn(
-        Collections.<RemoteTaskRunnerWorkItem>emptyList()
+        Collections.emptyList()
     ).times(3);
     EasyMock.expect(runner.getWorkers()).andReturn(
         Collections.singletonList(
             new TestZkWorker(NoopTask.create(), "http", "h1", "i1", "0").toImmutable()
         )
     ).times(3);
-    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.<Worker>newArrayList());
+    EasyMock.expect(runner.getLazyWorkers()).andReturn(Lists.newArrayList());
     EasyMock.expect(runner.markWorkersLazy(EasyMock.anyObject(), EasyMock.anyInt()))
             .andReturn(Collections.emptyList());
     EasyMock.replay(runner);
@@ -432,7 +429,7 @@ public void testMinCountIncrease()
     EasyMock.reset(autoScaler);
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(0);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(2);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.newArrayList("ip"));
     EasyMock.replay(autoScaler);
     boolean provisionedSomething = provisioner.doProvision();
@@ -443,7 +440,7 @@ public void testMinCountIncrease()
     // Increase minNumWorkers
     EasyMock.expect(autoScaler.getMinNumWorkers()).andReturn(3);
     EasyMock.expect(autoScaler.getMaxNumWorkers()).andReturn(5);
-    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.<List<String>>anyObject()))
+    EasyMock.expect(autoScaler.ipToIdLookup(EasyMock.anyObject()))
             .andReturn(Lists.newArrayList("ip"));
     EasyMock.expect(autoScaler.provision()).andReturn(
         new AutoScalingData(Lists.newArrayList("h3"))
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/ec2/EC2NodeDataTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/ec2/EC2NodeDataTest.java
index 611f4bc50e1..dc42b330b09 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/ec2/EC2NodeDataTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/autoscaling/ec2/EC2NodeDataTest.java
@@ -24,7 +24,7 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.util.Arrays;
+import java.util.Collections;
 
 public class EC2NodeDataTest
 {
@@ -41,7 +41,7 @@ public void testSerde() throws Exception
     Assert.assertEquals("k2.9xsmall", nodeData.getInstanceType());
     Assert.assertEquals(2, nodeData.getMaxInstances());
     Assert.assertEquals(1, nodeData.getMinInstances());
-    Assert.assertEquals(Arrays.asList("sg-abc321"), nodeData.getSecurityGroupIds());
+    Assert.assertEquals(Collections.singletonList("sg-abc321"), nodeData.getSecurityGroupIds());
     Assert.assertEquals("opensesame", nodeData.getKeyName());
     Assert.assertEquals("darknet2", nodeData.getSubnetId());
     Assert.assertEquals("john", nodeData.getIamProfile().getName());
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/http/OverlordTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/http/OverlordTest.java
index 7dc3c1f2880..dfa214ab8fd 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/http/OverlordTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/http/OverlordTest.java
@@ -139,19 +139,19 @@ public void setUp() throws Exception
     taskLockbox = EasyMock.createStrictMock(TaskLockbox.class);
     taskLockbox.syncFromStorage();
     EasyMock.expectLastCall().atLeastOnce();
-    taskLockbox.add(EasyMock.<Task>anyObject());
+    taskLockbox.add(EasyMock.anyObject());
     EasyMock.expectLastCall().atLeastOnce();
-    taskLockbox.remove(EasyMock.<Task>anyObject());
+    taskLockbox.remove(EasyMock.anyObject());
     EasyMock.expectLastCall().atLeastOnce();
 
     // for second Noop Task directly added to deep storage.
-    taskLockbox.add(EasyMock.<Task>anyObject());
+    taskLockbox.add(EasyMock.anyObject());
     EasyMock.expectLastCall().atLeastOnce();
-    taskLockbox.remove(EasyMock.<Task>anyObject());
+    taskLockbox.remove(EasyMock.anyObject());
     EasyMock.expectLastCall().atLeastOnce();
 
     taskActionClientFactory = EasyMock.createStrictMock(TaskActionClientFactory.class);
-    EasyMock.expect(taskActionClientFactory.create(EasyMock.<Task>anyObject()))
+    EasyMock.expect(taskActionClientFactory.create(EasyMock.anyObject()))
             .andReturn(null).anyTimes();
     EasyMock.replay(taskLockbox, taskActionClientFactory, req);
 
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/http/security/OverlordSecurityResourceFilterTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/http/security/OverlordSecurityResourceFilterTest.java
index c99a7b5b497..7f587a973d6 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/http/security/OverlordSecurityResourceFilterTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/http/security/OverlordSecurityResourceFilterTest.java
@@ -57,15 +57,15 @@
   {
     return ImmutableList.copyOf(
         Iterables.concat(
-            getRequestPaths(OverlordResource.class, ImmutableList.<Class<?>>of(
+            getRequestPaths(OverlordResource.class, ImmutableList.of(
                 TaskStorageQueryAdapter.class,
                 AuthorizerMapper.class
                             )
             ),
-            getRequestPaths(WorkerResource.class, ImmutableList.<Class<?>>of(
+            getRequestPaths(WorkerResource.class, ImmutableList.of(
                 AuthorizerMapper.class
             )),
-            getRequestPaths(SupervisorResource.class, ImmutableList.<Class<?>>of(
+            getRequestPaths(SupervisorResource.class, ImmutableList.of(
                 SupervisorManager.class,
                 AuthorizerMapper.class
                             )
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/EqualDistributionWithAffinityWorkerSelectStrategyTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/EqualDistributionWithAffinityWorkerSelectStrategyTest.java
index 9a8ddedc126..76fa66e5e51 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/EqualDistributionWithAffinityWorkerSelectStrategyTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/EqualDistributionWithAffinityWorkerSelectStrategyTest.java
@@ -55,29 +55,29 @@ public String getDataSource()
                     "localhost0",
                     new ImmutableWorkerInfo(
                         new Worker("http", "localhost0", "localhost0", 2, "v1"), 0,
-                        Sets.<String>newHashSet(),
-                        Sets.<String>newHashSet(),
+                        Sets.newHashSet(),
+                        Sets.newHashSet(),
                         DateTimes.nowUtc()
                     ),
                     "localhost1",
                     new ImmutableWorkerInfo(
                             new Worker("http", "localhost1", "localhost1", 2, "v1"), 0,
-                            Sets.<String>newHashSet(),
-                            Sets.<String>newHashSet(),
+                            Sets.newHashSet(),
+                            Sets.newHashSet(),
                             DateTimes.nowUtc()
                     ),
                     "localhost2",
                     new ImmutableWorkerInfo(
                             new Worker("http", "localhost2", "localhost2", 2, "v1"), 1,
-                            Sets.<String>newHashSet(),
-                            Sets.<String>newHashSet(),
+                            Sets.newHashSet(),
+                            Sets.newHashSet(),
                             DateTimes.nowUtc()
                     ),
                     "localhost3",
                     new ImmutableWorkerInfo(
                             new Worker("http", "localhost3", "localhost3", 2, "v1"), 1,
-                            Sets.<String>newHashSet(),
-                            Sets.<String>newHashSet(),
+                            Sets.newHashSet(),
+                            Sets.newHashSet(),
                             DateTimes.nowUtc()
                     )
             ),
@@ -99,15 +99,15 @@ public void testFindWorkerForTaskWithNulls()
                     "lhost",
                     new ImmutableWorkerInfo(
                             new Worker("http", "lhost", "lhost", 1, "v1"), 0,
-                            Sets.<String>newHashSet(),
-                            Sets.<String>newHashSet(),
+                            Sets.newHashSet(),
+                            Sets.newHashSet(),
                             DateTimes.nowUtc()
                     ),
                     "localhost",
                     new ImmutableWorkerInfo(
                             new Worker("http", "localhost", "localhost", 1, "v1"), 0,
-                            Sets.<String>newHashSet(),
-                            Sets.<String>newHashSet(),
+                            Sets.newHashSet(),
+                            Sets.newHashSet(),
                             DateTimes.nowUtc()
                     )
             ),
@@ -129,8 +129,8 @@ public void testIsolation()
                     "localhost",
                     new ImmutableWorkerInfo(
                             new Worker("http", "localhost", "localhost", 1, "v1"), 0,
-                            Sets.<String>newHashSet(),
-                            Sets.<String>newHashSet(),
+                            Sets.newHashSet(),
+                            Sets.newHashSet(),
                             DateTimes.nowUtc()
                     )
             ),
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/EqualDistributionWorkerSelectStrategyTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/EqualDistributionWorkerSelectStrategyTest.java
index b9a8aeefa9a..a23b8f16fe0 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/EqualDistributionWorkerSelectStrategyTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/EqualDistributionWorkerSelectStrategyTest.java
@@ -37,29 +37,29 @@
           "localhost0",
           new ImmutableWorkerInfo(
               new Worker("http", "localhost0", "localhost0", 2, "v1"), 0,
-              Sets.<String>newHashSet(),
-              Sets.<String>newHashSet(),
+              Sets.newHashSet(),
+              Sets.newHashSet(),
               DateTimes.nowUtc()
           ),
           "localhost1",
           new ImmutableWorkerInfo(
               new Worker("http", "localhost1", "localhost1", 2, "v1"), 0,
-              Sets.<String>newHashSet(),
-              Sets.<String>newHashSet(),
+              Sets.newHashSet(),
+              Sets.newHashSet(),
               DateTimes.nowUtc()
           ),
           "localhost2",
           new ImmutableWorkerInfo(
               new Worker("http", "localhost2", "localhost2", 2, "v1"), 1,
-              Sets.<String>newHashSet(),
-              Sets.<String>newHashSet(),
+              Sets.newHashSet(),
+              Sets.newHashSet(),
               DateTimes.nowUtc()
           ),
           "localhost3",
           new ImmutableWorkerInfo(
               new Worker("http", "localhost3", "localhost3", 2, "v1"), 1,
-              Sets.<String>newHashSet(),
-              Sets.<String>newHashSet(),
+              Sets.newHashSet(),
+              Sets.newHashSet(),
               DateTimes.nowUtc()
           )
       );
@@ -75,15 +75,15 @@ public void testFindWorkerForTask()
             "lhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "lhost", "lhost", 1, "v1"), 0,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             ),
             "localhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "localhost", "localhost", 1, "v1"), 1,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             )
         ),
@@ -110,15 +110,15 @@ public void testFindWorkerForTaskWhenSameCurrCapacityUsed()
             "lhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "lhost", "lhost", 5, "v1"), 5,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             ),
             "localhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "localhost", "localhost", 10, "v1"), 5,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             )
         ),
@@ -146,15 +146,15 @@ public void testOneDisableWorkerDifferentUsedCapacity()
             "lhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "disableHost", "disableHost", 10, DISABLED_VERSION), 2,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             ),
             "localhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "enableHost", "enableHost", 10, "v1"), 5,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             )
         ),
@@ -182,15 +182,15 @@ public void testOneDisableWorkerSameUsedCapacity()
             "lhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "disableHost", "disableHost", 10, DISABLED_VERSION), 5,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             ),
             "localhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "enableHost", "enableHost", 10, "v1"), 5,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             )
         ),
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/FillCapacityWithAffinityWorkerSelectStrategyTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/FillCapacityWithAffinityWorkerSelectStrategyTest.java
index 4b145c65914..31ba7b92afd 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/FillCapacityWithAffinityWorkerSelectStrategyTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/FillCapacityWithAffinityWorkerSelectStrategyTest.java
@@ -45,15 +45,15 @@ public void testFindWorkerForTask()
             "lhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "lhost", "lhost", 1, "v1"), 0,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             ),
             "localhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "localhost", "localhost", 1, "v1"), 0,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             )
         ),
@@ -82,15 +82,15 @@ public void testFindWorkerForTaskWithNulls()
             "lhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "lhost", "lhost", 1, "v1"), 0,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             ),
             "localhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "localhost", "localhost", 1, "v1"), 0,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             )
         ),
@@ -112,8 +112,8 @@ public void testIsolation()
             "localhost",
             new ImmutableWorkerInfo(
                 new Worker("http", "localhost", "localhost", 1, "v1"), 0,
-                Sets.<String>newHashSet(),
-                Sets.<String>newHashSet(),
+                Sets.newHashSet(),
+                Sets.newHashSet(),
                 DateTimes.nowUtc()
             )
         ),
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/JavaScriptWorkerSelectStrategyTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/JavaScriptWorkerSelectStrategyTest.java
index 9e0a57f2386..b67be28d69b 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/JavaScriptWorkerSelectStrategyTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/JavaScriptWorkerSelectStrategyTest.java
@@ -105,7 +105,7 @@ public void testDisabled() throws Exception
     final String strategyString = mapper.writeValueAsString(STRATEGY);
 
     expectedException.expect(JsonMappingException.class);
-    expectedException.expectCause(CoreMatchers.<Throwable>instanceOf(IllegalStateException.class));
+    expectedException.expectCause(CoreMatchers.instanceOf(IllegalStateException.class));
     expectedException.expectMessage("JavaScript is disabled");
 
     mapper.readValue(strategyString, WorkerSelectStrategy.class);
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/WorkerBehaviorConfigTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/WorkerBehaviorConfigTest.java
index 2229a1083be..118127588b6 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/setup/WorkerBehaviorConfigTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/setup/WorkerBehaviorConfigTest.java
@@ -33,7 +33,7 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.util.Arrays;
+import java.util.Collections;
 
 public class WorkerBehaviorConfigTest
 {
@@ -57,7 +57,7 @@ public void testSerde() throws Exception
                     "instanceType",
                     3,
                     5,
-                    Arrays.asList("securityGroupIds"),
+                    Collections.singletonList("securityGroupIds"),
                     "keyNames",
                     "subnetId",
                     null,
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/supervisor/SupervisorManagerTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/supervisor/SupervisorManagerTest.java
index e98e7b110e4..9e957690f43 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/supervisor/SupervisorManagerTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/supervisor/SupervisorManagerTest.java
@@ -73,7 +73,7 @@ public void testCreateUpdateAndRemoveSupervisor()
   {
     SupervisorSpec spec = new TestSupervisorSpec("id1", supervisor1);
     SupervisorSpec spec2 = new TestSupervisorSpec("id1", supervisor2);
-    Map<String, SupervisorSpec> existingSpecs = ImmutableMap.<String, SupervisorSpec>of(
+    Map<String, SupervisorSpec> existingSpecs = ImmutableMap.of(
         "id3", new TestSupervisorSpec("id3", supervisor3)
     );
 
@@ -135,7 +135,7 @@ public void testCreateOrUpdateAndStartSupervisorNotStarted()
   @Test
   public void testCreateOrUpdateAndStartSupervisorNullSpec()
   {
-    EasyMock.expect(metadataSupervisorManager.getLatest()).andReturn(ImmutableMap.<String, SupervisorSpec>of());
+    EasyMock.expect(metadataSupervisorManager.getLatest()).andReturn(ImmutableMap.of());
     replayAll();
 
     exception.expect(NullPointerException.class);
@@ -148,7 +148,7 @@ public void testCreateOrUpdateAndStartSupervisorNullSpec()
   @Test
   public void testCreateOrUpdateAndStartSupervisorNullSpecId()
   {
-    EasyMock.expect(metadataSupervisorManager.getLatest()).andReturn(ImmutableMap.<String, SupervisorSpec>of());
+    EasyMock.expect(metadataSupervisorManager.getLatest()).andReturn(ImmutableMap.of());
     replayAll();
 
     exception.expect(NullPointerException.class);
@@ -168,7 +168,7 @@ public void testStopAndRemoveSupervisorNotStarted()
   @Test
   public void testStopAndRemoveSupervisorNullSpecId()
   {
-    EasyMock.expect(metadataSupervisorManager.getLatest()).andReturn(ImmutableMap.<String, SupervisorSpec>of());
+    EasyMock.expect(metadataSupervisorManager.getLatest()).andReturn(ImmutableMap.of());
     replayAll();
 
     exception.expect(NullPointerException.class);
@@ -197,7 +197,7 @@ public void testGetSupervisorStatus()
   {
     SupervisorReport<Void> report = new SupervisorReport<>("id1", DateTimes.nowUtc(), null);
 
-    Map<String, SupervisorSpec> existingSpecs = ImmutableMap.<String, SupervisorSpec>of(
+    Map<String, SupervisorSpec> existingSpecs = ImmutableMap.of(
         "id1", new TestSupervisorSpec("id1", supervisor1)
     );
 
@@ -217,7 +217,7 @@ public void testGetSupervisorStatus()
   @Test
   public void testStartAlreadyStarted()
   {
-    EasyMock.expect(metadataSupervisorManager.getLatest()).andReturn(ImmutableMap.<String, SupervisorSpec>of());
+    EasyMock.expect(metadataSupervisorManager.getLatest()).andReturn(ImmutableMap.of());
     replayAll();
 
     exception.expect(IllegalStateException.class);
@@ -229,7 +229,7 @@ public void testStartAlreadyStarted()
   @Test
   public void testStopThrowsException()
   {
-    Map<String, SupervisorSpec> existingSpecs = ImmutableMap.<String, SupervisorSpec>of(
+    Map<String, SupervisorSpec> existingSpecs = ImmutableMap.of(
         "id1", new TestSupervisorSpec("id1", supervisor1)
     );
 
@@ -247,7 +247,7 @@ public void testStopThrowsException()
   @Test
   public void testResetSupervisor()
   {
-    Map<String, SupervisorSpec> existingSpecs = ImmutableMap.<String, SupervisorSpec>of(
+    Map<String, SupervisorSpec> existingSpecs = ImmutableMap.of(
         "id1", new TestSupervisorSpec("id1", supervisor1)
     );
 
diff --git a/indexing-service/src/test/java/io/druid/indexing/overlord/supervisor/SupervisorResourceTest.java b/indexing-service/src/test/java/io/druid/indexing/overlord/supervisor/SupervisorResourceTest.java
index 681903823c9..614585b5dd3 100644
--- a/indexing-service/src/test/java/io/druid/indexing/overlord/supervisor/SupervisorResourceTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/overlord/supervisor/SupervisorResourceTest.java
@@ -48,7 +48,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.Response;
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -129,7 +129,7 @@ public void testSpecPost()
     Assert.assertEquals(ImmutableMap.of("id", "my-id"), response.getEntity());
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.specPost(spec, request);
@@ -179,7 +179,7 @@ public void testSpecGetAll()
     Assert.assertEquals(supervisorIds, response.getEntity());
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.specGetAll(request);
@@ -195,7 +195,7 @@ public void testSpecGet()
 
     EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.of(supervisorManager)).times(2);
     EasyMock.expect(supervisorManager.getSupervisorSpec("my-id")).andReturn(Optional.of(spec));
-    EasyMock.expect(supervisorManager.getSupervisorSpec("my-id-2")).andReturn(Optional.<SupervisorSpec>absent());
+    EasyMock.expect(supervisorManager.getSupervisorSpec("my-id-2")).andReturn(Optional.absent());
     replayAll();
 
     Response response = supervisorResource.specGet("my-id");
@@ -210,7 +210,7 @@ public void testSpecGet()
 
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.specGet("my-id");
@@ -226,7 +226,7 @@ public void testSpecGetStatus()
 
     EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.of(supervisorManager)).times(2);
     EasyMock.expect(supervisorManager.getSupervisorStatus("my-id")).andReturn(Optional.of(report));
-    EasyMock.expect(supervisorManager.getSupervisorStatus("my-id-2")).andReturn(Optional.<SupervisorReport>absent());
+    EasyMock.expect(supervisorManager.getSupervisorStatus("my-id-2")).andReturn(Optional.absent());
     replayAll();
 
     Response response = supervisorResource.specGetStatus("my-id");
@@ -241,7 +241,7 @@ public void testSpecGetStatus()
 
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.specGetStatus("my-id");
@@ -270,7 +270,7 @@ public void testShutdown()
 
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.shutdown("my-id");
@@ -284,39 +284,39 @@ public void testSpecGetAllHistory()
   {
     List<VersionedSupervisorSpec> versions1 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id1", null, Arrays.asList("datasource1")),
+            new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id1", null, Arrays.asList("datasource1")),
+            new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1")),
             "v2"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource1")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource1")),
             "tombstone"
         )
     );
     List<VersionedSupervisorSpec> versions2 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v2"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource2")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource2")),
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v3"
         )
     );
     List<VersionedSupervisorSpec> versions3 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource3")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource3")),
             "v1"
         ),
         new VersionedSupervisorSpec(
@@ -324,7 +324,7 @@ public void testSpecGetAllHistory()
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource3")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource3")),
             "v2"
         ),
         new VersionedSupervisorSpec(
@@ -332,7 +332,7 @@ public void testSpecGetAllHistory()
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource3")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource3")),
             "v3"
         )
     );
@@ -343,8 +343,8 @@ public void testSpecGetAllHistory()
 
     EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.of(supervisorManager)).times(2);
     EasyMock.expect(supervisorManager.getSupervisorHistory()).andReturn(history);
-    SupervisorSpec spec1 = new TestSupervisorSpec("id1", null, Arrays.asList("datasource1"));
-    SupervisorSpec spec2 = new TestSupervisorSpec("id2", null, Arrays.asList("datasource2"));
+    SupervisorSpec spec1 = new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1"));
+    SupervisorSpec spec2 = new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2"));
     EasyMock.expect(supervisorManager.getSupervisorSpec("id1")).andReturn(Optional.of(spec1)).atLeastOnce();
     EasyMock.expect(supervisorManager.getSupervisorSpec("id2")).andReturn(Optional.of(spec2)).atLeastOnce();
     EasyMock.expect(request.getAttribute(AuthConfig.DRUID_ALLOW_UNSECURED_PATH)).andReturn(null).atLeastOnce();
@@ -363,7 +363,7 @@ public void testSpecGetAllHistory()
 
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.specGetAllHistory(request);
@@ -377,57 +377,57 @@ public void testSpecGetAllHistoryWithAuthFailureFiltering()
   {
     List<VersionedSupervisorSpec> versions1 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id1", null, Arrays.asList("datasource1")),
+            new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id1", null, Arrays.asList("datasource1")),
+            new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1")),
             "v2"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource1")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource1")),
             "tombstone"
         )
     );
     List<VersionedSupervisorSpec> versions2 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v2"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource2")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource2")),
             "tombstone"
         )
     );
     List<VersionedSupervisorSpec> versions3 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v2"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource2")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource2")),
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id3", null, Arrays.asList("datasource3")),
+            new TestSupervisorSpec("id3", null, Collections.singletonList("datasource3")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource3")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource3")),
             "tombstone"
         )
     );
     List<VersionedSupervisorSpec> versions4 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v1"
         ),
         new VersionedSupervisorSpec(
@@ -435,7 +435,7 @@ public void testSpecGetAllHistoryWithAuthFailureFiltering()
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v2"
         ),
         new VersionedSupervisorSpec(
@@ -443,7 +443,7 @@ public void testSpecGetAllHistoryWithAuthFailureFiltering()
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v3"
         )
     );
@@ -456,8 +456,8 @@ public void testSpecGetAllHistoryWithAuthFailureFiltering()
 
     EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.of(supervisorManager)).times(2);
     EasyMock.expect(supervisorManager.getSupervisorHistory()).andReturn(history);
-    SupervisorSpec spec1 = new TestSupervisorSpec("id1", null, Arrays.asList("datasource1"));
-    SupervisorSpec spec2 = new TestSupervisorSpec("id2", null, Arrays.asList("datasource2"));
+    SupervisorSpec spec1 = new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1"));
+    SupervisorSpec spec2 = new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2"));
     EasyMock.expect(supervisorManager.getSupervisorSpec("id1")).andReturn(Optional.of(spec1)).atLeastOnce();
     EasyMock.expect(supervisorManager.getSupervisorSpec("id2")).andReturn(Optional.of(spec2)).atLeastOnce();
     EasyMock.expect(request.getAttribute(AuthConfig.DRUID_ALLOW_UNSECURED_PATH)).andReturn(null).atLeastOnce();
@@ -477,11 +477,11 @@ public void testSpecGetAllHistoryWithAuthFailureFiltering()
         "id3",
         ImmutableList.of(
             new VersionedSupervisorSpec(
-                new TestSupervisorSpec("id3", null, Arrays.asList("datasource3")),
+                new TestSupervisorSpec("id3", null, Collections.singletonList("datasource3")),
                 "v1"
             ),
             new VersionedSupervisorSpec(
-                new NoopSupervisorSpec(null, Arrays.asList("datasource3")),
+                new NoopSupervisorSpec(null, Collections.singletonList("datasource3")),
                 "tombstone"
             )
         )
@@ -505,7 +505,7 @@ public void testSpecGetAllHistoryWithAuthFailureFiltering()
 
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.specGetAllHistory(request);
@@ -519,29 +519,29 @@ public void testSpecGetHistory()
   {
     List<VersionedSupervisorSpec> versions1 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id1", null, Arrays.asList("datasource1")),
+            new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource1")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource1")),
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id1", null, Arrays.asList("datasource1")),
+            new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1")),
             "v2"
         )
     );
     List<VersionedSupervisorSpec> versions2 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource2")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource2")),
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v2"
         )
     );
@@ -576,7 +576,7 @@ public void testSpecGetHistory()
 
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.specGetHistory(request, "id1");
@@ -590,35 +590,35 @@ public void testSpecGetHistoryWithAuthFailure() throws Exception
   {
     List<VersionedSupervisorSpec> versions1 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id1", null, Arrays.asList("datasource1")),
+            new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource3")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource3")),
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id1", null, Arrays.asList("datasource1")),
+            new TestSupervisorSpec("id1", null, Collections.singletonList("datasource1")),
             "v2"
         )
     );
     List<VersionedSupervisorSpec> versions2 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v1"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource2")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource2")),
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v2"
         )
     );
     List<VersionedSupervisorSpec> versions3 = ImmutableList.of(
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id3", null, Arrays.asList("datasource3")),
+            new TestSupervisorSpec("id3", null, Collections.singletonList("datasource3")),
             "v1"
         ),
         new VersionedSupervisorSpec(
@@ -626,7 +626,7 @@ public void testSpecGetHistoryWithAuthFailure() throws Exception
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id3", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id3", null, Collections.singletonList("datasource2")),
             "v2"
         ),
         new VersionedSupervisorSpec(
@@ -634,11 +634,11 @@ public void testSpecGetHistoryWithAuthFailure() throws Exception
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id3", null, Arrays.asList("datasource3")),
+            new TestSupervisorSpec("id3", null, Collections.singletonList("datasource3")),
             "v2"
         ),
         new VersionedSupervisorSpec(
-            new NoopSupervisorSpec(null, Arrays.asList("datasource3")),
+            new NoopSupervisorSpec(null, Collections.singletonList("datasource3")),
             "tombstone"
         )
     );
@@ -673,7 +673,7 @@ public void testSpecGetHistoryWithAuthFailure() throws Exception
     Assert.assertEquals(
         ImmutableList.of(
             new VersionedSupervisorSpec(
-                new TestSupervisorSpec("id3", null, Arrays.asList("datasource3")),
+                new TestSupervisorSpec("id3", null, Collections.singletonList("datasource3")),
                 "v1"
             ),
             new VersionedSupervisorSpec(
@@ -685,11 +685,11 @@ public void testSpecGetHistoryWithAuthFailure() throws Exception
                 "tombstone"
             ),
             new VersionedSupervisorSpec(
-                new TestSupervisorSpec("id3", null, Arrays.asList("datasource3")),
+                new TestSupervisorSpec("id3", null, Collections.singletonList("datasource3")),
                 "v2"
             ),
             new VersionedSupervisorSpec(
-                new NoopSupervisorSpec(null, Arrays.asList("datasource3")),
+                new NoopSupervisorSpec(null, Collections.singletonList("datasource3")),
                 "tombstone"
             )
         ),
@@ -702,7 +702,7 @@ public void testSpecGetHistoryWithAuthFailure() throws Exception
 
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.specGetHistory(request, "id1");
@@ -735,7 +735,7 @@ public void testReset()
 
     resetAll();
 
-    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.<SupervisorManager>absent());
+    EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent());
     replayAll();
 
     response = supervisorResource.shutdown("my-id");
diff --git a/indexing-service/src/test/java/io/druid/indexing/worker/WorkerTaskManagerTest.java b/indexing-service/src/test/java/io/druid/indexing/worker/WorkerTaskManagerTest.java
index 9d1e878ce13..cd7e85e4fce 100644
--- a/indexing-service/src/test/java/io/druid/indexing/worker/WorkerTaskManagerTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/worker/WorkerTaskManagerTest.java
@@ -90,7 +90,7 @@ private WorkerTaskManager createWorkerTaskManager()
     );
     TaskActionClientFactory taskActionClientFactory = EasyMock.createNiceMock(TaskActionClientFactory.class);
     TaskActionClient taskActionClient = EasyMock.createNiceMock(TaskActionClient.class);
-    EasyMock.expect(taskActionClientFactory.create(EasyMock.<Task>anyObject())).andReturn(taskActionClient).anyTimes();
+    EasyMock.expect(taskActionClientFactory.create(EasyMock.anyObject())).andReturn(taskActionClient).anyTimes();
     SegmentHandoffNotifierFactory notifierFactory = EasyMock.createNiceMock(SegmentHandoffNotifierFactory.class);
     EasyMock.replay(taskActionClientFactory, taskActionClient, notifierFactory);
 
diff --git a/indexing-service/src/test/java/io/druid/indexing/worker/WorkerTaskMonitorTest.java b/indexing-service/src/test/java/io/druid/indexing/worker/WorkerTaskMonitorTest.java
index 30d01c66e05..2b5374b1030 100644
--- a/indexing-service/src/test/java/io/druid/indexing/worker/WorkerTaskMonitorTest.java
+++ b/indexing-service/src/test/java/io/druid/indexing/worker/WorkerTaskMonitorTest.java
@@ -160,7 +160,7 @@ private WorkerTaskMonitor createTaskMonitor()
     );
     TaskActionClientFactory taskActionClientFactory = EasyMock.createNiceMock(TaskActionClientFactory.class);
     TaskActionClient taskActionClient = EasyMock.createNiceMock(TaskActionClient.class);
-    EasyMock.expect(taskActionClientFactory.create(EasyMock.<Task>anyObject())).andReturn(taskActionClient).anyTimes();
+    EasyMock.expect(taskActionClientFactory.create(EasyMock.anyObject())).andReturn(taskActionClient).anyTimes();
     SegmentHandoffNotifierFactory notifierFactory = EasyMock.createNiceMock(SegmentHandoffNotifierFactory.class);
     EasyMock.replay(taskActionClientFactory, taskActionClient, notifierFactory);
     return new WorkerTaskMonitor(
diff --git a/indexing-service/src/test/java/io/druid/server/initialization/IndexerZkConfigTest.java b/indexing-service/src/test/java/io/druid/server/initialization/IndexerZkConfigTest.java
index 598e2ef3aa5..a5d4b207d67 100644
--- a/indexing-service/src/test/java/io/druid/server/initialization/IndexerZkConfigTest.java
+++ b/indexing-service/src/test/java/io/druid/server/initialization/IndexerZkConfigTest.java
@@ -143,7 +143,7 @@ public void testNullConfig()
 
     final Injector injector = Initialization.makeInjectorWithModules(
         GuiceInjectors.makeStartupInjector(),
-        ImmutableList.<Module>of(simpleZkConfigModule)
+        ImmutableList.of(simpleZkConfigModule)
     );
     JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get();
 
@@ -164,7 +164,7 @@ public void testSimpleConfig() throws IllegalAccessException, NoSuchMethodExcept
   {
     final Injector injector = Initialization.makeInjectorWithModules(
         GuiceInjectors.makeStartupInjector(),
-        ImmutableList.<Module>of(simpleZkConfigModule)
+        ImmutableList.of(simpleZkConfigModule)
     );
     JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get();
 
@@ -197,7 +197,7 @@ public void testIndexerBaseOverride()
     System.setProperty(indexerPropertyKey, overrideValue); // Set it here so that the binding picks it up
     final Injector injector = Initialization.makeInjectorWithModules(
         GuiceInjectors.makeStartupInjector(),
-        ImmutableList.<Module>of(simpleZkConfigModule)
+        ImmutableList.of(simpleZkConfigModule)
     );
     propertyValues.clear();
     propertyValues.setProperty(indexerPropertyKey, overrideValue); // Have to set it here as well annoyingly enough
@@ -229,7 +229,7 @@ public void testExactConfig()
   {
     final Injector injector = Initialization.makeInjectorWithModules(
         GuiceInjectors.makeStartupInjector(),
-        ImmutableList.<Module>of(simpleZkConfigModule)
+        ImmutableList.of(simpleZkConfigModule)
     );
     propertyValues.setProperty(zkServiceConfigString + ".base", "/druid/metrics");
 
diff --git a/integration-tests/src/main/java/io/druid/testing/DockerConfigProvider.java b/integration-tests/src/main/java/io/druid/testing/DockerConfigProvider.java
index be4656ae04a..c63c2e504ec 100644
--- a/integration-tests/src/main/java/io/druid/testing/DockerConfigProvider.java
+++ b/integration-tests/src/main/java/io/druid/testing/DockerConfigProvider.java
@@ -107,7 +107,7 @@ public String getKafkaInternalHost()
       @Override
       public String getProperty(String prop)
       {
-        if (prop.equals("hadoopTestDir")) {
+        if ("hadoopTestDir".equals(prop)) {
           return hadoopDir;
         }
         throw new UnsupportedOperationException("DockerConfigProvider does not support property " + prop);
diff --git a/integration-tests/src/main/java/io/druid/testing/clients/OverlordResourceTestClient.java b/integration-tests/src/main/java/io/druid/testing/clients/OverlordResourceTestClient.java
index d97cccda6f6..d0e9b4e1316 100644
--- a/integration-tests/src/main/java/io/druid/testing/clients/OverlordResourceTestClient.java
+++ b/integration-tests/src/main/java/io/druid/testing/clients/OverlordResourceTestClient.java
@@ -103,7 +103,7 @@ public String submitTask(final String task)
             LOG.info("Submitted task with TaskID[%s]", taskID);
             return taskID;
           },
-          Predicates.<Throwable>alwaysTrue(),
+          Predicates.alwaysTrue(),
           5
       );
     }
diff --git a/integration-tests/src/main/java/io/druid/testing/utils/TestQueryHelper.java b/integration-tests/src/main/java/io/druid/testing/utils/TestQueryHelper.java
index 140cb7aeb3f..688719f98b5 100644
--- a/integration-tests/src/main/java/io/druid/testing/utils/TestQueryHelper.java
+++ b/integration-tests/src/main/java/io/druid/testing/utils/TestQueryHelper.java
@@ -28,7 +28,6 @@
 import io.druid.java.util.common.granularity.Granularities;
 import io.druid.java.util.common.logger.Logger;
 import io.druid.query.Druids;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.timeseries.TimeseriesQuery;
 import io.druid.testing.IntegrationTestingConfig;
@@ -131,7 +130,7 @@ public int countRows(String dataSource, String interval)
     TimeseriesQuery query = Druids.newTimeseriesQueryBuilder()
                                   .dataSource(dataSource)
                                   .aggregators(
-                                      ImmutableList.<AggregatorFactory>of(
+                                      ImmutableList.of(
                                           new LongSumAggregatorFactory("rows", "count")
                                       )
                                   )
diff --git a/integration-tests/src/test/java/io/druid/tests/security/ITBasicAuthConfigurationTest.java b/integration-tests/src/test/java/io/druid/tests/security/ITBasicAuthConfigurationTest.java
index d9724987b52..ff8a97fe1a0 100644
--- a/integration-tests/src/test/java/io/druid/tests/security/ITBasicAuthConfigurationTest.java
+++ b/integration-tests/src/test/java/io/druid/tests/security/ITBasicAuthConfigurationTest.java
@@ -55,7 +55,7 @@
 import java.sql.DriverManager;
 import java.sql.ResultSet;
 import java.sql.Statement;
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -147,7 +147,7 @@ public void testAuthConfiguration() throws Exception
         null
     );
 
-    List<ResourceAction> permissions = Arrays.asList(
+    List<ResourceAction> permissions = Collections.singletonList(
         new ResourceAction(
             new Resource(".*", ResourceType.STATE),
             Action.READ
diff --git a/java-util/src/main/java/io/druid/java/util/common/FileUtils.java b/java-util/src/main/java/io/druid/java/util/common/FileUtils.java
index cb0b800c931..7f137972105 100644
--- a/java-util/src/main/java/io/druid/java/util/common/FileUtils.java
+++ b/java-util/src/main/java/io/druid/java/util/common/FileUtils.java
@@ -107,7 +107,7 @@ public long size()
 
     public FileCopyResult(File... files)
     {
-      this(files == null ? ImmutableList.<File>of() : Arrays.asList(files));
+      this(files == null ? ImmutableList.of() : Arrays.asList(files));
     }
 
     public FileCopyResult(Collection<File> files)
diff --git a/java-util/src/main/java/io/druid/java/util/common/JodaUtils.java b/java-util/src/main/java/io/druid/java/util/common/JodaUtils.java
index 85cd9e325d1..01c04a30f08 100644
--- a/java-util/src/main/java/io/druid/java/util/common/JodaUtils.java
+++ b/java-util/src/main/java/io/druid/java/util/common/JodaUtils.java
@@ -90,8 +90,8 @@ public static Interval umbrellaInterval(Iterable<Interval> intervals)
       endDates.add(interval.getEnd());
     }
 
-    DateTime minStart = minDateTime(startDates.toArray(new DateTime[]{}));
-    DateTime maxEnd = maxDateTime(endDates.toArray(new DateTime[]{}));
+    DateTime minStart = minDateTime(startDates.toArray(new DateTime[0]));
+    DateTime maxEnd = maxDateTime(endDates.toArray(new DateTime[0]));
 
     if (minStart == null || maxEnd == null) {
       throw new IllegalArgumentException("Empty list of intervals");
diff --git a/java-util/src/main/java/io/druid/java/util/common/lifecycle/Lifecycle.java b/java-util/src/main/java/io/druid/java/util/common/lifecycle/Lifecycle.java
index 0196f4c8dcb..419da8254c5 100644
--- a/java-util/src/main/java/io/druid/java/util/common/lifecycle/Lifecycle.java
+++ b/java-util/src/main/java/io/druid/java/util/common/lifecycle/Lifecycle.java
@@ -401,9 +401,8 @@ public void start() throws Exception
       for (Method method : o.getClass().getMethods()) {
         boolean doStart = false;
         for (Annotation annotation : method.getAnnotations()) {
-          if (annotation.annotationType()
-                        .getCanonicalName()
-                        .equals("io.druid.java.util.common.lifecycle.LifecycleStart")) {
+          if ("io.druid.java.util.common.lifecycle.LifecycleStart".equals(annotation.annotationType()
+              .getCanonicalName())) {
             doStart = true;
             break;
           }
@@ -421,9 +420,8 @@ public void stop()
       for (Method method : o.getClass().getMethods()) {
         boolean doStop = false;
         for (Annotation annotation : method.getAnnotations()) {
-          if (annotation.annotationType()
-                        .getCanonicalName()
-                        .equals("io.druid.java.util.common.lifecycle.LifecycleStop")) {
+          if ("io.druid.java.util.common.lifecycle.LifecycleStop".equals(annotation.annotationType()
+              .getCanonicalName())) {
             doStop = true;
             break;
           }
diff --git a/java-util/src/main/java/io/druid/java/util/common/parsers/JSONPathSpec.java b/java-util/src/main/java/io/druid/java/util/common/parsers/JSONPathSpec.java
index 8a73544504f..d757ab18258 100644
--- a/java-util/src/main/java/io/druid/java/util/common/parsers/JSONPathSpec.java
+++ b/java-util/src/main/java/io/druid/java/util/common/parsers/JSONPathSpec.java
@@ -40,7 +40,7 @@ public JSONPathSpec(
   )
   {
     this.useFieldDiscovery = useFieldDiscovery == null ? true : useFieldDiscovery;
-    this.fields = fields == null ? ImmutableList.<JSONPathFieldSpec>of() : fields;
+    this.fields = fields == null ? ImmutableList.of() : fields;
   }
 
   @JsonProperty
diff --git a/java-util/src/main/java/io/druid/java/util/common/parsers/TimestampParser.java b/java-util/src/main/java/io/druid/java/util/common/parsers/TimestampParser.java
index 0c65ae29cb3..7019a550db0 100644
--- a/java-util/src/main/java/io/druid/java/util/common/parsers/TimestampParser.java
+++ b/java-util/src/main/java/io/druid/java/util/common/parsers/TimestampParser.java
@@ -40,7 +40,7 @@
       final String format
   )
   {
-    if (format.equalsIgnoreCase("auto")) {
+    if ("auto".equalsIgnoreCase(format)) {
       // Could be iso or millis
       final DateTimes.UtcFormatter parser = DateTimes.wrapFormatter(createAutoParser());
       return (String input) -> {
@@ -65,20 +65,20 @@
 
         return DateTimes.utc(Long.parseLong(input));
       };
-    } else if (format.equalsIgnoreCase("iso")) {
+    } else if ("iso".equalsIgnoreCase(format)) {
       return input -> {
         Preconditions.checkArgument(!Strings.isNullOrEmpty(input), "null timestamp");
         return DateTimes.of(ParserUtils.stripQuotes(input));
       };
-    } else if (format.equalsIgnoreCase("posix")
-        || format.equalsIgnoreCase("millis")
-        || format.equalsIgnoreCase("nano")) {
+    } else if ("posix".equalsIgnoreCase(format)
+        || "millis".equalsIgnoreCase(format)
+        || "nano".equalsIgnoreCase(format)) {
       final Function<Number, DateTime> numericFun = createNumericTimestampParser(format);
       return input -> {
         Preconditions.checkArgument(!Strings.isNullOrEmpty(input), "null timestamp");
         return numericFun.apply(Long.parseLong(ParserUtils.stripQuotes(input)));
       };
-    } else if (format.equalsIgnoreCase("ruby")) {
+    } else if ("ruby".equalsIgnoreCase(format)) {
       // Numeric parser ignores millis for ruby.
       final Function<Number, DateTime> numericFun = createNumericTimestampParser(format);
       return input -> {
@@ -104,9 +104,9 @@
   )
   {
     // Ignore millis for ruby
-    if (format.equalsIgnoreCase("posix") || format.equalsIgnoreCase("ruby")) {
+    if ("posix".equalsIgnoreCase(format) || "ruby".equalsIgnoreCase(format)) {
       return input -> DateTimes.utc(TimeUnit.SECONDS.toMillis(input.longValue()));
-    } else if (format.equalsIgnoreCase("nano")) {
+    } else if ("nano".equalsIgnoreCase(format)) {
       return input -> DateTimes.utc(TimeUnit.NANOSECONDS.toMillis(input.longValue()));
     } else {
       return input -> DateTimes.utc(input.longValue());
diff --git a/java-util/src/main/java/io/druid/java/util/emitter/service/AlertEvent.java b/java-util/src/main/java/io/druid/java/util/emitter/service/AlertEvent.java
index 2c851b04240..9b19a1ad2d0 100644
--- a/java-util/src/main/java/io/druid/java/util/emitter/service/AlertEvent.java
+++ b/java-util/src/main/java/io/druid/java/util/emitter/service/AlertEvent.java
@@ -95,7 +95,7 @@ public AlertEvent(
       String description
   )
   {
-    this(DateTimes.nowUtc(), service, host, Severity.DEFAULT, description, ImmutableMap.<String, Object>of());
+    this(DateTimes.nowUtc(), service, host, Severity.DEFAULT, description, ImmutableMap.of());
   }
 
   public DateTime getCreatedTime()
diff --git a/java-util/src/main/java/io/druid/java/util/emitter/service/ServiceEmitter.java b/java-util/src/main/java/io/druid/java/util/emitter/service/ServiceEmitter.java
index ecce48677a6..33b8715674c 100644
--- a/java-util/src/main/java/io/druid/java/util/emitter/service/ServiceEmitter.java
+++ b/java-util/src/main/java/io/druid/java/util/emitter/service/ServiceEmitter.java
@@ -35,7 +35,7 @@
 
   public ServiceEmitter(String service, String host, Emitter emitter)
   {
-    this(service, host, emitter, ImmutableMap.<String, String>of());
+    this(service, host, emitter, ImmutableMap.of());
   }
 
   public ServiceEmitter(
diff --git a/java-util/src/main/java/io/druid/java/util/http/client/Request.java b/java-util/src/main/java/io/druid/java/util/http/client/Request.java
index 72c328a5cc4..7393673a4f5 100644
--- a/java-util/src/main/java/io/druid/java/util/http/client/Request.java
+++ b/java-util/src/main/java/io/druid/java/util/http/client/Request.java
@@ -35,8 +35,8 @@
 import java.net.URL;
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -49,7 +49,7 @@
   private final HttpMethod method;
   private final URL url;
   private final Multimap<String, String> headers = Multimaps.newListMultimap(
-      Maps.<String, Collection<String>>newHashMap(),
+      Maps.newHashMap(),
       new Supplier<List<String>>()
       {
         @Override
@@ -106,7 +106,7 @@ public Request copy()
 
   public Request setHeader(String header, String value)
   {
-    headers.replaceValues(header, Arrays.asList(value));
+    headers.replaceValues(header, Collections.singletonList(value));
     return this;
   }
 
diff --git a/java-util/src/main/java/io/druid/java/util/http/client/response/InputStreamResponseHandler.java b/java-util/src/main/java/io/druid/java/util/http/client/response/InputStreamResponseHandler.java
index f31a616fff2..75c5bd55a18 100644
--- a/java-util/src/main/java/io/druid/java/util/http/client/response/InputStreamResponseHandler.java
+++ b/java-util/src/main/java/io/druid/java/util/http/client/response/InputStreamResponseHandler.java
@@ -52,7 +52,7 @@
   {
     final AppendableByteArrayInputStream obj = clientResponse.getObj();
     obj.done();
-    return ClientResponse.<InputStream>finished(obj);
+    return ClientResponse.finished(obj);
   }
 
   @Override
diff --git a/java-util/src/main/java/io/druid/java/util/http/client/response/SequenceInputStreamResponseHandler.java b/java-util/src/main/java/io/druid/java/util/http/client/response/SequenceInputStreamResponseHandler.java
index fa1997899c4..8330432a5d4 100644
--- a/java-util/src/main/java/io/druid/java/util/http/client/response/SequenceInputStreamResponseHandler.java
+++ b/java-util/src/main/java/io/druid/java/util/http/client/response/SequenceInputStreamResponseHandler.java
@@ -66,7 +66,7 @@
       throw Throwables.propagate(e);
     }
     byteCount.addAndGet(response.getContent().readableBytes());
-    return ClientResponse.<InputStream>finished(
+    return ClientResponse.finished(
         new SequenceInputStream(
             new Enumeration<InputStream>()
             {
@@ -147,7 +147,7 @@ public InputStream nextElement()
         done.set(true);
       }
     }
-    return ClientResponse.<InputStream>finished(clientResponse.getObj());
+    return ClientResponse.finished(clientResponse.getObj());
   }
 
   @Override
diff --git a/java-util/src/main/java/io/druid/java/util/metrics/JvmCpuMonitor.java b/java-util/src/main/java/io/druid/java/util/metrics/JvmCpuMonitor.java
index 9a45fa14439..5d4dd5bc39f 100644
--- a/java-util/src/main/java/io/druid/java/util/metrics/JvmCpuMonitor.java
+++ b/java-util/src/main/java/io/druid/java/util/metrics/JvmCpuMonitor.java
@@ -43,7 +43,7 @@
 
   public JvmCpuMonitor()
   {
-    this(ImmutableMap.<String, String[]>of());
+    this(ImmutableMap.of());
   }
 
   public JvmCpuMonitor(Map<String, String[]> dimensions)
diff --git a/java-util/src/main/java/io/druid/java/util/metrics/SysMonitor.java b/java-util/src/main/java/io/druid/java/util/metrics/SysMonitor.java
index c45ebfb2985..940430ab796 100644
--- a/java-util/src/main/java/io/druid/java/util/metrics/SysMonitor.java
+++ b/java-util/src/main/java/io/druid/java/util/metrics/SysMonitor.java
@@ -61,7 +61,7 @@
 
   public SysMonitor()
   {
-    this(ImmutableMap.<String, String[]>of());
+    this(ImmutableMap.of());
   }
 
   public SysMonitor(Map<String, String[]> dimensions)
@@ -485,7 +485,7 @@ public void emit(ServiceEmitter emitter)
       }
 
       if (uptime != null) {
-        final Map<String, Number> stats = ImmutableMap.<String, Number>of(
+        final Map<String, Number> stats = ImmutableMap.of(
             "sys/uptime", Double.valueOf(uptime.getUptime()).longValue()
         );
         for (Map.Entry<String, Number> entry : stats.entrySet()) {
@@ -494,7 +494,7 @@ public void emit(ServiceEmitter emitter)
       }
 
       if (la != null) {
-        final Map<String, Number> stats = ImmutableMap.<String, Number>of(
+        final Map<String, Number> stats = ImmutableMap.of(
             "sys/la/1", la[0],
             "sys/la/5", la[1],
             "sys/la/15", la[2]
diff --git a/java-util/src/test/java/io/druid/java/util/common/CompressionUtilsTest.java b/java-util/src/test/java/io/druid/java/util/common/CompressionUtilsTest.java
index 9daaab93a8f..26d3d7914b6 100644
--- a/java-util/src/test/java/io/druid/java/util/common/CompressionUtilsTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/CompressionUtilsTest.java
@@ -232,7 +232,7 @@ public void testGoodGzipByteSource() throws IOException
     final File tmpDir = temporaryFolder.newFolder("testGoodGzipByteSource");
     final File gzFile = new File(tmpDir, testFile.getName() + ".gz");
     Assert.assertFalse(gzFile.exists());
-    CompressionUtils.gzip(Files.asByteSource(testFile), Files.asByteSink(gzFile), Predicates.<Throwable>alwaysTrue());
+    CompressionUtils.gzip(Files.asByteSource(testFile), Files.asByteSink(gzFile), Predicates.alwaysTrue());
     Assert.assertTrue(gzFile.exists());
     try (final InputStream inputStream = CompressionUtils.decompress(new FileInputStream(gzFile), gzFile.getName())) {
       assertGoodDataStream(inputStream);
@@ -595,7 +595,7 @@ public void flush() throws IOException
               }
             };
           }
-        }, Predicates.<Throwable>alwaysTrue()
+        }, Predicates.alwaysTrue()
     );
     Assert.assertTrue(gzFile.exists());
     try (final InputStream inputStream = CompressionUtils.decompress(new FileInputStream(gzFile), "file.gz")) {
@@ -642,7 +642,7 @@ public void testStreamErrorGunzip() throws Exception
     final File tmpDir = temporaryFolder.newFolder("testGoodGzipByteSource");
     final File gzFile = new File(tmpDir, testFile.getName() + ".gz");
     Assert.assertFalse(gzFile.exists());
-    CompressionUtils.gzip(Files.asByteSource(testFile), Files.asByteSink(gzFile), Predicates.<Throwable>alwaysTrue());
+    CompressionUtils.gzip(Files.asByteSource(testFile), Files.asByteSink(gzFile), Predicates.alwaysTrue());
     Assert.assertTrue(gzFile.exists());
     try (final InputStream inputStream = CompressionUtils.decompress(new FileInputStream(gzFile), "file.gz")) {
       assertGoodDataStream(inputStream);
diff --git a/java-util/src/test/java/io/druid/java/util/common/guava/BaseSequenceTest.java b/java-util/src/test/java/io/druid/java/util/common/guava/BaseSequenceTest.java
index b2fd86d3cb9..6786d684a43 100644
--- a/java-util/src/test/java/io/druid/java/util/common/guava/BaseSequenceTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/guava/BaseSequenceTest.java
@@ -22,6 +22,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -40,7 +41,7 @@ public void testSanity() throws Exception
   @Test
   public void testNothing() throws Exception
   {
-    final List<Integer> vals = Arrays.asList();
+    final List<Integer> vals = Collections.emptyList();
     SequenceTestHelper.testAll(Sequences.simple(vals), vals);
   }
 
diff --git a/java-util/src/test/java/io/druid/java/util/common/guava/ConcatSequenceTest.java b/java-util/src/test/java/io/druid/java/util/common/guava/ConcatSequenceTest.java
index bd8b5f1f469..b14c16fd182 100644
--- a/java-util/src/test/java/io/druid/java/util/common/guava/ConcatSequenceTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/guava/ConcatSequenceTest.java
@@ -29,6 +29,7 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -42,7 +43,7 @@
   public void testAccumulationSingle() throws Exception
   {
     testAll(
-        Arrays.asList(
+        Collections.singletonList(
             Arrays.asList(1, 2, 3, 4, 5)
         )
     );
@@ -66,7 +67,7 @@ public void testAccumulationMultipleAndEmpty() throws Exception
     testAll(
         Arrays.asList(
             Arrays.asList(1, 2, 3, 4, 5),
-            Arrays.<Integer>asList(),
+            Collections.emptyList(),
             Arrays.asList(6, 7, 8),
             Arrays.asList(9, 10, 11, 12)
         )
@@ -79,10 +80,10 @@ public void testAccumulationMultipleAndEmpty1() throws Exception
     testAll(
         Arrays.asList(
             Arrays.asList(1, 2, 3, 4, 5),
-            Arrays.<Integer>asList(),
+            Collections.emptyList(),
             Arrays.asList(6, 7, 8),
             Arrays.asList(9, 10, 11, 12),
-            Arrays.<Integer>asList()
+            Collections.emptyList()
         )
     );
   }
@@ -92,9 +93,9 @@ public void testAccumulationMultipleAndEmpty2() throws Exception
   {
     testAll(
         Arrays.asList(
-            Arrays.<Integer>asList(),
+            Collections.emptyList(),
             Arrays.asList(1, 2, 3, 4, 5),
-            Arrays.<Integer>asList(),
+            Collections.emptyList(),
             Arrays.asList(6, 7, 8),
             Arrays.asList(9, 10, 11, 12)
         )
diff --git a/java-util/src/test/java/io/druid/java/util/common/guava/FunctionalIterableTest.java b/java-util/src/test/java/io/druid/java/util/common/guava/FunctionalIterableTest.java
index 5cf06e90a64..139cc78f36b 100644
--- a/java-util/src/test/java/io/druid/java/util/common/guava/FunctionalIterableTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/guava/FunctionalIterableTest.java
@@ -27,6 +27,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 
 /**
  */
@@ -36,7 +37,7 @@
   public void testTransform()
   {
     Assert.assertEquals(
-        Lists.<Integer>newArrayList(
+        Lists.newArrayList(
             FunctionalIterable.create(Arrays.asList("1", "2", "3"))
                               .transform(
                                   new Function<String, Integer>()
@@ -57,7 +58,7 @@ public Integer apply(String input)
   public void testTransformCat()
   {
     Assert.assertEquals(
-        Lists.<String>newArrayList(
+        Lists.newArrayList(
             FunctionalIterable.create(Arrays.asList("1,2", "3,4", "5,6"))
                               .transformCat(
                                   new Function<String, Iterable<String>>()
@@ -78,7 +79,7 @@ public void testTransformCat()
   public void testKeep()
   {
     Assert.assertEquals(
-        Lists.<Integer>newArrayList(
+        Lists.newArrayList(
             FunctionalIterable.create(Arrays.asList("1", "2", "3"))
                               .keep(
                                   new Function<String, Integer>()
@@ -102,7 +103,7 @@ public Integer apply(String input)
   public void testFilter()
   {
     Assert.assertEquals(
-        Lists.<String>newArrayList(
+        Lists.newArrayList(
             FunctionalIterable.create(Arrays.asList("1", "2", "3"))
                               .filter(
                                   new Predicate<String>()
@@ -123,11 +124,11 @@ public boolean apply(String input)
   public void testDrop()
   {
     Assert.assertEquals(
-        Lists.<String>newArrayList(
+        Lists.newArrayList(
             FunctionalIterable.create(Arrays.asList("1", "2", "3"))
                               .drop(2)
         ),
-        Arrays.asList("3")
+        Collections.singletonList("3")
     );
   }
 }
diff --git a/java-util/src/test/java/io/druid/java/util/common/guava/FunctionalIteratorTest.java b/java-util/src/test/java/io/druid/java/util/common/guava/FunctionalIteratorTest.java
index 940fda5e338..4b439b78916 100644
--- a/java-util/src/test/java/io/druid/java/util/common/guava/FunctionalIteratorTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/guava/FunctionalIteratorTest.java
@@ -27,6 +27,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Iterator;
 
 /**
@@ -37,7 +38,7 @@
   public void testTransform()
   {
     Assert.assertEquals(
-        Lists.<Integer>newArrayList(
+        Lists.newArrayList(
             FunctionalIterator.create(Arrays.asList("1", "2", "3").iterator())
                               .transform(
                                   new Function<String, Integer>()
@@ -58,7 +59,7 @@ public Integer apply(String input)
   public void testTransformCat()
   {
     Assert.assertEquals(
-        Lists.<String>newArrayList(
+        Lists.newArrayList(
             FunctionalIterator.create(Arrays.asList("1,2", "3,4", "5,6").iterator())
                               .transformCat(
                                   new Function<String, Iterator<String>>()
@@ -79,7 +80,7 @@ public void testTransformCat()
   public void testKeep()
   {
     Assert.assertEquals(
-        Lists.<Integer>newArrayList(
+        Lists.newArrayList(
             FunctionalIterator.create(Arrays.asList("1", "2", "3").iterator())
                               .keep(
                                   new Function<String, Integer>()
@@ -103,7 +104,7 @@ public Integer apply(String input)
   public void testFilter()
   {
     Assert.assertEquals(
-        Lists.<String>newArrayList(
+        Lists.newArrayList(
             FunctionalIterator.create(Arrays.asList("1", "2", "3").iterator())
                               .filter(
                                   new Predicate<String>()
@@ -124,11 +125,11 @@ public boolean apply(String input)
   public void testDrop()
   {
     Assert.assertEquals(
-        Lists.<String>newArrayList(
+        Lists.newArrayList(
             FunctionalIterator.create(Arrays.asList("1", "2", "3").iterator())
                               .drop(2)
         ),
-        Arrays.asList("3")
+        Collections.singletonList("3")
     );
   }
 }
diff --git a/java-util/src/test/java/io/druid/java/util/common/guava/MergeIteratorTest.java b/java-util/src/test/java/io/druid/java/util/common/guava/MergeIteratorTest.java
index 37e9c8ef792..dce461813ca 100644
--- a/java-util/src/test/java/io/druid/java/util/common/guava/MergeIteratorTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/guava/MergeIteratorTest.java
@@ -34,7 +34,7 @@
   public void testSanity()
   {
     MergeIterator<Integer> iter = new MergeIterator<>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         Lists.newArrayList(
             Arrays.asList(1, 3, 5, 7, 9).iterator(),
             Arrays.asList(2, 8).iterator(),
@@ -49,7 +49,7 @@ public void testSanity()
   public void testScrewsUpOnOutOfOrder()
   {
     MergeIterator<Integer> iter = new MergeIterator<>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         Lists.newArrayList(
             Arrays.asList(1, 3, 5, 4, 7, 9).iterator(),
             Arrays.asList(2, 8).iterator(),
diff --git a/java-util/src/test/java/io/druid/java/util/common/guava/MergeSequenceTest.java b/java-util/src/test/java/io/druid/java/util/common/guava/MergeSequenceTest.java
index 68408d3d0a3..359d05a9721 100644
--- a/java-util/src/test/java/io/druid/java/util/common/guava/MergeSequenceTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/guava/MergeSequenceTest.java
@@ -26,6 +26,7 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 
 /**
  */
@@ -70,7 +71,7 @@ public void testMergeEmpties() throws Exception
   {
     final ArrayList<TestSequence<Integer>> testSeqs = Lists.newArrayList(
         TestSequence.create(1, 3, 5, 7, 9),
-        TestSequence.<Integer>create(),
+        TestSequence.create(),
         TestSequence.create(2, 8),
         TestSequence.create(4, 6, 8)
     );
@@ -87,7 +88,7 @@ public void testMergeEmpties() throws Exception
   public void testMergeEmpties1() throws Exception
   {
     final ArrayList<TestSequence<Integer>> testSeqs = Lists.newArrayList(
-        TestSequence.<Integer>create(),
+        TestSequence.create(),
         TestSequence.create(1, 3, 5, 7, 9),
         TestSequence.create(2, 8),
         TestSequence.create(4, 6, 8)
@@ -107,9 +108,9 @@ public void testMergeEmpties2() throws Exception
     final ArrayList<TestSequence<Integer>> testSeqs = Lists.newArrayList(
         TestSequence.create(1, 3, 5, 7, 9),
         TestSequence.create(2, 8),
-        TestSequence.<Integer>create(),
+        TestSequence.create(),
         TestSequence.create(4, 6, 8),
-        TestSequence.<Integer>create()
+        TestSequence.create()
     );
 
     MergeSequence<Integer> seq = new MergeSequence<>(Ordering.<Integer>natural(), (Sequence) Sequences.simple(testSeqs));
@@ -141,35 +142,35 @@ public void testScrewsUpOnOutOfOrder() throws Exception
   public void testHierarchicalMerge() throws Exception
   {
     final Sequence<Integer> seq1 = new MergeSequence<>(
-        Ordering.<Integer>natural(), Sequences.<Sequence<Integer>>simple(
-        Lists.<Sequence<Integer>>newArrayList(
+        Ordering.natural(), Sequences.simple(
+        Lists.newArrayList(
             TestSequence.create(1)
         )
     )
     );
 
     final Sequence<Integer> finalMerged = new MergeSequence<>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         Sequences.simple(
-            Lists.<Sequence<Integer>>newArrayList(seq1)
+            Lists.newArrayList(seq1)
         )
     );
 
-    SequenceTestHelper.testAll(finalMerged, Arrays.asList(1));
+    SequenceTestHelper.testAll(finalMerged, Collections.singletonList(1));
   }
 
   @Test
   public void testMergeOne() throws Exception
   {
     final Sequence<Integer> mergeOne = new MergeSequence<>(
-        Ordering.<Integer>natural(), Sequences.<Sequence<Integer>>simple(
-        Lists.<Sequence<Integer>>newArrayList(
+        Ordering.natural(), Sequences.simple(
+        Lists.newArrayList(
             TestSequence.create(1)
         )
     )
     );
 
-    SequenceTestHelper.testAll(mergeOne, Arrays.asList(1));
+    SequenceTestHelper.testAll(mergeOne, Collections.singletonList(1));
   }
 
 }
diff --git a/java-util/src/test/java/io/druid/java/util/common/guava/nary/SortedMergeIteratorTest.java b/java-util/src/test/java/io/druid/java/util/common/guava/nary/SortedMergeIteratorTest.java
index 4ff5f22b894..c5e800febdc 100644
--- a/java-util/src/test/java/io/druid/java/util/common/guava/nary/SortedMergeIteratorTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/guava/nary/SortedMergeIteratorTest.java
@@ -36,7 +36,7 @@ public void testSanity()
     SortedMergeIterator<Integer, Integer> iter = SortedMergeIterator.create(
         Arrays.asList(1, 4, 5, 7, 9).iterator(),
         Arrays.asList(1, 2, 3, 6, 7, 8, 9, 10, 11).iterator(),
-        Comparators.<Integer>comparable(),
+        Comparators.comparable(),
         new BinaryFn<Integer, Integer, Integer>()
         {
           @Override
diff --git a/java-util/src/test/java/io/druid/java/util/common/parsers/RegexParserTest.java b/java-util/src/test/java/io/druid/java/util/common/parsers/RegexParserTest.java
index 1eb0bba7738..090c64db99c 100644
--- a/java-util/src/test/java/io/druid/java/util/common/parsers/RegexParserTest.java
+++ b/java-util/src/test/java/io/druid/java/util/common/parsers/RegexParserTest.java
@@ -26,6 +26,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -61,7 +62,7 @@ public void testAWSLog()
 
     final Parser<String, Object> parser = new RegexParser(
         pattern,
-        Optional.<String>absent(),
+        Optional.absent(),
         fieldNames
     );
     String data = "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be mybucket [06/Feb/2014:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - \"GET /mybucket?versioning HTTP/1.1\" 200 - 113 - 7 - \"-\" \"S3Console/0.4\" -";
@@ -122,7 +123,7 @@ public void testAWSLogWithCrazyUserAgent()
 
     final Parser<String, Object> parser = new RegexParser(
         pattern,
-        Optional.<String>absent(),
+        Optional.absent(),
         fieldNames
     );
     String data = "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be mybucket [06/Feb/2014:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - \"GET /mybucket?versioning HTTP/1.1\" 200 - 139 139 27 26 \"-\" \"() { foo;};echo; /bin/bash -c \"expr 299663299665 / 3; echo 333:; uname -a; echo 333:; id;\"\" -";
@@ -215,7 +216,7 @@ public void testFailure()
   {
     final String pattern = "AAAAA";
 
-    final List<String> fieldNames = Arrays.asList(
+    final List<String> fieldNames = Collections.singletonList(
         "dummy"
     );
 
diff --git a/java-util/src/test/java/io/druid/java/util/emitter/service/AlertEventTest.java b/java-util/src/test/java/io/druid/java/util/emitter/service/AlertEventTest.java
index ac01e2c3818..c112dac81af 100644
--- a/java-util/src/test/java/io/druid/java/util/emitter/service/AlertEventTest.java
+++ b/java-util/src/test/java/io/druid/java/util/emitter/service/AlertEventTest.java
@@ -138,7 +138,7 @@ public void testDefaulting()
 
       Assert.assertEquals(
           contents(new AlertEvent(service, host, desc)),
-          contents(new AlertEvent(service, host, Severity.COMPONENT_FAILURE, desc, ImmutableMap.<String, Object>of()))
+          contents(new AlertEvent(service, host, Severity.COMPONENT_FAILURE, desc, ImmutableMap.of()))
       );
 
       Assert.assertEquals(
@@ -174,7 +174,7 @@ public void testDefaulting()
       @Override
       public boolean apply(String k)
       {
-        return !k.equals("timestamp");
+        return !"timestamp".equals(k);
       }
     });
   }
diff --git a/java-util/src/test/java/io/druid/java/util/emitter/service/ServiceMetricEventTest.java b/java-util/src/test/java/io/druid/java/util/emitter/service/ServiceMetricEventTest.java
index 418078c69e6..c851830b576 100644
--- a/java-util/src/test/java/io/druid/java/util/emitter/service/ServiceMetricEventTest.java
+++ b/java-util/src/test/java/io/druid/java/util/emitter/service/ServiceMetricEventTest.java
@@ -26,6 +26,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 
 /**
  */
@@ -127,16 +128,16 @@ public void testStupidTest()
                     .put("service", "test")
                     .put("host", "localhost")
                     .put("metric", "test-metric")
-                    .put("user1", Arrays.asList("a"))
-                    .put("user2", Arrays.asList("b"))
-                    .put("user3", Arrays.asList("c"))
-                    .put("user4", Arrays.asList("d"))
-                    .put("user5", Arrays.asList("e"))
-                    .put("user6", Arrays.asList("f"))
-                    .put("user7", Arrays.asList("g"))
-                    .put("user8", Arrays.asList("h"))
-                    .put("user9", Arrays.asList("i"))
-                    .put("user10", Arrays.asList("j"))
+                    .put("user1", Collections.singletonList("a"))
+                    .put("user2", Collections.singletonList("b"))
+                    .put("user3", Collections.singletonList("c"))
+                    .put("user4", Collections.singletonList("d"))
+                    .put("user5", Collections.singletonList("e"))
+                    .put("user6", Collections.singletonList("f"))
+                    .put("user7", Collections.singletonList("g"))
+                    .put("user8", Collections.singletonList("h"))
+                    .put("user9", Collections.singletonList("i"))
+                    .put("user10", Collections.singletonList("j"))
                     .put("value", 1234)
                     .build(), arrayConstructorEvent.toMap()
     );
@@ -217,16 +218,16 @@ public void testStupidTest()
                     .put("service", "test")
                     .put("host", "localhost")
                     .put("metric", "test-metric")
-                    .put("user1", Arrays.asList("a"))
-                    .put("user2", Arrays.asList("b"))
-                    .put("user3", Arrays.asList("c"))
-                    .put("user4", Arrays.asList("d"))
-                    .put("user5", Arrays.asList("e"))
-                    .put("user6", Arrays.asList("f"))
-                    .put("user7", Arrays.asList("g"))
-                    .put("user8", Arrays.asList("h"))
-                    .put("user9", Arrays.asList("i"))
-                    .put("user10", Arrays.asList("j"))
+                    .put("user1", Collections.singletonList("a"))
+                    .put("user2", Collections.singletonList("b"))
+                    .put("user3", Collections.singletonList("c"))
+                    .put("user4", Collections.singletonList("d"))
+                    .put("user5", Collections.singletonList("e"))
+                    .put("user6", Collections.singletonList("f"))
+                    .put("user7", Collections.singletonList("g"))
+                    .put("user8", Collections.singletonList("h"))
+                    .put("user9", Collections.singletonList("i"))
+                    .put("user10", Collections.singletonList("j"))
                     .put("value", 1234)
                     .build(),
         ServiceMetricEvent.builder()
diff --git a/java-util/src/test/java/io/druid/java/util/http/client/FriendlyServersTest.java b/java-util/src/test/java/io/druid/java/util/http/client/FriendlyServersTest.java
index 14829145fc0..e6ce9a1060e 100644
--- a/java-util/src/test/java/io/druid/java/util/http/client/FriendlyServersTest.java
+++ b/java-util/src/test/java/io/druid/java/util/http/client/FriendlyServersTest.java
@@ -133,7 +133,7 @@ public void run()
                 // Read headers
                 String header;
                 while (!(header = in.readLine()).equals("")) {
-                  if (header.equals("Accept-Encoding: identity")) {
+                  if ("Accept-Encoding: identity".equals(header)) {
                     foundAcceptEncoding.set(true);
                   }
                 }
diff --git a/java-util/src/test/java/io/druid/java/util/metrics/MonitorsTest.java b/java-util/src/test/java/io/druid/java/util/metrics/MonitorsTest.java
index 07b9c717a3b..ebbd725010c 100644
--- a/java-util/src/test/java/io/druid/java/util/metrics/MonitorsTest.java
+++ b/java-util/src/test/java/io/druid/java/util/metrics/MonitorsTest.java
@@ -35,7 +35,7 @@ public void testSetFeed()
   {
     String feed = "testFeed";
     StubServiceEmitter emitter = new StubServiceEmitter("dev/monitor-test", "localhost:0000");
-    Monitor m = Monitors.createCompoundJvmMonitor(ImmutableMap.<String, String[]>of(), feed);
+    Monitor m = Monitors.createCompoundJvmMonitor(ImmutableMap.of(), feed);
     m.start();
     m.monitor(emitter);
     m.stop();
@@ -46,7 +46,7 @@ public void testSetFeed()
   public void testDefaultFeed()
   {
     StubServiceEmitter emitter = new StubServiceEmitter("dev/monitor-test", "localhost:0000");
-    Monitor m = Monitors.createCompoundJvmMonitor(ImmutableMap.<String, String[]>of());
+    Monitor m = Monitors.createCompoundJvmMonitor(ImmutableMap.of());
     m.start();
     m.monitor(emitter);
     m.stop();
diff --git a/processing/src/main/java/io/druid/collections/spatial/ImmutableRTree.java b/processing/src/main/java/io/druid/collections/spatial/ImmutableRTree.java
index dfe5088a366..bc63ce1bf08 100644
--- a/processing/src/main/java/io/druid/collections/spatial/ImmutableRTree.java
+++ b/processing/src/main/java/io/druid/collections/spatial/ImmutableRTree.java
@@ -128,7 +128,7 @@ public int size()
       return strategy.search(root, bound);
     } else {
       // If the dimension counts don't match (for example, if this is called on a blank `new ImmutableRTree()`)
-      return ImmutableList.<ImmutableBitmap>of();
+      return ImmutableList.of();
     }
   }
 
diff --git a/processing/src/main/java/io/druid/collections/spatial/Node.java b/processing/src/main/java/io/druid/collections/spatial/Node.java
index b5f6b52d470..a3e270beed7 100644
--- a/processing/src/main/java/io/druid/collections/spatial/Node.java
+++ b/processing/src/main/java/io/druid/collections/spatial/Node.java
@@ -46,7 +46,7 @@ public Node(float[] minCoordinates, float[] maxCoordinates, boolean isLeaf, Bitm
     this(
         minCoordinates,
         maxCoordinates,
-        Lists.<Node>newArrayList(),
+        Lists.newArrayList(),
         isLeaf,
         null,
         bitmapFactory.makeEmptyMutableBitmap()
diff --git a/processing/src/main/java/io/druid/collections/spatial/Point.java b/processing/src/main/java/io/druid/collections/spatial/Point.java
index 1ac282d9fb4..223197aca01 100644
--- a/processing/src/main/java/io/druid/collections/spatial/Point.java
+++ b/processing/src/main/java/io/druid/collections/spatial/Point.java
@@ -38,7 +38,7 @@ public Point(float[] coords, int entry, BitmapFactory bitmapFactory)
     super(
         coords,
         Arrays.copyOf(coords, coords.length),
-        Lists.<Node>newArrayList(),
+        Lists.newArrayList(),
         true,
         null,
         makeBitmap(entry, bitmapFactory)
@@ -51,7 +51,7 @@ public Point(float[] coords, int entry, BitmapFactory bitmapFactory)
 
   public Point(float[] coords, MutableBitmap entry)
   {
-    super(coords, Arrays.copyOf(coords, coords.length), Lists.<Node>newArrayList(), true, null, entry);
+    super(coords, Arrays.copyOf(coords, coords.length), Lists.newArrayList(), true, null, entry);
 
     this.coords = coords;
     this.bitmap = entry;
diff --git a/processing/src/main/java/io/druid/guice/GuiceInjectors.java b/processing/src/main/java/io/druid/guice/GuiceInjectors.java
index 918ec5e1694..203bdc0d630 100644
--- a/processing/src/main/java/io/druid/guice/GuiceInjectors.java
+++ b/processing/src/main/java/io/druid/guice/GuiceInjectors.java
@@ -21,7 +21,6 @@
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
-import com.google.inject.Binder;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Module;
@@ -37,20 +36,15 @@
 {
   public static Collection<Module> makeDefaultStartupModules()
   {
-    return ImmutableList.<Module>of(
+    return ImmutableList.of(
         new DruidGuiceExtensions(),
         new JacksonModule(),
         new PropertiesModule(Arrays.asList("common.runtime.properties", "runtime.properties")),
         new ConfigModule(),
-        new Module()
-        {
-          @Override
-          public void configure(Binder binder)
-          {
-            binder.bind(DruidSecondaryModule.class);
-            JsonConfigProvider.bind(binder, "druid.extensions", ExtensionsConfig.class);
-            JsonConfigProvider.bind(binder, "druid.modules", ModulesConfig.class);
-          }
+        binder -> {
+          binder.bind(DruidSecondaryModule.class);
+          JsonConfigProvider.bind(binder, "druid.extensions", ExtensionsConfig.class);
+          JsonConfigProvider.bind(binder, "druid.modules", ModulesConfig.class);
         }
     );
   }
diff --git a/processing/src/main/java/io/druid/query/DruidMetrics.java b/processing/src/main/java/io/druid/query/DruidMetrics.java
index 80a28e86b59..052037d8e39 100644
--- a/processing/src/main/java/io/druid/query/DruidMetrics.java
+++ b/processing/src/main/java/io/druid/query/DruidMetrics.java
@@ -46,7 +46,8 @@ public static int findNumComplexAggs(List<AggregatorFactory> aggs)
     int retVal = 0;
     for (AggregatorFactory agg : aggs) {
       // This needs to change when we have support column types better
-      if (!agg.getTypeName().equals("float") && !agg.getTypeName().equals("long") && !agg.getTypeName().equals("double")) {
+      if (!"float".equals(agg.getTypeName()) && !"long".equals(agg.getTypeName()) && !"double"
+          .equals(agg.getTypeName())) {
         retVal++;
       }
     }
diff --git a/processing/src/main/java/io/druid/query/FinalizeResultsQueryRunner.java b/processing/src/main/java/io/druid/query/FinalizeResultsQueryRunner.java
index 32414944ed0..b4b1dc2c502 100644
--- a/processing/src/main/java/io/druid/query/FinalizeResultsQueryRunner.java
+++ b/processing/src/main/java/io/druid/query/FinalizeResultsQueryRunner.java
@@ -58,7 +58,7 @@ public FinalizeResultsQueryRunner(
     final MetricManipulationFn metricManipulationFn;
 
     if (shouldFinalize) {
-      queryToRun = query.withOverriddenContext(ImmutableMap.<String, Object>of("finalize", false));
+      queryToRun = query.withOverriddenContext(ImmutableMap.of("finalize", false));
       metricManipulationFn = MetricManipulatorFns.finalizing();
 
     } else {
diff --git a/processing/src/main/java/io/druid/query/QueryRunnerHelper.java b/processing/src/main/java/io/druid/query/QueryRunnerHelper.java
index e1118f013a0..aa994428460 100644
--- a/processing/src/main/java/io/druid/query/QueryRunnerHelper.java
+++ b/processing/src/main/java/io/druid/query/QueryRunnerHelper.java
@@ -66,7 +66,7 @@
               }
             }
         ),
-        Predicates.<Result<T>>notNull()
+        Predicates.notNull()
     );
   }
 
diff --git a/processing/src/main/java/io/druid/query/TimewarpOperator.java b/processing/src/main/java/io/druid/query/TimewarpOperator.java
index db2bdb2528e..e1a1155864b 100644
--- a/processing/src/main/java/io/druid/query/TimewarpOperator.java
+++ b/processing/src/main/java/io/druid/query/TimewarpOperator.java
@@ -34,7 +34,7 @@
 import org.joda.time.Interval;
 import org.joda.time.Period;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.Map;
 
 /**
@@ -92,7 +92,8 @@ public TimewarpOperator(
         );
         return Sequences.map(
             baseRunner.run(
-                queryPlus.withQuerySegmentSpec(new MultipleIntervalSegmentSpec(Arrays.asList(modifiedInterval))),
+                queryPlus.withQuerySegmentSpec(new MultipleIntervalSegmentSpec(
+                    Collections.singletonList(modifiedInterval))),
                 responseContext
             ),
             new Function<T, T>()
diff --git a/processing/src/main/java/io/druid/query/aggregation/AggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/AggregatorFactory.java
index f2853898a12..65858c5da75 100644
--- a/processing/src/main/java/io/druid/query/aggregation/AggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/AggregatorFactory.java
@@ -201,6 +201,6 @@ public AggregatorFactory getMergingFactory(AggregatorFactory other) throws Aggre
 
     return mergedAggregators == null
            ? null
-           : mergedAggregators.values().toArray(new AggregatorFactory[mergedAggregators.size()]);
+           : mergedAggregators.values().toArray(new AggregatorFactory[0]);
   }
 }
diff --git a/processing/src/main/java/io/druid/query/aggregation/CountAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/CountAggregatorFactory.java
index 297a9584b7a..0e5385ec9e0 100644
--- a/processing/src/main/java/io/druid/query/aggregation/CountAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/CountAggregatorFactory.java
@@ -25,7 +25,7 @@
 import com.google.common.collect.ImmutableList;
 import io.druid.segment.ColumnSelectorFactory;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
@@ -84,7 +84,7 @@ public AggregatorFactory getCombiningFactory()
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new CountAggregatorFactory(name));
+    return Collections.singletonList(new CountAggregatorFactory(name));
   }
 
   @Override
diff --git a/processing/src/main/java/io/druid/query/aggregation/HistogramAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/HistogramAggregatorFactory.java
index 2ad1fd52008..336f5c120c2 100644
--- a/processing/src/main/java/io/druid/query/aggregation/HistogramAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/HistogramAggregatorFactory.java
@@ -31,6 +31,7 @@
 import javax.annotation.Nullable;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
@@ -54,7 +55,7 @@ public HistogramAggregatorFactory(
 
     this.name = name;
     this.fieldName = fieldName;
-    this.breaksList = (breaksList == null) ? Lists.<Float>newArrayList() : breaksList;
+    this.breaksList = (breaksList == null) ? Lists.newArrayList() : breaksList;
     this.breaks = new float[this.breaksList.size()];
     for (int i = 0; i < this.breaksList.size(); ++i) {
       this.breaks[i] = this.breaksList.get(i);
@@ -136,7 +137,8 @@ public AggregatorFactory getCombiningFactory()
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new HistogramAggregatorFactory(fieldName, fieldName, breaksList));
+    return Collections.singletonList(
+        new HistogramAggregatorFactory(fieldName, fieldName, breaksList));
   }
 
   @Override
@@ -181,7 +183,7 @@ public String getFieldName()
   @Override
   public List<String> requiredFields()
   {
-    return Arrays.asList(fieldName);
+    return Collections.singletonList(fieldName);
   }
 
   @Override
diff --git a/processing/src/main/java/io/druid/query/aggregation/JavaScriptAggregator.java b/processing/src/main/java/io/druid/query/aggregation/JavaScriptAggregator.java
index 7f9d72e2b45..453f1d59dc7 100644
--- a/processing/src/main/java/io/druid/query/aggregation/JavaScriptAggregator.java
+++ b/processing/src/main/java/io/druid/query/aggregation/JavaScriptAggregator.java
@@ -43,7 +43,7 @@
 
   public JavaScriptAggregator(List<BaseObjectColumnValueSelector> selectorList, ScriptAggregator script)
   {
-    this.selectorList = selectorList.toArray(new BaseObjectColumnValueSelector[]{});
+    this.selectorList = selectorList.toArray(new BaseObjectColumnValueSelector[0]);
     this.script = script;
 
     this.current = script.reset();
diff --git a/processing/src/main/java/io/druid/query/aggregation/JavaScriptBufferAggregator.java b/processing/src/main/java/io/druid/query/aggregation/JavaScriptBufferAggregator.java
index 6fe30f9b3b7..7170f49b72c 100644
--- a/processing/src/main/java/io/druid/query/aggregation/JavaScriptBufferAggregator.java
+++ b/processing/src/main/java/io/druid/query/aggregation/JavaScriptBufferAggregator.java
@@ -35,7 +35,7 @@ public JavaScriptBufferAggregator(
       JavaScriptAggregator.ScriptAggregator script
   )
   {
-    this.selectorList = selectorList.toArray(new BaseObjectColumnValueSelector[]{});
+    this.selectorList = selectorList.toArray(new BaseObjectColumnValueSelector[0]);
     this.script = script;
   }
 
diff --git a/processing/src/main/java/io/druid/query/aggregation/cardinality/CardinalityAggregator.java b/processing/src/main/java/io/druid/query/aggregation/cardinality/CardinalityAggregator.java
index 8e660220e8c..70e18dff9f3 100644
--- a/processing/src/main/java/io/druid/query/aggregation/cardinality/CardinalityAggregator.java
+++ b/processing/src/main/java/io/druid/query/aggregation/cardinality/CardinalityAggregator.java
@@ -75,7 +75,7 @@ static void hashValues(
       boolean byRow
   )
   {
-    this(name, selectorPlusList.toArray(new ColumnSelectorPlus[] {}), byRow);
+    this(name, selectorPlusList.toArray(new ColumnSelectorPlus[0]), byRow);
   }
 
   CardinalityAggregator(
diff --git a/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstAggregatorFactory.java
index 8ded9eddb41..7da5379199a 100644
--- a/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/first/DoubleFirstAggregatorFactory.java
@@ -39,6 +39,7 @@
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -163,7 +164,7 @@ public void inspectRuntimeShape(RuntimeShapeInspector inspector)
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new DoubleFirstAggregatorFactory(fieldName, fieldName));
+    return Collections.singletonList(new DoubleFirstAggregatorFactory(fieldName, fieldName));
   }
 
   @Override
diff --git a/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstAggregatorFactory.java
index 8cc45dc8350..1ae510b675a 100644
--- a/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/first/FloatFirstAggregatorFactory.java
@@ -39,6 +39,7 @@
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -161,7 +162,7 @@ public void inspectRuntimeShape(RuntimeShapeInspector inspector)
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new FloatFirstAggregatorFactory(fieldName, fieldName));
+    return Collections.singletonList(new FloatFirstAggregatorFactory(fieldName, fieldName));
   }
 
   @Override
diff --git a/processing/src/main/java/io/druid/query/aggregation/first/LongFirstAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/first/LongFirstAggregatorFactory.java
index cd646a7f872..56d8aede8ab 100644
--- a/processing/src/main/java/io/druid/query/aggregation/first/LongFirstAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/first/LongFirstAggregatorFactory.java
@@ -38,6 +38,7 @@
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -154,7 +155,7 @@ public void inspectRuntimeShape(RuntimeShapeInspector inspector)
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new LongFirstAggregatorFactory(fieldName, fieldName));
+    return Collections.singletonList(new LongFirstAggregatorFactory(fieldName, fieldName));
   }
 
   @Override
diff --git a/processing/src/main/java/io/druid/query/aggregation/hyperloglog/HyperUniquesAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/hyperloglog/HyperUniquesAggregatorFactory.java
index 78e19b96a2e..37194965bac 100644
--- a/processing/src/main/java/io/druid/query/aggregation/hyperloglog/HyperUniquesAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/hyperloglog/HyperUniquesAggregatorFactory.java
@@ -41,7 +41,6 @@
 import org.apache.commons.codec.binary.Base64;
 
 import java.nio.ByteBuffer;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
@@ -167,7 +166,7 @@ public AggregatorFactory getMergingFactory(AggregatorFactory other) throws Aggre
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new HyperUniquesAggregatorFactory(
+    return Collections.singletonList(new HyperUniquesAggregatorFactory(
         fieldName,
         fieldName,
         isInputHyperUnique,
diff --git a/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastAggregatorFactory.java
index 134319c7d18..9cf9bf15580 100644
--- a/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/last/DoubleLastAggregatorFactory.java
@@ -39,6 +39,7 @@
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -153,7 +154,7 @@ public void inspectRuntimeShape(RuntimeShapeInspector inspector)
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new LongFirstAggregatorFactory(fieldName, fieldName));
+    return Collections.singletonList(new LongFirstAggregatorFactory(fieldName, fieldName));
   }
 
   @Override
diff --git a/processing/src/main/java/io/druid/query/aggregation/last/FloatLastAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/last/FloatLastAggregatorFactory.java
index a76c4f0c545..e06c3fcc842 100644
--- a/processing/src/main/java/io/druid/query/aggregation/last/FloatLastAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/last/FloatLastAggregatorFactory.java
@@ -39,6 +39,7 @@
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -151,7 +152,7 @@ public void inspectRuntimeShape(RuntimeShapeInspector inspector)
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new LongFirstAggregatorFactory(fieldName, fieldName));
+    return Collections.singletonList(new LongFirstAggregatorFactory(fieldName, fieldName));
   }
 
   @Override
diff --git a/processing/src/main/java/io/druid/query/aggregation/last/LongLastAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/last/LongLastAggregatorFactory.java
index 91b43dde6b1..ff33195038d 100644
--- a/processing/src/main/java/io/druid/query/aggregation/last/LongLastAggregatorFactory.java
+++ b/processing/src/main/java/io/druid/query/aggregation/last/LongLastAggregatorFactory.java
@@ -39,6 +39,7 @@
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -150,7 +151,7 @@ public void inspectRuntimeShape(RuntimeShapeInspector inspector)
   @Override
   public List<AggregatorFactory> getRequiredColumns()
   {
-    return Arrays.<AggregatorFactory>asList(new LongLastAggregatorFactory(fieldName, fieldName));
+    return Collections.singletonList(new LongLastAggregatorFactory(fieldName, fieldName));
   }
 
   @Override
diff --git a/processing/src/main/java/io/druid/query/groupby/GroupByQuery.java b/processing/src/main/java/io/druid/query/groupby/GroupByQuery.java
index 80d0eed1d58..66d9ded6845 100644
--- a/processing/src/main/java/io/druid/query/groupby/GroupByQuery.java
+++ b/processing/src/main/java/io/druid/query/groupby/GroupByQuery.java
@@ -184,11 +184,11 @@ private GroupByQuery(
       Preconditions.checkArgument(spec != null, "dimensions has null DimensionSpec");
     }
 
-    this.aggregatorSpecs = aggregatorSpecs == null ? ImmutableList.<AggregatorFactory>of() : aggregatorSpecs;
+    this.aggregatorSpecs = aggregatorSpecs == null ? ImmutableList.of() : aggregatorSpecs;
     this.postAggregatorSpecs = Queries.prepareAggregations(
         this.dimensions.stream().map(DimensionSpec::getOutputName).collect(Collectors.toList()),
         this.aggregatorSpecs,
-        postAggregatorSpecs == null ? ImmutableList.<PostAggregator>of() : postAggregatorSpecs
+        postAggregatorSpecs == null ? ImmutableList.of() : postAggregatorSpecs
     );
     this.havingSpec = havingSpec;
     this.limitSpec = LimitSpec.nullToNoopLimitSpec(limitSpec);
diff --git a/processing/src/main/java/io/druid/query/groupby/GroupByQueryEngine.java b/processing/src/main/java/io/druid/query/groupby/GroupByQueryEngine.java
index 148fc927fa6..d3543cd8627 100644
--- a/processing/src/main/java/io/druid/query/groupby/GroupByQueryEngine.java
+++ b/processing/src/main/java/io/druid/query/groupby/GroupByQueryEngine.java
@@ -376,7 +376,7 @@ public Row next()
       final RowUpdater rowUpdater = new RowUpdater(metricsBuffer, aggregators, positionMaintainer);
       if (unprocessedKeys != null) {
         for (ByteBuffer key : unprocessedKeys) {
-          final List<ByteBuffer> unprocUnproc = rowUpdater.updateValues(key, ImmutableList.<DimensionSelector>of());
+          final List<ByteBuffer> unprocUnproc = rowUpdater.updateValues(key, ImmutableList.of());
           if (unprocUnproc != null) {
             throw new ISE("Not enough memory to process the request.");
           }
diff --git a/processing/src/main/java/io/druid/query/groupby/GroupByQueryHelper.java b/processing/src/main/java/io/druid/query/groupby/GroupByQueryHelper.java
index e8cc49554eb..9bcf61e7638 100644
--- a/processing/src/main/java/io/druid/query/groupby/GroupByQueryHelper.java
+++ b/processing/src/main/java/io/druid/query/groupby/GroupByQueryHelper.java
@@ -113,7 +113,7 @@ public String apply(DimensionSpec input)
 
     final IncrementalIndexSchema indexSchema = new IncrementalIndexSchema.Builder()
         .withDimensionsSpec(new DimensionsSpec(dimensionSchemas, null, null))
-        .withMetrics(aggs.toArray(new AggregatorFactory[aggs.size()]))
+        .withMetrics(aggs.toArray(new AggregatorFactory[0]))
         .withQueryGranularity(gran)
         .withMinTimestamp(granTimeStart.getMillis())
         .build();
diff --git a/processing/src/main/java/io/druid/query/groupby/GroupByQueryQueryToolChest.java b/processing/src/main/java/io/druid/query/groupby/GroupByQueryQueryToolChest.java
index 498b924feab..ffdb9514176 100644
--- a/processing/src/main/java/io/druid/query/groupby/GroupByQueryQueryToolChest.java
+++ b/processing/src/main/java/io/druid/query/groupby/GroupByQueryQueryToolChest.java
@@ -192,7 +192,7 @@ public GroupByQueryQueryToolChest(
       final Sequence<Row> subqueryResult = mergeGroupByResults(
           groupByStrategy,
           subquery.withOverriddenContext(
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   //setting sort to false avoids unnecessary sorting while merging results. we only need to sort
                   //in the end when returning results to user. (note this is only respected by groupBy v1)
                   GroupByQueryHelper.CTX_KEY_SORT_RESULTS,
diff --git a/processing/src/main/java/io/druid/query/groupby/RowBasedColumnSelectorFactory.java b/processing/src/main/java/io/druid/query/groupby/RowBasedColumnSelectorFactory.java
index 99c9ce4c578..2074bad109e 100644
--- a/processing/src/main/java/io/druid/query/groupby/RowBasedColumnSelectorFactory.java
+++ b/processing/src/main/java/io/druid/query/groupby/RowBasedColumnSelectorFactory.java
@@ -58,7 +58,7 @@ private RowBasedColumnSelectorFactory(
   )
   {
     this.row = row;
-    this.rowSignature = rowSignature != null ? rowSignature : ImmutableMap.<String, ValueType>of();
+    this.rowSignature = rowSignature != null ? rowSignature : ImmutableMap.of();
   }
 
   public static RowBasedColumnSelectorFactory create(
diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/BufferHashGrouper.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/BufferHashGrouper.java
index f1168cf2d5f..9a29d8f8fb4 100644
--- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/BufferHashGrouper.java
+++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/BufferHashGrouper.java
@@ -169,7 +169,7 @@ public void reset()
     if (!initialized) {
       // it's possible for iterator() to be called before initialization when
       // a nested groupBy's subquery has an empty result set (see testEmptySubquery() in GroupByQueryRunnerTest)
-      return CloseableIterators.withEmptyBaggage(Collections.<Entry<KeyType>>emptyIterator());
+      return CloseableIterators.withEmptyBaggage(Collections.emptyIterator());
     }
 
     if (sorted) {
diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/GroupByMergingQueryRunnerV2.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/GroupByMergingQueryRunnerV2.java
index b1c7e8c0eab..db9e389563a 100644
--- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/GroupByMergingQueryRunnerV2.java
+++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/GroupByMergingQueryRunnerV2.java
@@ -124,7 +124,7 @@ public GroupByMergingQueryRunnerV2(
     );
     final QueryPlus<Row> queryPlusForRunners = queryPlus
         .withQuery(
-            query.withOverriddenContext(ImmutableMap.<String, Object>of(CTX_KEY_MERGE_RUNNERS_USING_CHAINED_EXECUTION, true))
+            query.withOverriddenContext(ImmutableMap.of(CTX_KEY_MERGE_RUNNERS_USING_CHAINED_EXECUTION, true))
         )
         .withoutThreadUnsafeState();
 
diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/GroupByQueryEngineV2.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/GroupByQueryEngineV2.java
index d26c2a0a84f..ab205705cf7 100644
--- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/GroupByQueryEngineV2.java
+++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/GroupByQueryEngineV2.java
@@ -218,16 +218,14 @@ private static boolean isArrayAggregateApplicable(
         && cardinality > 0) {
       final AggregatorFactory[] aggregatorFactories = query
           .getAggregatorSpecs()
-          .toArray(new AggregatorFactory[query.getAggregatorSpecs().size()]);
+          .toArray(new AggregatorFactory[0]);
       final long requiredBufferCapacity = BufferArrayGrouper.requiredBufferCapacity(
           cardinality,
           aggregatorFactories
       );
 
       // Check that all keys and aggregated values can be contained the buffer
-      if (requiredBufferCapacity <= buffer.capacity()) {
-        return true;
-      }
+      return requiredBufferCapacity <= buffer.capacity();
     }
 
     return false;
@@ -437,7 +435,7 @@ public HashAggregateIterator(
           keySerde,
           cursor.getColumnSelectorFactory(),
           query.getAggregatorSpecs()
-               .toArray(new AggregatorFactory[query.getAggregatorSpecs().size()]),
+               .toArray(new AggregatorFactory[0]),
           querySpecificConfig.getBufferGrouperMaxSize(),
           querySpecificConfig.getBufferGrouperMaxLoadFactor(),
           querySpecificConfig.getBufferGrouperInitialBuckets(),
@@ -591,7 +589,7 @@ protected IntGrouper newGrouper()
           Suppliers.ofInstance(buffer),
           cursor.getColumnSelectorFactory(),
           query.getAggregatorSpecs()
-               .toArray(new AggregatorFactory[query.getAggregatorSpecs().size()]),
+               .toArray(new AggregatorFactory[0]),
           cardinality
       );
     }
diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/LimitedBufferHashGrouper.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/LimitedBufferHashGrouper.java
index fe52bc6c189..aaa1fcf7fd4 100644
--- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/LimitedBufferHashGrouper.java
+++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/LimitedBufferHashGrouper.java
@@ -204,7 +204,7 @@ public void reset()
       // it's possible for iterator() to be called before initialization when
       // a nested groupBy's subquery has an empty result set (see testEmptySubqueryWithLimitPushDown()
       // in GroupByQueryRunnerTest)
-      return CloseableIterators.withEmptyBaggage(Collections.<Entry<KeyType>>emptyIterator());
+      return CloseableIterators.withEmptyBaggage(Collections.emptyIterator());
     }
 
     if (sortHasNonGroupingFields) {
diff --git a/processing/src/main/java/io/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java b/processing/src/main/java/io/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java
index a5ed90dcd09..fb04dbe1e02 100644
--- a/processing/src/main/java/io/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java
+++ b/processing/src/main/java/io/druid/query/groupby/epinephelinae/RowBasedGrouperHelper.java
@@ -1364,7 +1364,7 @@ private int getTotalKeySize()
         helpers.add(helper);
       }
 
-      return helpers.toArray(new RowBasedKeySerdeHelper[helpers.size()]);
+      return helpers.toArray(new RowBasedKeySerdeHelper[0]);
     }
 
     private RowBasedKeySerdeHelper makeSerdeHelper(
diff --git a/processing/src/main/java/io/druid/query/groupby/having/AndHavingSpec.java b/processing/src/main/java/io/druid/query/groupby/having/AndHavingSpec.java
index ba563dd1162..e86d034bc33 100644
--- a/processing/src/main/java/io/druid/query/groupby/having/AndHavingSpec.java
+++ b/processing/src/main/java/io/druid/query/groupby/having/AndHavingSpec.java
@@ -39,7 +39,7 @@
   @JsonCreator
   public AndHavingSpec(@JsonProperty("havingSpecs") List<HavingSpec> havingSpecs)
   {
-    this.havingSpecs = havingSpecs == null ? ImmutableList.<HavingSpec>of() : havingSpecs;
+    this.havingSpecs = havingSpecs == null ? ImmutableList.of() : havingSpecs;
   }
 
   @JsonProperty("havingSpecs")
diff --git a/processing/src/main/java/io/druid/query/groupby/having/OrHavingSpec.java b/processing/src/main/java/io/druid/query/groupby/having/OrHavingSpec.java
index 41db7a8433c..3ef24a945a0 100644
--- a/processing/src/main/java/io/druid/query/groupby/having/OrHavingSpec.java
+++ b/processing/src/main/java/io/druid/query/groupby/having/OrHavingSpec.java
@@ -39,7 +39,7 @@
   @JsonCreator
   public OrHavingSpec(@JsonProperty("havingSpecs") List<HavingSpec> havingSpecs)
   {
-    this.havingSpecs = havingSpecs == null ? ImmutableList.<HavingSpec>of() : havingSpecs;
+    this.havingSpecs = havingSpecs == null ? ImmutableList.of() : havingSpecs;
   }
 
   @JsonProperty("havingSpecs")
diff --git a/processing/src/main/java/io/druid/query/groupby/orderby/DefaultLimitSpec.java b/processing/src/main/java/io/druid/query/groupby/orderby/DefaultLimitSpec.java
index 3cf749df246..fb53c65264b 100644
--- a/processing/src/main/java/io/druid/query/groupby/orderby/DefaultLimitSpec.java
+++ b/processing/src/main/java/io/druid/query/groupby/orderby/DefaultLimitSpec.java
@@ -94,7 +94,7 @@ public DefaultLimitSpec(
       @JsonProperty("limit") Integer limit
   )
   {
-    this.columns = (columns == null) ? ImmutableList.<OrderByColumnSpec>of() : columns;
+    this.columns = (columns == null) ? ImmutableList.of() : columns;
     this.limit = (limit == null) ? Integer.MAX_VALUE : limit;
 
     Preconditions.checkArgument(this.limit > 0, "limit[%s] must be >0", limit);
diff --git a/processing/src/main/java/io/druid/query/groupby/strategy/GroupByStrategyV1.java b/processing/src/main/java/io/druid/query/groupby/strategy/GroupByStrategyV1.java
index 38863fe5e4c..af3b5053940 100644
--- a/processing/src/main/java/io/druid/query/groupby/strategy/GroupByStrategyV1.java
+++ b/processing/src/main/java/io/druid/query/groupby/strategy/GroupByStrategyV1.java
@@ -41,7 +41,6 @@
 import io.druid.query.QueryRunner;
 import io.druid.query.QueryWatcher;
 import io.druid.query.aggregation.AggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.GroupByQuery;
 import io.druid.query.groupby.GroupByQueryConfig;
@@ -199,7 +198,7 @@ public boolean apply(AggregatorFactory agg)
     final GroupByQuery innerQuery = new GroupByQuery.Builder(subquery)
         .setAggregatorSpecs(Lists.newArrayList(aggs))
         .setInterval(subquery.getIntervals())
-        .setPostAggregatorSpecs(Lists.<PostAggregator>newArrayList())
+        .setPostAggregatorSpecs(Lists.newArrayList())
         .build();
 
     final GroupByQuery outerQuery = new GroupByQuery.Builder(query)
@@ -208,7 +207,7 @@ public boolean apply(AggregatorFactory agg)
 
     final IncrementalIndex innerQueryResultIndex = GroupByQueryHelper.makeIncrementalIndex(
         innerQuery.withOverriddenContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 GroupByQueryHelper.CTX_KEY_SORT_RESULTS, true
             )
         ),
diff --git a/processing/src/main/java/io/druid/query/groupby/strategy/GroupByStrategyV2.java b/processing/src/main/java/io/druid/query/groupby/strategy/GroupByStrategyV2.java
index 23580bb9529..d50e2c269e2 100644
--- a/processing/src/main/java/io/druid/query/groupby/strategy/GroupByStrategyV2.java
+++ b/processing/src/main/java/io/druid/query/groupby/strategy/GroupByStrategyV2.java
@@ -243,7 +243,7 @@ public boolean doMergeResults(final GroupByQuery query)
         query.getLimitSpec(),
         query.getContext()
     ).withOverriddenContext(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "finalize", false,
             GroupByQueryConfig.CTX_KEY_STRATEGY, GroupByStrategySelector.STRATEGY_V2,
             CTX_KEY_FUDGE_TIMESTAMP, fudgeTimestamp == null ? "" : String.valueOf(fudgeTimestamp.getMillis()),
diff --git a/processing/src/main/java/io/druid/query/metadata/SegmentMetadataQueryQueryToolChest.java b/processing/src/main/java/io/druid/query/metadata/SegmentMetadataQueryQueryToolChest.java
index 34de6e49d6e..ec62e68b0f0 100644
--- a/processing/src/main/java/io/druid/query/metadata/SegmentMetadataQueryQueryToolChest.java
+++ b/processing/src/main/java/io/druid/query/metadata/SegmentMetadataQueryQueryToolChest.java
@@ -325,12 +325,12 @@ public static SegmentAnalysis mergeAnalyses(
       final AggregatorFactory[] aggs1 = arg1.getAggregators() != null
                                         ? arg1.getAggregators()
                                               .values()
-                                              .toArray(new AggregatorFactory[arg1.getAggregators().size()])
+                                              .toArray(new AggregatorFactory[0])
                                         : null;
       final AggregatorFactory[] aggs2 = arg2.getAggregators() != null
                                         ? arg2.getAggregators()
                                               .values()
-                                              .toArray(new AggregatorFactory[arg2.getAggregators().size()])
+                                              .toArray(new AggregatorFactory[0])
                                         : null;
       final AggregatorFactory[] merged = AggregatorFactory.mergeAggregators(Arrays.asList(aggs1, aggs2));
       if (merged != null) {
diff --git a/processing/src/main/java/io/druid/query/scan/ScanQueryEngine.java b/processing/src/main/java/io/druid/query/scan/ScanQueryEngine.java
index 4cb6187ccf1..7706ca6903d 100644
--- a/processing/src/main/java/io/druid/query/scan/ScanQueryEngine.java
+++ b/processing/src/main/java/io/druid/query/scan/ScanQueryEngine.java
@@ -149,7 +149,7 @@
                         for (String column : allColumns) {
                           final BaseObjectColumnValueSelector selector;
 
-                          if (legacy && column.equals(LEGACY_TIMESTAMP_KEY)) {
+                          if (legacy && LEGACY_TIMESTAMP_KEY.equals(column)) {
                             selector = cursor.getColumnSelectorFactory()
                                              .makeColumnValueSelector(Column.TIME_COLUMN_NAME);
                           } else {
diff --git a/processing/src/main/java/io/druid/query/search/CursorOnlyStrategy.java b/processing/src/main/java/io/druid/query/search/CursorOnlyStrategy.java
index 5de858c3d34..73e22702b43 100644
--- a/processing/src/main/java/io/druid/query/search/CursorOnlyStrategy.java
+++ b/processing/src/main/java/io/druid/query/search/CursorOnlyStrategy.java
@@ -55,7 +55,7 @@ private CursorOnlyStrategy(SearchQuery query)
   {
     final StorageAdapter adapter = segment.asStorageAdapter();
     final List<DimensionSpec> dimensionSpecs = getDimsToSearch(adapter.getAvailableDimensions(), query.getDimensions());
-    return ImmutableList.<SearchQueryExecutor>of(new CursorBasedExecutor(
+    return ImmutableList.of(new CursorBasedExecutor(
         query,
         segment,
         filter,
diff --git a/processing/src/main/java/io/druid/query/search/FragmentSearchQuerySpec.java b/processing/src/main/java/io/druid/query/search/FragmentSearchQuerySpec.java
index 62b3b3158a6..cdf7a7d66ae 100644
--- a/processing/src/main/java/io/druid/query/search/FragmentSearchQuerySpec.java
+++ b/processing/src/main/java/io/druid/query/search/FragmentSearchQuerySpec.java
@@ -58,11 +58,9 @@ public FragmentSearchQuerySpec(
     this.caseSensitive = caseSensitive;
     Set<String> set = new TreeSet<>();
     if (values != null) {
-      for (String value : values) {
-        set.add(value);
-      }
+      set.addAll(values);
     }
-    target = set.toArray(new String[set.size()]);
+    target = set.toArray(new String[0]);
   }
 
   @JsonProperty
diff --git a/processing/src/main/java/io/druid/query/search/SearchQueryQueryToolChest.java b/processing/src/main/java/io/druid/query/search/SearchQueryQueryToolChest.java
index 1eede43424a..6f6dfe8a1bc 100644
--- a/processing/src/main/java/io/druid/query/search/SearchQueryQueryToolChest.java
+++ b/processing/src/main/java/io/druid/query/search/SearchQueryQueryToolChest.java
@@ -149,7 +149,7 @@ public SearchQueryMetrics makeMetrics(SearchQuery query)
     return new CacheStrategy<Result<SearchResultValue>, Object, SearchQuery>()
     {
       private final List<DimensionSpec> dimensionSpecs =
-          query.getDimensions() != null ? query.getDimensions() : Collections.<DimensionSpec>emptyList();
+          query.getDimensions() != null ? query.getDimensions() : Collections.emptyList();
       private final List<String> dimOutputNames = dimensionSpecs.size() > 0 ?
           Lists.transform(dimensionSpecs, DimensionSpec::getOutputName) : Collections.emptyList();
 
@@ -168,7 +168,7 @@ public boolean isCacheable(SearchQuery query, boolean willMergeRunners)
         final byte[] granularityBytes = query.getGranularity().getCacheKey();
 
         final List<DimensionSpec> dimensionSpecs =
-            query.getDimensions() != null ? query.getDimensions() : Collections.<DimensionSpec>emptyList();
+            query.getDimensions() != null ? query.getDimensions() : Collections.emptyList();
         final byte[][] dimensionsBytes = new byte[dimensionSpecs.size()][];
         int dimensionsBytesSize = 0;
         int index = 0;
@@ -425,7 +425,7 @@ public SearchThresholdAdjustingQueryRunner(
               return new Result<SearchResultValue>(
                   input.getTimestamp(),
                   new SearchResultValue(
-                      Lists.<SearchHit>newArrayList(
+                      Lists.newArrayList(
                           Iterables.limit(input.getValue(), query.getLimit())
                       )
                   )
diff --git a/processing/src/main/java/io/druid/query/select/PagingSpec.java b/processing/src/main/java/io/druid/query/select/PagingSpec.java
index df550aa498d..c7d82c3fed3 100644
--- a/processing/src/main/java/io/druid/query/select/PagingSpec.java
+++ b/processing/src/main/java/io/druid/query/select/PagingSpec.java
@@ -68,7 +68,7 @@ public PagingSpec(
       @JacksonInject SelectQueryConfig config
   )
   {
-    this.pagingIdentifiers = pagingIdentifiers == null ? Maps.<String, Integer>newHashMap() : pagingIdentifiers;
+    this.pagingIdentifiers = pagingIdentifiers == null ? Maps.newHashMap() : pagingIdentifiers;
     this.threshold = threshold;
 
     boolean defaultFromNext = config.getEnableFromNextDefault();
diff --git a/processing/src/main/java/io/druid/query/select/SelectQueryQueryToolChest.java b/processing/src/main/java/io/druid/query/select/SelectQueryQueryToolChest.java
index 2eff16afdce..fd268e99ecc 100644
--- a/processing/src/main/java/io/druid/query/select/SelectQueryQueryToolChest.java
+++ b/processing/src/main/java/io/druid/query/select/SelectQueryQueryToolChest.java
@@ -162,7 +162,7 @@ public SelectQueryMetrics makeMetrics(SelectQuery query)
     return new CacheStrategy<Result<SelectResultValue>, Object, SelectQuery>()
     {
       private final List<DimensionSpec> dimensionSpecs =
-          query.getDimensions() != null ? query.getDimensions() : Collections.<DimensionSpec>emptyList();
+          query.getDimensions() != null ? query.getDimensions() : Collections.emptyList();
       private final List<String> dimOutputNames = dimensionSpecs.size() > 0 ?
           Lists.transform(dimensionSpecs, DimensionSpec::getOutputName) : Collections.emptyList();
 
@@ -180,7 +180,7 @@ public boolean isCacheable(SelectQuery query, boolean willMergeRunners)
         final byte[] granularityBytes = query.getGranularity().getCacheKey();
 
         final List<DimensionSpec> dimensionSpecs =
-            query.getDimensions() != null ? query.getDimensions() : Collections.<DimensionSpec>emptyList();
+            query.getDimensions() != null ? query.getDimensions() : Collections.emptyList();
         final byte[][] dimensionsBytes = new byte[dimensionSpecs.size()][];
         int dimensionsBytesSize = 0;
         int index = 0;
diff --git a/processing/src/main/java/io/druid/query/topn/TopNQuery.java b/processing/src/main/java/io/druid/query/topn/TopNQuery.java
index d600532b4a0..3726b7b196f 100644
--- a/processing/src/main/java/io/druid/query/topn/TopNQuery.java
+++ b/processing/src/main/java/io/druid/query/topn/TopNQuery.java
@@ -77,12 +77,12 @@ public TopNQuery(
     this.threshold = threshold;
 
     this.dimFilter = dimFilter;
-    this.aggregatorSpecs = aggregatorSpecs == null ? ImmutableList.<AggregatorFactory>of() : aggregatorSpecs;
+    this.aggregatorSpecs = aggregatorSpecs == null ? ImmutableList.of() : aggregatorSpecs;
     this.postAggregatorSpecs = Queries.prepareAggregations(
         ImmutableList.of(dimensionSpec.getOutputName()),
         this.aggregatorSpecs,
         postAggregatorSpecs == null
-            ? ImmutableList.<PostAggregator>of()
+            ? ImmutableList.of()
             : postAggregatorSpecs
     );
 
diff --git a/processing/src/main/java/io/druid/query/topn/TopNQueryEngine.java b/processing/src/main/java/io/druid/query/topn/TopNQueryEngine.java
index 5434ad2b631..ffdb07e25b5 100644
--- a/processing/src/main/java/io/druid/query/topn/TopNQueryEngine.java
+++ b/processing/src/main/java/io/druid/query/topn/TopNQueryEngine.java
@@ -98,7 +98,7 @@ public TopNQueryEngine(NonBlockingPool<ByteBuffer> bufferPool)
               }
             }
         ),
-        Predicates.<Result<TopNResultValue>>notNull()
+        Predicates.notNull()
     );
   }
 
diff --git a/processing/src/main/java/io/druid/query/topn/TopNResultValue.java b/processing/src/main/java/io/druid/query/topn/TopNResultValue.java
index 5da225f0f2b..3fab4e32f57 100644
--- a/processing/src/main/java/io/druid/query/topn/TopNResultValue.java
+++ b/processing/src/main/java/io/druid/query/topn/TopNResultValue.java
@@ -41,7 +41,7 @@ public TopNResultValue(
       List<?> value
   )
   {
-    this.value = (value == null) ? Lists.<DimensionAndMetricValueExtractor>newArrayList() : Lists.transform(
+    this.value = (value == null) ? Lists.newArrayList() : Lists.transform(
         value,
         new Function<Object, DimensionAndMetricValueExtractor>()
         {
diff --git a/processing/src/main/java/io/druid/segment/DoubleDimensionIndexer.java b/processing/src/main/java/io/druid/segment/DoubleDimensionIndexer.java
index 8a23c31a44a..6745a112087 100644
--- a/processing/src/main/java/io/druid/segment/DoubleDimensionIndexer.java
+++ b/processing/src/main/java/io/druid/segment/DoubleDimensionIndexer.java
@@ -36,7 +36,7 @@
 
 public class DoubleDimensionIndexer implements DimensionIndexer<Double, Double, Double>
 {
-  public static final Comparator<Double> DOUBLE_COMPARATOR = Comparators.<Double>naturalNullsFirst();
+  public static final Comparator<Double> DOUBLE_COMPARATOR = Comparators.naturalNullsFirst();
 
   @Override
   public Double processRowValsToUnsortedEncodedKeyComponent(Object dimValues, boolean reportParseExceptions)
diff --git a/processing/src/main/java/io/druid/segment/FloatDimensionIndexer.java b/processing/src/main/java/io/druid/segment/FloatDimensionIndexer.java
index b84b65b0270..8783b7b1574 100644
--- a/processing/src/main/java/io/druid/segment/FloatDimensionIndexer.java
+++ b/processing/src/main/java/io/druid/segment/FloatDimensionIndexer.java
@@ -36,7 +36,7 @@
 
 public class FloatDimensionIndexer implements DimensionIndexer<Float, Float, Float>
 {
-  public static final Comparator<Float> FLOAT_COMPARATOR = Comparators.<Float>naturalNullsFirst();
+  public static final Comparator<Float> FLOAT_COMPARATOR = Comparators.naturalNullsFirst();
 
   @Override
   public Float processRowValsToUnsortedEncodedKeyComponent(Object dimValues, boolean reportParseExceptions)
diff --git a/processing/src/main/java/io/druid/segment/IndexMerger.java b/processing/src/main/java/io/druid/segment/IndexMerger.java
index 79bacc3c3a7..1e7cbfbb210 100644
--- a/processing/src/main/java/io/druid/segment/IndexMerger.java
+++ b/processing/src/main/java/io/druid/segment/IndexMerger.java
@@ -142,7 +142,7 @@
 
   static <T extends Comparable<? super T>> ArrayList<T> mergeIndexed(List<Iterable<T>> indexedLists)
   {
-    Set<T> retVal = Sets.newTreeSet(Comparators.<T>naturalNullsFirst());
+    Set<T> retVal = Sets.newTreeSet(Comparators.naturalNullsFirst());
 
     for (Iterable<T> indexedList : indexedLists) {
       for (T val : indexedList) {
diff --git a/processing/src/main/java/io/druid/segment/IndexMergerV9.java b/processing/src/main/java/io/druid/segment/IndexMergerV9.java
index eb065a79a40..7ba0c0fd177 100644
--- a/processing/src/main/java/io/druid/segment/IndexMergerV9.java
+++ b/processing/src/main/java/io/druid/segment/IndexMergerV9.java
@@ -74,6 +74,7 @@
 import java.nio.IntBuffer;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -116,7 +117,7 @@ private File makeIndexFiles(
 
     List<Metadata> metadataList = Lists.transform(adapters, IndexableAdapter::getMetadata);
 
-    Metadata segmentMetadata = null;
+    final Metadata segmentMetadata;
     if (metricAggs != null) {
       AggregatorFactory[] combiningMetricAggs = new AggregatorFactory[metricAggs.length];
       for (int i = 0; i < metricAggs.length; i++) {
@@ -776,7 +777,7 @@ public File persist(
 
     log.info("Starting persist for interval[%s], rows[%,d]", dataInterval, index.size());
     return merge(
-        Arrays.<IndexableAdapter>asList(
+        Collections.singletonList(
             new IncrementalIndexAdapter(
                 dataInterval,
                 index,
diff --git a/processing/src/main/java/io/druid/segment/VirtualColumns.java b/processing/src/main/java/io/druid/segment/VirtualColumns.java
index 7a78a0750e5..1acb84d1542 100644
--- a/processing/src/main/java/io/druid/segment/VirtualColumns.java
+++ b/processing/src/main/java/io/druid/segment/VirtualColumns.java
@@ -221,7 +221,7 @@ public ColumnCapabilities getColumnCapabilitiesWithFallback(StorageAdapter adapt
   public VirtualColumn[] getVirtualColumns()
   {
     // VirtualColumn[] instead of List<VirtualColumn> to aid Jackson serialization.
-    return virtualColumns.toArray(new VirtualColumn[]{});
+    return virtualColumns.toArray(new VirtualColumn[0]);
   }
 
   public ColumnSelectorFactory wrap(final ColumnSelectorFactory baseFactory)
diff --git a/processing/src/main/java/io/druid/segment/column/Column.java b/processing/src/main/java/io/druid/segment/column/Column.java
index d1621635e0b..95e223fe2a3 100644
--- a/processing/src/main/java/io/druid/segment/column/Column.java
+++ b/processing/src/main/java/io/druid/segment/column/Column.java
@@ -32,7 +32,7 @@
   static boolean storeDoubleAsFloat()
   {
     String value = System.getProperty(DOUBLE_STORAGE_TYPE_PROPERTY, "double");
-    return !StringUtils.toLowerCase(value).equals("double");
+    return !"double".equals(StringUtils.toLowerCase(value));
   }
 
   ColumnCapabilities getCapabilities();
diff --git a/processing/src/main/java/io/druid/segment/incremental/IncrementalIndex.java b/processing/src/main/java/io/druid/segment/incremental/IncrementalIndex.java
index d2522bf86f3..cdf8957b493 100644
--- a/processing/src/main/java/io/druid/segment/incremental/IncrementalIndex.java
+++ b/processing/src/main/java/io/druid/segment/incremental/IncrementalIndex.java
@@ -1073,13 +1073,13 @@ public MetricDesc(int index, AggregatorFactory factory)
 
       String typeInfo = factory.getTypeName();
       this.capabilities = new ColumnCapabilitiesImpl();
-      if (typeInfo.equalsIgnoreCase("float")) {
+      if ("float".equalsIgnoreCase(typeInfo)) {
         capabilities.setType(ValueType.FLOAT);
         this.type = typeInfo;
-      } else if (typeInfo.equalsIgnoreCase("long")) {
+      } else if ("long".equalsIgnoreCase(typeInfo)) {
         capabilities.setType(ValueType.LONG);
         this.type = typeInfo;
-      } else if (typeInfo.equalsIgnoreCase("double")) {
+      } else if ("double".equalsIgnoreCase(typeInfo)) {
         capabilities.setType(ValueType.DOUBLE);
         this.type = typeInfo;
       } else {
diff --git a/processing/src/main/java/io/druid/segment/writeout/SegmentWriteOutMediumFactory.java b/processing/src/main/java/io/druid/segment/writeout/SegmentWriteOutMediumFactory.java
index 18a18f155c8..d42daad9d0e 100644
--- a/processing/src/main/java/io/druid/segment/writeout/SegmentWriteOutMediumFactory.java
+++ b/processing/src/main/java/io/druid/segment/writeout/SegmentWriteOutMediumFactory.java
@@ -36,7 +36,7 @@
 {
   static Set<SegmentWriteOutMediumFactory> builtInFactories()
   {
-    return ImmutableSet.<SegmentWriteOutMediumFactory>of(
+    return ImmutableSet.of(
         TmpFileSegmentWriteOutMediumFactory.instance(),
         OffHeapMemorySegmentWriteOutMediumFactory.instance()
     );
diff --git a/processing/src/test/java/io/druid/collections/CombiningIterableTest.java b/processing/src/test/java/io/druid/collections/CombiningIterableTest.java
index 4da9175ccf7..886cd1f4ac0 100644
--- a/processing/src/test/java/io/druid/collections/CombiningIterableTest.java
+++ b/processing/src/test/java/io/druid/collections/CombiningIterableTest.java
@@ -26,6 +26,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
@@ -42,7 +43,7 @@ public void testMerge()
         new Result<Object>(DateTimes.of("2011-01-01"), 2L)
     );
 
-    Iterable<Result<Object>> expectedResults = Arrays.<Result<Object>>asList(
+    Iterable<Result<Object>> expectedResults = Collections.singletonList(
         new Result<Object>(DateTimes.of("2011-01-01"), 3L)
     );
 
diff --git a/processing/src/test/java/io/druid/collections/bitmap/WrappedRoaringBitmapTest.java b/processing/src/test/java/io/druid/collections/bitmap/WrappedRoaringBitmapTest.java
index f396af3bc04..ed4722b3607 100644
--- a/processing/src/test/java/io/druid/collections/bitmap/WrappedRoaringBitmapTest.java
+++ b/processing/src/test/java/io/druid/collections/bitmap/WrappedRoaringBitmapTest.java
@@ -42,12 +42,12 @@ public WrappedRoaringBitmapTest(RoaringBitmapFactory factory)
   public static List<RoaringBitmapFactory[]> factoryClasses()
   {
     return Arrays.asList(
-        (RoaringBitmapFactory[]) Arrays.asList(
+        new RoaringBitmapFactory[] {
             new RoaringBitmapFactory(false)
-        ).toArray(),
-        (RoaringBitmapFactory[]) Arrays.asList(
-            new RoaringBitmapFactory(true)
-        ).toArray()
+        },
+        new RoaringBitmapFactory[] {
+            new RoaringBitmapFactory(false)
+        }
     );
   }
 
diff --git a/processing/src/test/java/io/druid/granularity/QueryGranularityTest.java b/processing/src/test/java/io/druid/granularity/QueryGranularityTest.java
index b06553dbae1..649aa4f75c8 100644
--- a/processing/src/test/java/io/druid/granularity/QueryGranularityTest.java
+++ b/processing/src/test/java/io/druid/granularity/QueryGranularityTest.java
@@ -754,7 +754,7 @@ public void testStandardGranularitiesSerde() throws Exception
   public void testMerge()
   {
     Assert.assertNull(Granularity.mergeGranularities(null));
-    Assert.assertNull(Granularity.mergeGranularities(ImmutableList.<Granularity>of()));
+    Assert.assertNull(Granularity.mergeGranularities(ImmutableList.of()));
     Assert.assertNull(Granularity.mergeGranularities(Lists.newArrayList(null, Granularities.DAY)));
     Assert.assertNull(Granularity.mergeGranularities(Lists.newArrayList(Granularities.DAY, null)));
     Assert.assertNull(
diff --git a/processing/src/test/java/io/druid/guice/MetadataStorageTablesConfigTest.java b/processing/src/test/java/io/druid/guice/MetadataStorageTablesConfigTest.java
index 71c91f02a66..fad4c87dbf9 100644
--- a/processing/src/test/java/io/druid/guice/MetadataStorageTablesConfigTest.java
+++ b/processing/src/test/java/io/druid/guice/MetadataStorageTablesConfigTest.java
@@ -30,7 +30,7 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.Properties;
 
 public class MetadataStorageTablesConfigTest
@@ -44,7 +44,7 @@ public void testSerdeMetadataStorageTablesConfig()
           @Override
           public void configure(Binder binder)
           {
-            binder.install(new PropertiesModule(Arrays.asList("test.runtime.properties")));
+            binder.install(new PropertiesModule(Collections.singletonList("test.runtime.properties")));
             binder.install(new ConfigModule());
             binder.install(new DruidGuiceExtensions());
             JsonConfigProvider.bind(binder, "druid.metadata.storage.tables", MetadataStorageTablesConfig.class);
diff --git a/processing/src/test/java/io/druid/guice/SegmentMetadataQueryConfigTest.java b/processing/src/test/java/io/druid/guice/SegmentMetadataQueryConfigTest.java
index c6f45bd4ad3..8557f7e3631 100644
--- a/processing/src/test/java/io/druid/guice/SegmentMetadataQueryConfigTest.java
+++ b/processing/src/test/java/io/druid/guice/SegmentMetadataQueryConfigTest.java
@@ -31,7 +31,7 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.EnumSet;
 import java.util.Iterator;
 import java.util.Properties;
@@ -47,7 +47,7 @@ public void testSerdeSegmentMetadataQueryConfig()
           @Override
           public void configure(Binder binder)
           {
-            binder.install(new PropertiesModule(Arrays.asList("test.runtime.properties")));
+            binder.install(new PropertiesModule(Collections.singletonList("test.runtime.properties")));
             binder.install(new ConfigModule());
             binder.install(new DruidGuiceExtensions());
             JsonConfigProvider.bind(binder, "druid.query.segmentMetadata", SegmentMetadataQueryConfig.class);
diff --git a/processing/src/test/java/io/druid/query/AsyncQueryRunnerTest.java b/processing/src/test/java/io/druid/query/AsyncQueryRunnerTest.java
index 489010bcde8..737c7d19eda 100644
--- a/processing/src/test/java/io/druid/query/AsyncQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/AsyncQueryRunnerTest.java
@@ -24,7 +24,6 @@
 import com.google.common.util.concurrent.ListenableFuture;
 import io.druid.java.util.common.guava.Sequence;
 import io.druid.java.util.common.guava.Sequences;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import org.easymock.EasyMock;
 import org.junit.Assert;
@@ -51,7 +50,7 @@ public AsyncQueryRunnerTest()
     query = Druids.newTimeseriesQueryBuilder()
               .dataSource("test")
               .intervals("2014/2015")
-              .aggregators(Lists.<AggregatorFactory>newArrayList(new CountAggregatorFactory("count")))
+              .aggregators(Lists.newArrayList(new CountAggregatorFactory("count")))
               .build();
   }
   
diff --git a/processing/src/test/java/io/druid/query/ChainedExecutionQueryRunnerTest.java b/processing/src/test/java/io/druid/query/ChainedExecutionQueryRunnerTest.java
index fcaab8dbe7a..9a1b79a97d3 100644
--- a/processing/src/test/java/io/druid/query/ChainedExecutionQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/ChainedExecutionQueryRunnerTest.java
@@ -85,8 +85,8 @@ public int getNumThreads()
     Capture<ListenableFuture> capturedFuture = EasyMock.newCapture();
     QueryWatcher watcher = EasyMock.createStrictMock(QueryWatcher.class);
     watcher.registerQuery(
-        EasyMock.<Query>anyObject(),
-        EasyMock.and(EasyMock.<ListenableFuture>anyObject(), EasyMock.capture(capturedFuture))
+        EasyMock.anyObject(),
+        EasyMock.and(EasyMock.anyObject(), EasyMock.capture(capturedFuture))
     );
     EasyMock.expectLastCall()
             .andAnswer(
@@ -114,11 +114,11 @@ public Void answer()
     ChainedExecutionQueryRunner chainedRunner = new ChainedExecutionQueryRunner<>(
         exec,
         watcher,
-        Lists.<QueryRunner<Integer>>newArrayList(
+        Lists.newArrayList(
          runners
         )
     );
-    Map<String, Object> context = ImmutableMap.<String, Object>of();
+    Map<String, Object> context = ImmutableMap.of();
     TimeseriesQuery query = Druids.newTimeseriesQueryBuilder()
                                   .dataSource("test")
                                   .intervals("2014/2015")
@@ -209,8 +209,8 @@ public int getNumThreads()
     Capture<ListenableFuture> capturedFuture = new Capture<>();
     QueryWatcher watcher = EasyMock.createStrictMock(QueryWatcher.class);
     watcher.registerQuery(
-        EasyMock.<Query>anyObject(),
-        EasyMock.and(EasyMock.<ListenableFuture>anyObject(), EasyMock.capture(capturedFuture))
+        EasyMock.anyObject(),
+        EasyMock.and(EasyMock.anyObject(), EasyMock.capture(capturedFuture))
     );
     EasyMock.expectLastCall()
             .andAnswer(
@@ -239,7 +239,7 @@ public Void answer()
     ChainedExecutionQueryRunner chainedRunner = new ChainedExecutionQueryRunner<>(
         exec,
         watcher,
-        Lists.<QueryRunner<Integer>>newArrayList(
+        Lists.newArrayList(
             runners
         )
     );
diff --git a/processing/src/test/java/io/druid/query/DataSourceTest.java b/processing/src/test/java/io/druid/query/DataSourceTest.java
index b69de4e56bb..29b2dc9a1fa 100644
--- a/processing/src/test/java/io/druid/query/DataSourceTest.java
+++ b/processing/src/test/java/io/druid/query/DataSourceTest.java
@@ -21,10 +21,8 @@
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.Lists;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.GroupByQuery;
 import io.druid.segment.TestHelper;
 import org.junit.Assert;
@@ -67,9 +65,9 @@ public void testQueryDataSource() throws IOException
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
                 new LongSumAggregatorFactory("idx", "index")
             )
diff --git a/processing/src/test/java/io/druid/query/DoubleStorageTest.java b/processing/src/test/java/io/druid/query/DoubleStorageTest.java
index 588d8d11444..66f94bc0b88 100644
--- a/processing/src/test/java/io/druid/query/DoubleStorageTest.java
+++ b/processing/src/test/java/io/druid/query/DoubleStorageTest.java
@@ -27,7 +27,6 @@
 import io.druid.data.input.impl.InputRowParser;
 import io.druid.data.input.impl.JSONParseSpec;
 import io.druid.data.input.impl.MapInputRowParser;
-import io.druid.data.input.impl.SpatialDimensionSchema;
 import io.druid.data.input.impl.TimestampSpec;
 import io.druid.java.util.common.DateTimes;
 import io.druid.java.util.common.Intervals;
@@ -71,6 +70,7 @@
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -101,7 +101,7 @@
   {
     return ScanQuery.newScanQueryBuilder()
                     .dataSource(new TableDataSource(QueryRunnerTestHelper.dataSource))
-                    .columns(Arrays.<String>asList())
+                    .columns(Collections.emptyList())
                     .intervals(QueryRunnerTestHelper.fullOnInterval)
                     .limit(Integer.MAX_VALUE)
                     .legacy(false);
@@ -125,7 +125,7 @@
           new DimensionsSpec(
               DimensionsSpec.getDefaultSchemas(ImmutableList.of(DIM_NAME)),
               ImmutableList.of(DIM_FLOAT_NAME),
-              ImmutableList.<SpatialDimensionSchema>of()
+              ImmutableList.of()
           ),
           null,
           null
@@ -273,7 +273,7 @@ public void testMetaDataAnalysis()
                                                       .build();
     List<SegmentAnalysis> results = runner.run(QueryPlus.wrap(segmentMetadataQuery), Maps.newHashMap()).toList();
 
-    Assert.assertEquals(Arrays.asList(expectedSegmentAnalysis), results);
+    Assert.assertEquals(Collections.singletonList(expectedSegmentAnalysis), results);
 
   }
 
diff --git a/processing/src/test/java/io/druid/query/IntervalChunkingQueryRunnerTest.java b/processing/src/test/java/io/druid/query/IntervalChunkingQueryRunnerTest.java
index 8a38b4fd152..258de5ebc44 100644
--- a/processing/src/test/java/io/druid/query/IntervalChunkingQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/IntervalChunkingQueryRunnerTest.java
@@ -24,7 +24,6 @@
 import io.druid.java.util.emitter.service.ServiceEmitter;
 import io.druid.java.util.common.guava.Sequences;
 import io.druid.query.Druids.TimeseriesQueryBuilder;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import org.easymock.EasyMock;
 import org.junit.Before;
@@ -46,7 +45,7 @@ public IntervalChunkingQueryRunnerTest()
   {
     queryBuilder = Druids.newTimeseriesQueryBuilder()
               .dataSource("test")
-              .aggregators(Lists.<AggregatorFactory>newArrayList(new CountAggregatorFactory("count")));
+              .aggregators(Lists.newArrayList(new CountAggregatorFactory("count")));
   }
 
   @Before
@@ -77,7 +76,7 @@ public void testDefaultNoChunking()
   @Test
   public void testChunking()
   {
-    Query query = queryBuilder.intervals("2015-01-01T00:00:00.000/2015-01-11T00:00:00.000").context(ImmutableMap.<String, Object>of("chunkPeriod", "P1D")).build();
+    Query query = queryBuilder.intervals("2015-01-01T00:00:00.000/2015-01-11T00:00:00.000").context(ImmutableMap.of("chunkPeriod", "P1D")).build();
 
     executors.execute(EasyMock.anyObject(Runnable.class));
     EasyMock.expectLastCall().times(10);
@@ -94,7 +93,7 @@ public void testChunking()
   @Test
   public void testChunkingOnMonths()
   {
-    Query query = queryBuilder.intervals("2015-01-01T00:00:00.000/2015-02-11T00:00:00.000").context(ImmutableMap.<String, Object>of("chunkPeriod", "P1M")).build();
+    Query query = queryBuilder.intervals("2015-01-01T00:00:00.000/2015-02-11T00:00:00.000").context(ImmutableMap.of("chunkPeriod", "P1M")).build();
 
     executors.execute(EasyMock.anyObject(Runnable.class));
     EasyMock.expectLastCall().times(2);
diff --git a/processing/src/test/java/io/druid/query/MultiValuedDimensionTest.java b/processing/src/test/java/io/druid/query/MultiValuedDimensionTest.java
index 546799bd484..a8d0a2c7616 100644
--- a/processing/src/test/java/io/druid/query/MultiValuedDimensionTest.java
+++ b/processing/src/test/java/io/druid/query/MultiValuedDimensionTest.java
@@ -19,7 +19,6 @@
 
 package io.druid.query;
 
-import com.fasterxml.jackson.databind.Module;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
@@ -37,7 +36,6 @@
 import io.druid.query.aggregation.AggregationTestHelper;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.dimension.ListFilteredDimensionSpec;
 import io.druid.query.dimension.RegexFilteredDimensionSpec;
 import io.druid.query.filter.SelectorDimFilter;
@@ -56,7 +54,6 @@
 import io.druid.segment.IndexSpec;
 import io.druid.segment.QueryableIndex;
 import io.druid.segment.QueryableIndexSegment;
-import io.druid.segment.Segment;
 import io.druid.segment.TestHelper;
 import io.druid.segment.incremental.IncrementalIndex;
 import io.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
@@ -103,7 +100,7 @@
   public MultiValuedDimensionTest(final GroupByQueryConfig config, SegmentWriteOutMediumFactory segmentWriteOutMediumFactory)
   {
     helper = AggregationTestHelper.createGroupByQueryAggregationTestHelper(
-        ImmutableList.<Module>of(),
+        ImmutableList.of(),
         config,
         null
     );
@@ -156,12 +153,12 @@ public void testGroupByNoFilter()
         .setDataSource("xx")
         .setQuerySegmentSpec(new LegacySegmentSpec("1970/3000"))
         .setGranularity(Granularities.ALL)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("tags", "tags")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("tags", "tags")))
         .setAggregatorSpecs(Collections.singletonList(new CountAggregatorFactory("count")))
         .build();
 
     Sequence<Row> result = helper.runQueryOnSegmentsObjs(
-        ImmutableList.<Segment>of(
+        ImmutableList.of(
             new QueryableIndexSegment("sid1", queryableIndex),
             new IncrementalIndexSegment(incrementalIndex, "sid2")
         ),
@@ -190,13 +187,13 @@ public void testGroupByWithDimFilter()
         .setDataSource("xx")
         .setQuerySegmentSpec(new LegacySegmentSpec("1970/3000"))
         .setGranularity(Granularities.ALL)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("tags", "tags")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("tags", "tags")))
         .setAggregatorSpecs(Collections.singletonList(new CountAggregatorFactory("count")))
         .setDimFilter(new SelectorDimFilter("tags", "t3", null))
         .build();
 
     Sequence<Row> result = helper.runQueryOnSegmentsObjs(
-        ImmutableList.<Segment>of(
+        ImmutableList.of(
             new QueryableIndexSegment("sid1", queryableIndex),
             new IncrementalIndexSegment(incrementalIndex, "sid2")
         ),
@@ -223,7 +220,7 @@ public void testGroupByWithDimFilterAndWithFilteredDimSpec()
         .setQuerySegmentSpec(new LegacySegmentSpec("1970/3000"))
         .setGranularity(Granularities.ALL)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new RegexFilteredDimensionSpec(
                     new DefaultDimensionSpec("tags", "tags"),
                     "t3"
@@ -235,14 +232,14 @@ public void testGroupByWithDimFilterAndWithFilteredDimSpec()
         .build();
 
     Sequence<Row> result = helper.runQueryOnSegmentsObjs(
-        ImmutableList.<Segment>of(
+        ImmutableList.of(
             new QueryableIndexSegment("sid1", queryableIndex),
             new IncrementalIndexSegment(incrementalIndex, "sid2")
         ),
         query
     );
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow("1970-01-01T00:00:00.000Z", "tags", "t3", "count", 4L)
     );
 
@@ -281,12 +278,12 @@ public void testTopNWithDimFilterAndWithFilteredDimSpec()
     );
     Map<String, Object> context = Maps.newHashMap();
     Sequence<Result<TopNResultValue>> result = runner.run(QueryPlus.wrap(query), context);
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                Collections.<Map<String, Object>>singletonList(
+                    ImmutableMap.of(
                         "tags", "t3",
                         "count", 2L
                     )
diff --git a/processing/src/test/java/io/druid/query/QueriesTest.java b/processing/src/test/java/io/druid/query/QueriesTest.java
index 38d37b75b29..b6cdde26079 100644
--- a/processing/src/test/java/io/druid/query/QueriesTest.java
+++ b/processing/src/test/java/io/druid/query/QueriesTest.java
@@ -31,6 +31,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -40,17 +41,17 @@
   @Test
   public void testVerifyAggregations()
   {
-    List<AggregatorFactory> aggFactories = Arrays.<AggregatorFactory>asList(
+    List<AggregatorFactory> aggFactories = Arrays.asList(
         new CountAggregatorFactory("count"),
         new DoubleSumAggregatorFactory("idx", "index"),
         new DoubleSumAggregatorFactory("rev", "revenue")
     );
 
-    List<PostAggregator> postAggs = Arrays.<PostAggregator>asList(
+    List<PostAggregator> postAggs = Collections.singletonList(
         new ArithmeticPostAggregator(
             "addStuff",
             "+",
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 new FieldAccessPostAggregator("idx", "idx"),
                 new FieldAccessPostAggregator("count", "count")
             )
@@ -72,17 +73,17 @@ public void testVerifyAggregations()
   @Test
   public void testVerifyAggregationsMissingVal()
   {
-    List<AggregatorFactory> aggFactories = Arrays.<AggregatorFactory>asList(
+    List<AggregatorFactory> aggFactories = Arrays.asList(
         new CountAggregatorFactory("count"),
         new DoubleSumAggregatorFactory("idx", "index"),
         new DoubleSumAggregatorFactory("rev", "revenue")
     );
 
-    List<PostAggregator> postAggs = Arrays.<PostAggregator>asList(
+    List<PostAggregator> postAggs = Collections.singletonList(
         new ArithmeticPostAggregator(
             "addStuff",
             "+",
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 new FieldAccessPostAggregator("idx", "idx2"),
                 new FieldAccessPostAggregator("count", "count")
             )
@@ -104,17 +105,17 @@ public void testVerifyAggregationsMissingVal()
   @Test
   public void testVerifyAggregationsMultiLevel()
   {
-    List<AggregatorFactory> aggFactories = Arrays.<AggregatorFactory>asList(
+    List<AggregatorFactory> aggFactories = Arrays.asList(
         new CountAggregatorFactory("count"),
         new DoubleSumAggregatorFactory("idx", "index"),
         new DoubleSumAggregatorFactory("rev", "revenue")
     );
 
-    List<PostAggregator> postAggs = Arrays.<PostAggregator>asList(
+    List<PostAggregator> postAggs = Arrays.asList(
         new ArithmeticPostAggregator(
             "divideStuff",
             "/",
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 new ArithmeticPostAggregator(
                     "addStuff",
                     "+",
@@ -136,7 +137,7 @@ public void testVerifyAggregationsMultiLevel()
         new ArithmeticPostAggregator(
             "addStuff",
             "+",
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 new FieldAccessPostAggregator("divideStuff", "divideStuff"),
                 new FieldAccessPostAggregator("count", "count")
             )
@@ -158,17 +159,17 @@ public void testVerifyAggregationsMultiLevel()
   @Test
   public void testVerifyAggregationsMultiLevelMissingVal()
   {
-    List<AggregatorFactory> aggFactories = Arrays.<AggregatorFactory>asList(
+    List<AggregatorFactory> aggFactories = Arrays.asList(
         new CountAggregatorFactory("count"),
         new DoubleSumAggregatorFactory("idx", "index"),
         new DoubleSumAggregatorFactory("rev", "revenue")
     );
 
-    List<PostAggregator> postAggs = Arrays.<PostAggregator>asList(
+    List<PostAggregator> postAggs = Arrays.asList(
         new ArithmeticPostAggregator(
             "divideStuff",
             "/",
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 new ArithmeticPostAggregator(
                     "addStuff",
                     "+",
@@ -190,7 +191,7 @@ public void testVerifyAggregationsMultiLevelMissingVal()
         new ArithmeticPostAggregator(
             "addStuff",
             "+",
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 new FieldAccessPostAggregator("divideStuff", "divideStuff"),
                 new FieldAccessPostAggregator("count", "count")
             )
diff --git a/processing/src/test/java/io/druid/query/QueryRunnerTestHelper.java b/processing/src/test/java/io/druid/query/QueryRunnerTestHelper.java
index add0d071b2c..4ffb8daa856 100644
--- a/processing/src/test/java/io/druid/query/QueryRunnerTestHelper.java
+++ b/processing/src/test/java/io/druid/query/QueryRunnerTestHelper.java
@@ -48,7 +48,6 @@
 import io.druid.query.aggregation.post.ConstantPostAggregator;
 import io.druid.query.aggregation.post.FieldAccessPostAggregator;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.spec.MultipleIntervalSegmentSpec;
 import io.druid.query.spec.QuerySegmentSpec;
 import io.druid.query.spec.SpecificSegmentSpec;
@@ -135,7 +134,7 @@ public TableDataSource apply(@Nullable String input)
   );
   public static final JavaScriptAggregatorFactory jsCountIfTimeGreaterThan = new JavaScriptAggregatorFactory(
       "ntimestamps",
-      Arrays.asList("__time"),
+      Collections.singletonList("__time"),
       "function aggregate(current, t) { if (t > " +
       DateTimes.of("2011-04-01T12:00:00Z").getMillis() +
       ") { return current + 1; } else { return current; } }",
@@ -163,7 +162,7 @@ public TableDataSource apply(@Nullable String input)
   );
   public static final CardinalityAggregatorFactory qualityCardinality = new CardinalityAggregatorFactory(
       "cardinality",
-      Arrays.<DimensionSpec>asList(new DefaultDimensionSpec("quality", "quality")),
+      Collections.singletonList(new DefaultDimensionSpec("quality", "quality")),
       false
   );
   public static final ConstantPostAggregator constant = new ConstantPostAggregator("const", 1L);
@@ -240,7 +239,7 @@ public TableDataSource apply(@Nullable String input)
   static {
     List<String> list = new ArrayList(Arrays.asList(expectedFullOnIndexValues));
     Collections.reverse(list);
-    expectedFullOnIndexValuesDesc = list.toArray(new String[list.size()]);
+    expectedFullOnIndexValuesDesc = list.toArray(new String[0]);
   }
 
   public static final DateTime earliest = DateTimes.of("2011-01-12");
@@ -249,16 +248,16 @@ public TableDataSource apply(@Nullable String input)
   public static final DateTime skippedDay = DateTimes.of("2011-01-21T00:00:00.000Z");
 
   public static final QuerySegmentSpec firstToThird = new MultipleIntervalSegmentSpec(
-      Arrays.asList(Intervals.of("2011-04-01T00:00:00.000Z/2011-04-03T00:00:00.000Z"))
+      Collections.singletonList(Intervals.of("2011-04-01T00:00:00.000Z/2011-04-03T00:00:00.000Z"))
   );
   public static final QuerySegmentSpec secondOnly = new MultipleIntervalSegmentSpec(
-      Arrays.asList(Intervals.of("2011-04-02T00:00:00.000Z/P1D"))
+      Collections.singletonList(Intervals.of("2011-04-02T00:00:00.000Z/P1D"))
   );
   public static final QuerySegmentSpec fullOnInterval = new MultipleIntervalSegmentSpec(
-      Arrays.asList(Intervals.of("1970-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z"))
+      Collections.singletonList(Intervals.of("1970-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z"))
   );
   public static final QuerySegmentSpec emptyInterval = new MultipleIntervalSegmentSpec(
-      Arrays.asList(Intervals.of("2020-04-02T00:00:00.000Z/P1D"))
+      Collections.singletonList(Intervals.of("2020-04-02T00:00:00.000Z/P1D"))
   );
 
   public static Iterable<Object[]> transformToConstructionFeeder(Iterable<?> in)
diff --git a/processing/src/test/java/io/druid/query/RetryQueryRunnerTest.java b/processing/src/test/java/io/druid/query/RetryQueryRunnerTest.java
index 2b9ee1f8e7a..bb519fd490d 100644
--- a/processing/src/test/java/io/druid/query/RetryQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/RetryQueryRunnerTest.java
@@ -36,6 +36,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -152,11 +153,11 @@ public void testRetry()
               return Sequences.empty();
             } else {
               return Sequences.simple(
-                  Arrays.asList(
+                  Collections.singletonList(
                       new Result<>(
                           DateTimes.nowUtc(),
                           new TimeseriesResultValue(
-                              Maps.<String, Object>newHashMap()
+                              Maps.newHashMap()
                           )
                       )
                   )
@@ -200,11 +201,11 @@ public void testRetryMultiple()
               return Sequences.empty();
             } else {
               return Sequences.simple(
-                  Arrays.asList(
+                  Collections.singletonList(
                       new Result<>(
                           DateTimes.nowUtc(),
                           new TimeseriesResultValue(
-                              Maps.<String, Object>newHashMap()
+                              Maps.newHashMap()
                           )
                       )
                   )
@@ -283,11 +284,11 @@ public void testNoDuplicateRetry()
               );
               context.put("count", 1);
               return Sequences.simple(
-                  Arrays.asList(
+                  Collections.singletonList(
                       new Result<>(
                           DateTimes.nowUtc(),
                           new TimeseriesResultValue(
-                              Maps.<String, Object>newHashMap()
+                              Maps.newHashMap()
                           )
                       )
                   )
@@ -301,11 +302,11 @@ public void testNoDuplicateRetry()
               );
               context.put("count", 2);
               return Sequences.simple(
-                  Arrays.asList(
+                  Collections.singletonList(
                       new Result<>(
                           DateTimes.nowUtc(),
                           new TimeseriesResultValue(
-                              Maps.<String, Object>newHashMap()
+                              Maps.newHashMap()
                           )
                       )
                   )
@@ -316,11 +317,11 @@ public void testNoDuplicateRetry()
               // assume no more missing at second retry
               context.put("count", 3);
               return Sequences.simple(
-                  Arrays.asList(
+                  Collections.singletonList(
                       new Result<>(
                           DateTimes.nowUtc(),
                           new TimeseriesResultValue(
-                              Maps.<String, Object>newHashMap()
+                              Maps.newHashMap()
                           )
                       )
                   )
diff --git a/processing/src/test/java/io/druid/query/SchemaEvolutionTest.java b/processing/src/test/java/io/druid/query/SchemaEvolutionTest.java
index 141d7227cf2..6fcfc2ca409 100644
--- a/processing/src/test/java/io/druid/query/SchemaEvolutionTest.java
+++ b/processing/src/test/java/io/druid/query/SchemaEvolutionTest.java
@@ -34,7 +34,6 @@
 import io.druid.java.util.common.ISE;
 import io.druid.java.util.common.guava.FunctionalIterable;
 import io.druid.java.util.common.guava.Sequence;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.aggregation.DoubleSumAggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
@@ -87,12 +86,12 @@
         )
     );
     return ImmutableList.of(
-        parser.parseBatch(ImmutableMap.<String, Object>of("t", "2000-01-01", "c1", "9", "c2", ImmutableList.of("a"))).get(0),
-        parser.parseBatch(ImmutableMap.<String, Object>of("t", "2000-01-02", "c1", "10.1", "c2", ImmutableList.of())).get(0),
-        parser.parseBatch(ImmutableMap.<String, Object>of("t", "2000-01-03", "c1", "2", "c2", ImmutableList.of(""))).get(0),
-        parser.parseBatch(ImmutableMap.<String, Object>of("t", "2001-01-01", "c1", "1", "c2", ImmutableList.of("a", "c"))).get(0),
-        parser.parseBatch(ImmutableMap.<String, Object>of("t", "2001-01-02", "c1", "4", "c2", ImmutableList.of("abc"))).get(0),
-        parser.parseBatch(ImmutableMap.<String, Object>of("t", "2001-01-03", "c1", "5")).get(0)
+        parser.parseBatch(ImmutableMap.of("t", "2000-01-01", "c1", "9", "c2", ImmutableList.of("a"))).get(0),
+        parser.parseBatch(ImmutableMap.of("t", "2000-01-02", "c1", "10.1", "c2", ImmutableList.of())).get(0),
+        parser.parseBatch(ImmutableMap.of("t", "2000-01-03", "c1", "2", "c2", ImmutableList.of(""))).get(0),
+        parser.parseBatch(ImmutableMap.of("t", "2001-01-01", "c1", "1", "c2", ImmutableList.of("a", "c"))).get(0),
+        parser.parseBatch(ImmutableMap.of("t", "2001-01-02", "c1", "4", "c2", ImmutableList.of("abc"))).get(0),
+        parser.parseBatch(ImmutableMap.of("t", "2001-01-03", "c1", "5")).get(0)
     );
   }
 
@@ -121,7 +120,7 @@
             )
         ),
         (QueryToolChest<T, Query<T>>) factory.getToolchest()
-    ).run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap());
+    ).run(QueryPlus.wrap(query), Maps.newHashMap());
     return results.toList();
   }
 
@@ -196,7 +195,7 @@ public void setUp() throws IOException
                                  .withRollup(false)
                                  .build()
                          )
-                         .rows(inputRowsWithDimensions(ImmutableList.<String>of()))
+                         .rows(inputRowsWithDimensions(ImmutableList.of()))
                          .buildMMappedIndex();
 
     if (index4.getAvailableDimensions().size() != 0) {
@@ -224,7 +223,7 @@ public void testHyperUniqueEvolutionTimeseries()
         .dataSource(DATA_SOURCE)
         .intervals("1000/3000")
         .aggregators(
-            ImmutableList.<AggregatorFactory>of(
+            ImmutableList.of(
                 new HyperUniquesAggregatorFactory("uniques", "uniques")
             )
         )
diff --git a/processing/src/test/java/io/druid/query/TimewarpOperatorTest.java b/processing/src/test/java/io/druid/query/TimewarpOperatorTest.java
index 585b7569f34..4b08c7dae8b 100644
--- a/processing/src/test/java/io/druid/query/TimewarpOperatorTest.java
+++ b/processing/src/test/java/io/druid/query/TimewarpOperatorTest.java
@@ -27,7 +27,6 @@
 import io.druid.java.util.common.granularity.PeriodGranularity;
 import io.druid.java.util.common.guava.Sequence;
 import io.druid.java.util.common.guava.Sequences;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.timeboundary.TimeBoundaryResultValue;
 import io.druid.query.timeseries.TimeseriesResultValue;
@@ -38,7 +37,7 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.Map;
 
 
@@ -96,15 +95,15 @@ public void testPostProcess()
                 ImmutableList.of(
                     new Result<>(
                         DateTimes.of("2014-01-09"),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 2))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 2))
                     ),
                     new Result<>(
                         DateTimes.of("2014-01-11"),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 3))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 3))
                     ),
                     new Result<>(
                         queryPlus.getQuery().getIntervals().get(0).getEnd(),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 5))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 5))
                     )
                 )
             );
@@ -117,22 +116,22 @@ public void testPostProcess()
         Druids.newTimeseriesQueryBuilder()
               .dataSource("dummy")
               .intervals("2014-07-31/2014-08-05")
-              .aggregators(Arrays.<AggregatorFactory>asList(new CountAggregatorFactory("count")))
+              .aggregators(Collections.singletonList(new CountAggregatorFactory("count")))
               .build();
 
     Assert.assertEquals(
         Lists.newArrayList(
             new Result<>(
                 DateTimes.of("2014-07-31"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 2))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 2))
             ),
             new Result<>(
                 DateTimes.of("2014-08-02"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 3))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 3))
             ),
             new Result<>(
                 DateTimes.of("2014-08-02"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 5))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 5))
             )
         ),
         queryRunner.run(QueryPlus.wrap(query), CONTEXT).toList()
@@ -205,15 +204,15 @@ public void testPostProcessWithTimezonesAndDstShift()
                 ImmutableList.of(
                     new Result<>(
                         DateTimes.of("2014-01-09T-08"),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 2))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 2))
                     ),
                     new Result<>(
                         DateTimes.of("2014-01-11T-08"),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 3))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 3))
                     ),
                     new Result<>(
                         queryPlus.getQuery().getIntervals().get(0).getEnd(),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 5))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 5))
                     )
                 )
             );
@@ -227,22 +226,22 @@ public void testPostProcessWithTimezonesAndDstShift()
               .dataSource("dummy")
               .intervals("2014-07-31T-07/2014-08-05T-07")
               .granularity(new PeriodGranularity(new Period("P1D"), null, DateTimes.inferTzfromString("America/Los_Angeles")))
-              .aggregators(Arrays.<AggregatorFactory>asList(new CountAggregatorFactory("count")))
+              .aggregators(Collections.singletonList(new CountAggregatorFactory("count")))
               .build();
 
     Assert.assertEquals(
         Lists.newArrayList(
             new Result<>(
                 DateTimes.of("2014-07-31T-07"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 2))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 2))
             ),
             new Result<>(
                 DateTimes.of("2014-08-02T-07"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 3))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 3))
             ),
             new Result<>(
                 DateTimes.of("2014-08-02T-07"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 5))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 5))
             )
         ),
         queryRunner.run(QueryPlus.wrap(query), CONTEXT).toList()
@@ -265,15 +264,15 @@ public void testPostProcessWithTimezonesAndNoDstShift()
                 ImmutableList.of(
                     new Result<>(
                         DateTimes.of("2014-01-09T-07"),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 2))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 2))
                     ),
                     new Result<>(
                         DateTimes.of("2014-01-11T-07"),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 3))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 3))
                     ),
                     new Result<>(
                         queryPlus.getQuery().getIntervals().get(0).getEnd(),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 5))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 5))
                     )
                 )
             );
@@ -287,22 +286,22 @@ public void testPostProcessWithTimezonesAndNoDstShift()
               .dataSource("dummy")
               .intervals("2014-07-31T-07/2014-08-05T-07")
               .granularity(new PeriodGranularity(new Period("P1D"), null, DateTimes.inferTzfromString("America/Phoenix")))
-              .aggregators(Arrays.<AggregatorFactory>asList(new CountAggregatorFactory("count")))
+              .aggregators(Collections.singletonList(new CountAggregatorFactory("count")))
               .build();
 
     Assert.assertEquals(
         Lists.newArrayList(
             new Result<>(
                 DateTimes.of("2014-07-31T-07"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 2))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 2))
             ),
             new Result<>(
                 DateTimes.of("2014-08-02T-07"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 3))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 3))
             ),
             new Result<>(
                 DateTimes.of("2014-08-02T-07"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 5))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 5))
             )
         ),
         queryRunner.run(QueryPlus.wrap(query), CONTEXT).toList()
@@ -326,11 +325,11 @@ public void testEmptyFutureInterval()
                 ImmutableList.of(
                     new Result<>(
                         query.getIntervals().get(0).getStart(),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 2))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 2))
                     ),
                     new Result<>(
                         query.getIntervals().get(0).getEnd(),
-                        new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 3))
+                        new TimeseriesResultValue(ImmutableMap.of("metric", 3))
                     )
                 )
             );
@@ -343,21 +342,21 @@ public void testEmptyFutureInterval()
         Druids.newTimeseriesQueryBuilder()
               .dataSource("dummy")
               .intervals("2014-08-06/2014-08-08")
-              .aggregators(Arrays.<AggregatorFactory>asList(new CountAggregatorFactory("count")))
+              .aggregators(Collections.singletonList(new CountAggregatorFactory("count")))
               .build();
 
     Assert.assertEquals(
         Lists.newArrayList(
             new Result<>(
                 DateTimes.of("2014-08-02"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 2))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 2))
             ),
             new Result<>(
                 DateTimes.of("2014-08-02"),
-                new TimeseriesResultValue(ImmutableMap.<String, Object>of("metric", 3))
+                new TimeseriesResultValue(ImmutableMap.of("metric", 3))
             )
         ),
-        queryRunner.run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap()).toList()
+        queryRunner.run(QueryPlus.wrap(query), Maps.newHashMap()).toList()
     );
   }
 }
diff --git a/processing/src/test/java/io/druid/query/UnionQueryRunnerTest.java b/processing/src/test/java/io/druid/query/UnionQueryRunnerTest.java
index 7749ba0e71a..e51854ac2ea 100644
--- a/processing/src/test/java/io/druid/query/UnionQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/UnionQueryRunnerTest.java
@@ -43,10 +43,10 @@ public Sequence run(QueryPlus queryPlus, Map responseContext)
         // verify that table datasource is passed to baseQueryRunner
         Assert.assertTrue(queryPlus.getQuery().getDataSource() instanceof TableDataSource);
         String dsName = Iterables.getOnlyElement(queryPlus.getQuery().getDataSource().getNames());
-        if (dsName.equals("ds1")) {
+        if ("ds1".equals(dsName)) {
           responseContext.put("ds1", "ds1");
           return Sequences.simple(Arrays.asList(1, 2, 3));
-        } else if (dsName.equals("ds2")) {
+        } else if ("ds2".equals(dsName)) {
           responseContext.put("ds2", "ds2");
           return Sequences.simple(Arrays.asList(4, 5, 6));
         } else {
diff --git a/processing/src/test/java/io/druid/query/aggregation/AggregationTestHelper.java b/processing/src/test/java/io/druid/query/aggregation/AggregationTestHelper.java
index 0ae2e50cf15..84c64693ca5 100644
--- a/processing/src/test/java/io/druid/query/aggregation/AggregationTestHelper.java
+++ b/processing/src/test/java/io/druid/query/aggregation/AggregationTestHelper.java
@@ -568,7 +568,7 @@ public QueryRunner apply(final Segment segment)
       public Sequence<Row> run(QueryPlus<Row> queryPlus, Map<String, Object> map)
       {
         try {
-          Sequence<Row> resultSeq = baseRunner.run(queryPlus, Maps.<String, Object>newHashMap());
+          Sequence<Row> resultSeq = baseRunner.run(queryPlus, Maps.newHashMap());
           final Yielder yielder = resultSeq.toYielder(
               null,
               new YieldingAccumulator()
diff --git a/processing/src/test/java/io/druid/query/aggregation/AggregatorFactoryTest.java b/processing/src/test/java/io/druid/query/aggregation/AggregatorFactoryTest.java
index 26696193912..c1e50e6846e 100644
--- a/processing/src/test/java/io/druid/query/aggregation/AggregatorFactoryTest.java
+++ b/processing/src/test/java/io/druid/query/aggregation/AggregatorFactoryTest.java
@@ -35,7 +35,7 @@
   public void testMergeAggregators()
   {
     Assert.assertNull(AggregatorFactory.mergeAggregators(null));
-    Assert.assertNull(AggregatorFactory.mergeAggregators(ImmutableList.<AggregatorFactory[]>of()));
+    Assert.assertNull(AggregatorFactory.mergeAggregators(ImmutableList.of()));
 
     List<AggregatorFactory[]> aggregatorsToBeMerged = new ArrayList<>();
 
diff --git a/processing/src/test/java/io/druid/query/aggregation/AggregatorUtilTest.java b/processing/src/test/java/io/druid/query/aggregation/AggregatorUtilTest.java
index 1c0d2314e35..d230b8847b3 100644
--- a/processing/src/test/java/io/druid/query/aggregation/AggregatorUtilTest.java
+++ b/processing/src/test/java/io/druid/query/aggregation/AggregatorUtilTest.java
@@ -42,12 +42,12 @@
   public void testPruneDependentPostAgg()
   {
     PostAggregator agg1 = new ArithmeticPostAggregator(
-        "abc", "+", Lists.<PostAggregator>newArrayList(
+        "abc", "+", Lists.newArrayList(
         new ConstantPostAggregator("1", 1L), new ConstantPostAggregator("2", 2L)
     )
     );
     PostAggregator dependency1 = new ArithmeticPostAggregator(
-        "dep1", "+", Lists.<PostAggregator>newArrayList(
+        "dep1", "+", Lists.newArrayList(
         new ConstantPostAggregator("1", 1L), new ConstantPostAggregator("4", 4L)
     )
     );
@@ -56,7 +56,7 @@ public void testPruneDependentPostAgg()
     PostAggregator aggregator = new ArithmeticPostAggregator(
         "finalAgg",
         "+",
-        Lists.<PostAggregator>newArrayList(
+        Lists.newArrayList(
             new FieldAccessPostAggregator("dep1", "dep1"),
             new FieldAccessPostAggregator("dep2", "dep2")
         )
@@ -77,12 +77,12 @@ public void testPruneDependentPostAgg()
   public void testOutOfOrderPruneDependentPostAgg()
   {
     PostAggregator agg1 = new ArithmeticPostAggregator(
-        "abc", "+", Lists.<PostAggregator>newArrayList(
+        "abc", "+", Lists.newArrayList(
         new ConstantPostAggregator("1", 1L), new ConstantPostAggregator("2", 2L)
     )
     );
     PostAggregator dependency1 = new ArithmeticPostAggregator(
-        "dep1", "+", Lists.<PostAggregator>newArrayList(
+        "dep1", "+", Lists.newArrayList(
         new ConstantPostAggregator("1", 1L), new ConstantPostAggregator("4", 4L)
     )
     );
@@ -91,7 +91,7 @@ public void testOutOfOrderPruneDependentPostAgg()
     PostAggregator aggregator = new ArithmeticPostAggregator(
         "finalAgg",
         "+",
-        Lists.<PostAggregator>newArrayList(
+        Lists.newArrayList(
             new FieldAccessPostAggregator("dep1", "dep1"),
             new FieldAccessPostAggregator("dep2", "dep2")
         )
@@ -112,7 +112,7 @@ public void testOutOfOrderPruneDependentPostAgg()
   public void testCondenseAggregators()
   {
 
-    ArrayList<AggregatorFactory> aggregatorFactories = Lists.<AggregatorFactory>newArrayList(
+    ArrayList<AggregatorFactory> aggregatorFactories = Lists.newArrayList(
         Iterables.concat(
             QueryRunnerTestHelper.commonDoubleAggregators,
             Lists.newArrayList(
@@ -122,7 +122,7 @@ public void testCondenseAggregators()
         )
     );
 
-    List<PostAggregator> postAggregatorList = Arrays.<PostAggregator>asList(
+    List<PostAggregator> postAggregatorList = Arrays.asList(
         QueryRunnerTestHelper.addRowsIndexConstant,
         QueryRunnerTestHelper.dependentPostAgg
     );
@@ -151,7 +151,7 @@ public void testNullPostAggregatorNames()
     AggregatorFactory agg1 = new DoubleSumAggregatorFactory("agg1", "value");
     AggregatorFactory agg2 = new DoubleSumAggregatorFactory("agg2", "count");
     PostAggregator postAgg1 = new ArithmeticPostAggregator(
-        null, "*", Lists.<PostAggregator>newArrayList(
+        null, "*", Lists.newArrayList(
         new FieldAccessPostAggregator(
             null,
             "agg1"
@@ -162,7 +162,7 @@ public void testNullPostAggregatorNames()
     PostAggregator postAgg2 = new ArithmeticPostAggregator(
         "postAgg",
         "/",
-        Lists.<PostAggregator>newArrayList(
+        Lists.newArrayList(
             new FieldAccessPostAggregator(
                 null,
                 "agg1"
@@ -186,7 +186,7 @@ public void testCasing()
     AggregatorFactory agg1 = new DoubleSumAggregatorFactory("Agg1", "value");
     AggregatorFactory agg2 = new DoubleSumAggregatorFactory("Agg2", "count");
     PostAggregator postAgg1 = new ArithmeticPostAggregator(
-        null, "*", Lists.<PostAggregator>newArrayList(
+        null, "*", Lists.newArrayList(
         new FieldAccessPostAggregator(
             null,
             "Agg1"
@@ -197,7 +197,7 @@ public void testCasing()
     PostAggregator postAgg2 = new ArithmeticPostAggregator(
         "postAgg",
         "/",
-        Lists.<PostAggregator>newArrayList(
+        Lists.newArrayList(
             new FieldAccessPostAggregator(
                 null,
                 "Agg1"
diff --git a/processing/src/test/java/io/druid/query/aggregation/FilteredAggregatorTest.java b/processing/src/test/java/io/druid/query/aggregation/FilteredAggregatorTest.java
index a6d412a9db6..cabc760315d 100644
--- a/processing/src/test/java/io/druid/query/aggregation/FilteredAggregatorTest.java
+++ b/processing/src/test/java/io/druid/query/aggregation/FilteredAggregatorTest.java
@@ -27,7 +27,6 @@
 import io.druid.query.extraction.JavaScriptExtractionFn;
 import io.druid.query.filter.AndDimFilter;
 import io.druid.query.filter.BoundDimFilter;
-import io.druid.query.filter.DimFilter;
 import io.druid.query.filter.InDimFilter;
 import io.druid.query.filter.JavaScriptDimFilter;
 import io.druid.query.filter.NotDimFilter;
@@ -93,7 +92,7 @@ public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec)
       {
         final String dimensionName = dimensionSpec.getDimension();
 
-        if (dimensionName.equals("dim")) {
+        if ("dim".equals(dimensionName)) {
           return dimensionSpec.decorate(
               new DimensionSelector()
               {
@@ -195,7 +194,7 @@ public void inspectRuntimeShape(RuntimeShapeInspector inspector)
       @Override
       public ColumnValueSelector<?> makeColumnValueSelector(String columnName)
       {
-        if (columnName.equals("value")) {
+        if ("value".equals(columnName)) {
           return selector;
         } else {
           throw new UnsupportedOperationException();
@@ -206,7 +205,7 @@ public void inspectRuntimeShape(RuntimeShapeInspector inspector)
       public ColumnCapabilities getColumnCapabilities(String columnName)
       {
         ColumnCapabilitiesImpl caps;
-        if (columnName.equals("value")) {
+        if ("value".equals(columnName)) {
           caps = new ColumnCapabilitiesImpl();
           caps.setType(ValueType.FLOAT);
           caps.setDictionaryEncoded(false);
@@ -257,7 +256,7 @@ public void testAggregateWithOrFilter()
 
     FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
         new DoubleSumAggregatorFactory("billy", "value"),
-        new OrDimFilter(Lists.<DimFilter>newArrayList(new SelectorDimFilter("dim", "a", null), new SelectorDimFilter("dim", "b", null)))
+        new OrDimFilter(Lists.newArrayList(new SelectorDimFilter("dim", "a", null), new SelectorDimFilter("dim", "b", null)))
     );
 
     FilteredAggregator agg = (FilteredAggregator) factory.factorize(
@@ -278,7 +277,7 @@ public void testAggregateWithAndFilter()
 
     FilteredAggregatorFactory factory = new FilteredAggregatorFactory(
         new DoubleSumAggregatorFactory("billy", "value"),
-        new AndDimFilter(Lists.<DimFilter>newArrayList(new NotDimFilter(new SelectorDimFilter("dim", "b", null)), new SelectorDimFilter("dim", "a", null))));
+        new AndDimFilter(Lists.newArrayList(new NotDimFilter(new SelectorDimFilter("dim", "b", null)), new SelectorDimFilter("dim", "a", null))));
 
     validateFilteredAggs(factory, values, selector);
   }
diff --git a/processing/src/test/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorBenchmark.java b/processing/src/test/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorBenchmark.java
index c184e08e20e..47eaac5e7cd 100644
--- a/processing/src/test/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorBenchmark.java
+++ b/processing/src/test/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorBenchmark.java
@@ -103,7 +103,7 @@ protected void setUp()
 
     CardinalityAggregatorFactory factory = new CardinalityAggregatorFactory(
         "billy",
-        Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("dim1", "dim1")),
+        Lists.newArrayList(new DefaultDimensionSpec("dim1", "dim1")),
         byRow
     );
 
diff --git a/processing/src/test/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorTest.java b/processing/src/test/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorTest.java
index f78a22815b6..3f7fcdaeb3e 100644
--- a/processing/src/test/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorTest.java
+++ b/processing/src/test/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorTest.java
@@ -328,7 +328,7 @@ public CardinalityAggregatorTest()
 
     rowAggregatorFactory = new CardinalityAggregatorFactory(
         "billy",
-        Lists.<DimensionSpec>newArrayList(
+        Lists.newArrayList(
             dimSpec1,
             dimSpec2
         ),
@@ -338,7 +338,7 @@ public CardinalityAggregatorTest()
     rowAggregatorFactoryRounded = new CardinalityAggregatorFactory(
         "billy",
         null,
-        Lists.<DimensionSpec>newArrayList(
+        Lists.newArrayList(
             dimSpec1,
             dimSpec2
         ),
@@ -348,7 +348,7 @@ public CardinalityAggregatorTest()
 
     valueAggregatorFactory = new CardinalityAggregatorFactory(
         "billy",
-        Lists.<DimensionSpec>newArrayList(
+        Lists.newArrayList(
             dimSpec1,
             dimSpec2
         ),
@@ -437,7 +437,7 @@ public void testAggregateValues()
   public void testBufferAggregateRows()
   {
     CardinalityBufferAggregator agg = new CardinalityBufferAggregator(
-        dimInfoList.toArray(new ColumnSelectorPlus[] {}),
+        dimInfoList.toArray(new ColumnSelectorPlus[0]),
         true
     );
 
@@ -459,7 +459,7 @@ public void testBufferAggregateRows()
   public void testBufferAggregateValues()
   {
     CardinalityBufferAggregator agg = new CardinalityBufferAggregator(
-        dimInfoList.toArray(new ColumnSelectorPlus[] {}),
+        dimInfoList.toArray(new ColumnSelectorPlus[0]),
         false
     );
 
@@ -622,7 +622,7 @@ public void testSerde() throws Exception
     CardinalityAggregatorFactory factory = new CardinalityAggregatorFactory(
         "billy",
         null,
-        ImmutableList.<DimensionSpec>of(
+        ImmutableList.of(
             new DefaultDimensionSpec("b", "b"),
             new DefaultDimensionSpec("a", "a"),
             new DefaultDimensionSpec("c", "c")
@@ -650,7 +650,7 @@ public void testSerde() throws Exception
 
     CardinalityAggregatorFactory factory2 = new CardinalityAggregatorFactory(
         "billy",
-        ImmutableList.<DimensionSpec>of(
+        ImmutableList.of(
             new ExtractionDimensionSpec("b", "b", new RegexDimExtractionFn(".*", false, null)),
             new RegexFilteredDimensionSpec(new DefaultDimensionSpec("a", "a"), ".*"),
             new DefaultDimensionSpec("c", "c")
diff --git a/processing/src/test/java/io/druid/query/aggregation/hyperloglog/HyperUniqueFinalizingPostAggregatorTest.java b/processing/src/test/java/io/druid/query/aggregation/hyperloglog/HyperUniqueFinalizingPostAggregatorTest.java
index f183782b724..b233b1ad3dd 100644
--- a/processing/src/test/java/io/druid/query/aggregation/hyperloglog/HyperUniqueFinalizingPostAggregatorTest.java
+++ b/processing/src/test/java/io/druid/query/aggregation/hyperloglog/HyperUniqueFinalizingPostAggregatorTest.java
@@ -52,7 +52,7 @@ public void testCompute()
       collector.add(hashedVal);
     }
 
-    double cardinality = (Double) postAggregator.compute(ImmutableMap.<String, Object>of("uniques", collector));
+    double cardinality = (Double) postAggregator.compute(ImmutableMap.of("uniques", collector));
 
     Assert.assertTrue(cardinality == 99.37233005831612);
   }
@@ -82,7 +82,7 @@ public void testComputeRounded()
       collector.add(hashedVal);
     }
 
-    Object cardinality = postAggregator.compute(ImmutableMap.<String, Object>of("uniques", collector));
+    Object cardinality = postAggregator.compute(ImmutableMap.of("uniques", collector));
 
     Assert.assertThat(cardinality, CoreMatchers.instanceOf(Long.class));
     Assert.assertEquals(99L, cardinality);
diff --git a/processing/src/test/java/io/druid/query/aggregation/post/ArithmeticPostAggregatorTest.java b/processing/src/test/java/io/druid/query/aggregation/post/ArithmeticPostAggregatorTest.java
index 27b7e278c00..ca8733c7470 100644
--- a/processing/src/test/java/io/druid/query/aggregation/post/ArithmeticPostAggregatorTest.java
+++ b/processing/src/test/java/io/druid/query/aggregation/post/ArithmeticPostAggregatorTest.java
@@ -125,7 +125,7 @@ public void testQuotient()
     ArithmeticPostAggregator agg = new ArithmeticPostAggregator(
         null,
         "quotient",
-        ImmutableList.<PostAggregator>of(
+        ImmutableList.of(
             new FieldAccessPostAggregator("numerator", "value"),
             new ConstantPostAggregator("zero", 0)
         ),
@@ -133,10 +133,10 @@ public void testQuotient()
     );
 
 
-    Assert.assertEquals(Double.NaN, agg.compute(ImmutableMap.<String, Object>of("value", 0)));
-    Assert.assertEquals(Double.NaN, agg.compute(ImmutableMap.<String, Object>of("value", Double.NaN)));
-    Assert.assertEquals(Double.POSITIVE_INFINITY, agg.compute(ImmutableMap.<String, Object>of("value", 1)));
-    Assert.assertEquals(Double.NEGATIVE_INFINITY, agg.compute(ImmutableMap.<String, Object>of("value", -1)));
+    Assert.assertEquals(Double.NaN, agg.compute(ImmutableMap.of("value", 0)));
+    Assert.assertEquals(Double.NaN, agg.compute(ImmutableMap.of("value", Double.NaN)));
+    Assert.assertEquals(Double.POSITIVE_INFINITY, agg.compute(ImmutableMap.of("value", 1)));
+    Assert.assertEquals(Double.NEGATIVE_INFINITY, agg.compute(ImmutableMap.of("value", -1)));
   }
 
   @Test
@@ -151,10 +151,10 @@ public void testDiv()
         )
     );
 
-    Assert.assertEquals(0.0, agg.compute(ImmutableMap.<String, Object>of("value", 0)));
-    Assert.assertEquals(0.0, agg.compute(ImmutableMap.<String, Object>of("value", Double.NaN)));
-    Assert.assertEquals(0.0, agg.compute(ImmutableMap.<String, Object>of("value", 1)));
-    Assert.assertEquals(0.0, agg.compute(ImmutableMap.<String, Object>of("value", -1)));
+    Assert.assertEquals(0.0, agg.compute(ImmutableMap.of("value", 0)));
+    Assert.assertEquals(0.0, agg.compute(ImmutableMap.of("value", Double.NaN)));
+    Assert.assertEquals(0.0, agg.compute(ImmutableMap.of("value", 1)));
+    Assert.assertEquals(0.0, agg.compute(ImmutableMap.of("value", -1)));
   }
 
   @Test
@@ -163,7 +163,7 @@ public void testNumericFirstOrdering()
     ArithmeticPostAggregator agg = new ArithmeticPostAggregator(
         null,
         "quotient",
-        ImmutableList.<PostAggregator>of(
+        ImmutableList.of(
             new ConstantPostAggregator("zero", 0),
             new ConstantPostAggregator("zero", 0)
         ),
diff --git a/processing/src/test/java/io/druid/query/aggregation/post/FinalizingFieldAccessPostAggregatorTest.java b/processing/src/test/java/io/druid/query/aggregation/post/FinalizingFieldAccessPostAggregatorTest.java
index 88cdbfccb4a..5314ecbacd5 100644
--- a/processing/src/test/java/io/druid/query/aggregation/post/FinalizingFieldAccessPostAggregatorTest.java
+++ b/processing/src/test/java/io/druid/query/aggregation/post/FinalizingFieldAccessPostAggregatorTest.java
@@ -145,7 +145,7 @@ public void testComparatorsWithFinalizing()
     computedValues.add(postAgg.compute(ImmutableMap.of(aggName, "test_val4")));
 
     Collections.sort(computedValues, postAgg.getComparator());
-    Assert.assertArrayEquals(new Object[]{3L, 10L, 21L, null}, computedValues.toArray(new Object[]{}));
+    Assert.assertArrayEquals(new Object[]{3L, 10L, 21L, null}, computedValues.toArray(new Object[0]));
     EasyMock.verify();
   }
 
@@ -171,7 +171,7 @@ public void testComparatorsWithFinalizingAndComparatorNull()
     computedValues.add(postAgg.compute(ImmutableMap.of("joe", "test_val4")));
     Collections.sort(computedValues, postAgg.getComparator());
 
-    Assert.assertArrayEquals(new Object[]{null, "test_val1", "test_val2", "test_val4"}, computedValues.toArray(new Object[]{}));
+    Assert.assertArrayEquals(new Object[]{null, "test_val1", "test_val2", "test_val4"}, computedValues.toArray(new Object[0]));
 
     EasyMock.verify();
   }
diff --git a/processing/src/test/java/io/druid/query/cache/CacheKeyBuilderTest.java b/processing/src/test/java/io/druid/query/cache/CacheKeyBuilderTest.java
index 3541eb0a3af..b606cded8ff 100644
--- a/processing/src/test/java/io/druid/query/cache/CacheKeyBuilderTest.java
+++ b/processing/src/test/java/io/druid/query/cache/CacheKeyBuilderTest.java
@@ -203,13 +203,13 @@ public void testNotEqualStrings()
     keys.add(
         new CacheKeyBuilder((byte) 10)
             .appendStrings(ImmutableList.of("testtest"))
-            .appendStrings(ImmutableList.<String>of())
+            .appendStrings(ImmutableList.of())
             .build()
     );
 
     keys.add(
         new CacheKeyBuilder((byte) 10)
-            .appendStrings(ImmutableList.<String>of())
+            .appendStrings(ImmutableList.of())
             .appendStrings(ImmutableList.of("testtest"))
             .build()
     );
@@ -267,13 +267,13 @@ public void testNotEqualCacheables()
     keys.add(
         new CacheKeyBuilder((byte) 10)
             .appendCacheables(Lists.newArrayList(testtest))
-            .appendCacheables(Lists.<Cacheable>newArrayList())
+            .appendCacheables(Lists.newArrayList())
             .build()
     );
 
     keys.add(
         new CacheKeyBuilder((byte) 10)
-            .appendCacheables(Lists.<Cacheable>newArrayList())
+            .appendCacheables(Lists.newArrayList())
             .appendCacheables(Lists.newArrayList(testtest))
             .build()
     );
@@ -318,7 +318,7 @@ public void testEmptyOrNullStringLists()
   public void testEmptyOrNullCacheables()
   {
     final byte[] key1 = new CacheKeyBuilder((byte) 10)
-        .appendCacheables(Lists.<Cacheable>newArrayList())
+        .appendCacheables(Lists.newArrayList())
         .build();
 
     final byte[] key2 = new CacheKeyBuilder((byte) 10)
diff --git a/processing/src/test/java/io/druid/query/datasourcemetadata/DataSourceMetadataQueryTest.java b/processing/src/test/java/io/druid/query/datasourcemetadata/DataSourceMetadataQueryTest.java
index 425873abd8b..bf254e8acec 100644
--- a/processing/src/test/java/io/druid/query/datasourcemetadata/DataSourceMetadataQueryTest.java
+++ b/processing/src/test/java/io/druid/query/datasourcemetadata/DataSourceMetadataQueryTest.java
@@ -77,7 +77,7 @@ public void testContextSerde() throws Exception
                                                 .dataSource("foo")
                                                 .intervals("2013/2014")
                                                 .context(
-                                                    ImmutableMap.<String, Object>of(
+                                                    ImmutableMap.of(
                                                         "priority",
                                                         1,
                                                         "useCache",
@@ -130,7 +130,7 @@ public void testMaxIngestedEventTime() throws Exception
         new MapBasedInputRow(
             timestamp.getMillis(),
             ImmutableList.of("dim1"),
-            ImmutableMap.<String, Object>of("dim1", "x")
+            ImmutableMap.of("dim1", "x")
         )
     );
     DataSourceMetadataQuery dataSourceMetadataQuery = Druids.newDataSourceMetadataQueryBuilder()
@@ -241,7 +241,7 @@ public void testResultSerialization()
   @Test
   public void testResultDeserialization()
   {
-    final Map<String, Object> resultValueMap = ImmutableMap.<String, Object>of(
+    final Map<String, Object> resultValueMap = ImmutableMap.of(
         "maxIngestedEventTime",
         "2000-01-01T00:00:00.000Z"
     );
diff --git a/processing/src/test/java/io/druid/query/extraction/MapLookupExtractorTest.java b/processing/src/test/java/io/druid/query/extraction/MapLookupExtractorTest.java
index ab413f5d45d..b3aedea1301 100644
--- a/processing/src/test/java/io/druid/query/extraction/MapLookupExtractorTest.java
+++ b/processing/src/test/java/io/druid/query/extraction/MapLookupExtractorTest.java
@@ -37,7 +37,7 @@
   @Test
   public void testUnApply()
   {
-    Assert.assertEquals(Arrays.asList("foo"), fn.unapply("bar"));
+    Assert.assertEquals(Collections.singletonList("foo"), fn.unapply("bar"));
     Assert.assertEquals(Sets.newHashSet("null", "empty String"), Sets.newHashSet(fn.unapply("")));
     Assert.assertEquals("Null value should be equal to empty string",
                         Sets.newHashSet("null", "empty String"),
diff --git a/processing/src/test/java/io/druid/query/filter/GetDimensionRangeSetTest.java b/processing/src/test/java/io/druid/query/filter/GetDimensionRangeSetTest.java
index 132b88e39c7..26aa033bc35 100644
--- a/processing/src/test/java/io/druid/query/filter/GetDimensionRangeSetTest.java
+++ b/processing/src/test/java/io/druid/query/filter/GetDimensionRangeSetTest.java
@@ -81,8 +81,8 @@
       null
   );
 
-  private static final RangeSet all = rangeSet(ImmutableList.of(Range.<String>all()));
-  private static final RangeSet empty = rangeSet(ImmutableList.<Range<String>>of());
+  private static final RangeSet all = rangeSet(ImmutableList.of(Range.all()));
+  private static final RangeSet empty = rangeSet(ImmutableList.of());
 
   @Test
   public void testSimpleFilter()
diff --git a/processing/src/test/java/io/druid/query/filter/InDimFilterSerDesrTest.java b/processing/src/test/java/io/druid/query/filter/InDimFilterSerDesrTest.java
index 453f20b9d1d..e59be3713b8 100644
--- a/processing/src/test/java/io/druid/query/filter/InDimFilterSerDesrTest.java
+++ b/processing/src/test/java/io/druid/query/filter/InDimFilterSerDesrTest.java
@@ -31,6 +31,7 @@
 
 import java.io.IOException;
 import java.util.Arrays;
+import java.util.Collections;
 
 public class InDimFilterSerDesrTest
 {
@@ -64,12 +65,12 @@ public void testSerialization() throws IOException
   public void testGetCacheKey()
   {
     final InDimFilter inDimFilter_1 = new InDimFilter("dimTest", Arrays.asList("good", "bad"), null);
-    final InDimFilter inDimFilter_2 = new InDimFilter("dimTest", Arrays.asList("good,bad"), null);
+    final InDimFilter inDimFilter_2 = new InDimFilter("dimTest", Collections.singletonList("good,bad"), null);
     Assert.assertNotEquals(inDimFilter_1.getCacheKey(), inDimFilter_2.getCacheKey());
 
     RegexDimExtractionFn regexFn = new RegexDimExtractionFn(".*", false, null);
     final InDimFilter inDimFilter_3 = new InDimFilter("dimTest", Arrays.asList("good", "bad"), regexFn);
-    final InDimFilter inDimFilter_4 = new InDimFilter("dimTest", Arrays.asList("good,bad"), regexFn);
+    final InDimFilter inDimFilter_4 = new InDimFilter("dimTest", Collections.singletonList("good,bad"), regexFn);
     Assert.assertNotEquals(inDimFilter_3.getCacheKey(), inDimFilter_4.getCacheKey());
   }
 
diff --git a/processing/src/test/java/io/druid/query/filter/SelectorDimFilterTest.java b/processing/src/test/java/io/druid/query/filter/SelectorDimFilterTest.java
index ccabfe361e7..daa0b6db403 100644
--- a/processing/src/test/java/io/druid/query/filter/SelectorDimFilterTest.java
+++ b/processing/src/test/java/io/druid/query/filter/SelectorDimFilterTest.java
@@ -25,6 +25,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 
 public class SelectorDimFilterTest
 {
@@ -66,10 +67,10 @@ public void testSimpleOptimize()
   {
     SelectorDimFilter selectorDimFilter = new SelectorDimFilter("abc", "d", null);
     DimFilter filter = new AndDimFilter(
-        Arrays.<DimFilter>asList(
+        Collections.singletonList(
             new OrDimFilter(
-                Arrays.<DimFilter>asList(
-                    new AndDimFilter(Arrays.<DimFilter>asList(selectorDimFilter, null))
+                Collections.singletonList(
+                    new AndDimFilter(Arrays.asList(selectorDimFilter, null))
                 )
             )
         )
diff --git a/processing/src/test/java/io/druid/query/groupby/DefaultGroupByQueryMetricsTest.java b/processing/src/test/java/io/druid/query/groupby/DefaultGroupByQueryMetricsTest.java
index a6254afe2b5..9cc2f2c50b1 100644
--- a/processing/src/test/java/io/druid/query/groupby/DefaultGroupByQueryMetricsTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/DefaultGroupByQueryMetricsTest.java
@@ -29,7 +29,6 @@
 import io.druid.query.DruidMetrics;
 import io.druid.query.QueryRunnerTestHelper;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.dimension.ExtractionDimensionSpec;
 import io.druid.query.extraction.MapLookupExtractor;
 import io.druid.query.filter.SelectorDimFilter;
@@ -62,7 +61,7 @@ public void testDefaultGroupByQueryMetricsQuery()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -87,7 +86,7 @@ public void testDefaultGroupByQueryMetricsQuery()
         )
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setDimFilter(new SelectorDimFilter("quality", "mezzanine", null))
-        .setContext(ImmutableMap.<String, Object>of("bySegment", true));
+        .setContext(ImmutableMap.of("bySegment", true));
     GroupByQuery query = builder.build();
     queryMetrics.query(query);
 
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByLimitPushDownInsufficientBufferTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByLimitPushDownInsufficientBufferTest.java
index f717d15bec0..00794009638 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByLimitPushDownInsufficientBufferTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByLimitPushDownInsufficientBufferTest.java
@@ -60,7 +60,6 @@
 import io.druid.query.QueryWatcher;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.orderby.DefaultLimitSpec;
 import io.druid.query.groupby.orderby.OrderByColumnSpec;
 import io.druid.query.groupby.strategy.GroupByStrategySelector;
@@ -467,15 +466,15 @@ public void testPartialLimitPushDownMerge()
         .builder()
         .setDataSource("blah")
         .setQuerySegmentSpec(intervalSpec)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("dimA", null)
         ))
         .setAggregatorSpecs(
-            Arrays.asList(new LongSumAggregatorFactory("metA", "metA"))
+            Collections.singletonList(new LongSumAggregatorFactory("metA", "metA"))
         )
         .setLimitSpec(
             new DefaultLimitSpec(
-                Arrays.asList(new OrderByColumnSpec("dimA", OrderByColumnSpec.Direction.DESCENDING)),
+                Collections.singletonList(new OrderByColumnSpec("dimA", OrderByColumnSpec.Direction.DESCENDING)),
                 3
             )
         )
@@ -557,15 +556,15 @@ public void testPartialLimitPushDownMergeForceAggs()
         .builder()
         .setDataSource("blah")
         .setQuerySegmentSpec(intervalSpec)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("dimA", null)
         ))
         .setAggregatorSpecs(
-            Arrays.asList(new LongSumAggregatorFactory("metA", "metA"))
+            Collections.singletonList(new LongSumAggregatorFactory("metA", "metA"))
         )
         .setLimitSpec(
             new DefaultLimitSpec(
-                Arrays.asList(
+                Collections.singletonList(
                     new OrderByColumnSpec("metA", OrderByColumnSpec.Direction.DESCENDING, StringComparators.NUMERIC)
                 ),
                 3
@@ -573,7 +572,7 @@ public void testPartialLimitPushDownMergeForceAggs()
         )
         .setGranularity(Granularities.ALL)
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
               GroupByQueryConfig.CTX_KEY_FORCE_LIMIT_PUSH_DOWN,
               true
             )
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByLimitPushDownMultiNodeMergeTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByLimitPushDownMultiNodeMergeTest.java
index 532ad50d716..7dd36b35ca8 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByLimitPushDownMultiNodeMergeTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByLimitPushDownMultiNodeMergeTest.java
@@ -62,7 +62,6 @@
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.dimension.ExtractionDimensionSpec;
 import io.druid.query.expression.TestExprMacroTable;
 import io.druid.query.extraction.TimeFormatExtractionFn;
@@ -511,13 +510,13 @@ public void testDescendingNumerics()
             new ExpressionVirtualColumn("d1:v", "timestamp_extract(\"__time\",'MONTH','UTC')", ValueType.LONG, TestExprMacroTable.INSTANCE),
             new ExpressionVirtualColumn("d2:v", "timestamp_extract(\"__time\",'DAY','UTC')", ValueType.LONG, TestExprMacroTable.INSTANCE)
         )
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("d0:v", "d0", ValueType.LONG),
             new DefaultDimensionSpec("d1:v", "d1", ValueType.LONG),
             new DefaultDimensionSpec("d2:v", "d2", ValueType.LONG)
         ))
         .setAggregatorSpecs(
-            Arrays.asList(new CountAggregatorFactory("a0"))
+            Collections.singletonList(new CountAggregatorFactory("a0"))
         )
         .setLimitSpec(
             ls2
@@ -618,7 +617,7 @@ public void testPartialLimitPushDownMerge()
         .builder()
         .setDataSource("blah")
         .setQuerySegmentSpec(intervalSpec)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("dimA", "dimA"),
             new ExtractionDimensionSpec(
                 Column.TIME_COLUMN_NAME,
@@ -634,7 +633,7 @@ public void testPartialLimitPushDownMerge()
             )
         ))
         .setAggregatorSpecs(
-            Arrays.asList(new LongSumAggregatorFactory("metASum", "metA"))
+            Collections.singletonList(new LongSumAggregatorFactory("metASum", "metA"))
         )
         .setLimitSpec(
             new DefaultLimitSpec(
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByMultiSegmentTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByMultiSegmentTest.java
index fe38667439a..447d6fe9ca3 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByMultiSegmentTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByMultiSegmentTest.java
@@ -57,7 +57,6 @@
 import io.druid.query.QueryWatcher;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.having.GreaterThanHavingSpec;
 import io.druid.query.groupby.orderby.DefaultLimitSpec;
 import io.druid.query.groupby.orderby.OrderByColumnSpec;
@@ -322,15 +321,15 @@ public void testHavingAndNoLimitPushDown()
         .builder()
         .setDataSource("blah")
         .setQuerySegmentSpec(intervalSpec)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("dimA", null)
         ))
         .setAggregatorSpecs(
-            Arrays.asList(new LongSumAggregatorFactory("metA", "metA"))
+            Collections.singletonList(new LongSumAggregatorFactory("metA", "metA"))
         )
         .setLimitSpec(
             new DefaultLimitSpec(
-                Arrays.asList(new OrderByColumnSpec("dimA", OrderByColumnSpec.Direction.ASCENDING)),
+                Collections.singletonList(new OrderByColumnSpec("dimA", OrderByColumnSpec.Direction.ASCENDING)),
                 1
             )
         )
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByQueryConfigTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByQueryConfigTest.java
index 418ca9532f2..b94b0031163 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByQueryConfigTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByQueryConfigTest.java
@@ -90,7 +90,7 @@ public void testOverrides()
                     .setInterval(Intervals.of("2000/P1D"))
                     .setGranularity(Granularities.ALL)
                     .setContext(
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "groupByStrategy", "v1",
                             "maxOnDiskStorage", 0,
                             "maxResults", 2,
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByQueryMergeBufferTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByQueryMergeBufferTest.java
index 6525e738607..87b19065d5e 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByQueryMergeBufferTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByQueryMergeBufferTest.java
@@ -37,10 +37,8 @@
 import io.druid.query.QueryDataSource;
 import io.druid.query.QueryRunner;
 import io.druid.query.QueryRunnerTestHelper;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.strategy.GroupByStrategySelector;
 import io.druid.query.groupby.strategy.GroupByStrategyV1;
 import io.druid.query.groupby.strategy.GroupByStrategyV2;
@@ -213,7 +211,7 @@ public String getDefaultStrategy()
 
   public GroupByQueryMergeBufferTest(QueryRunner<Row> runner)
   {
-    this.runner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.<QueryRunner<Row>>of(runner));
+    this.runner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.of(runner));
   }
 
   @Before
@@ -230,7 +228,7 @@ public void testSimpleGroupBy()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(Granularities.ALL)
         .setInterval(QueryRunnerTestHelper.firstToThird)
-        .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(new LongSumAggregatorFactory("rows", "rows")))
+        .setAggregatorSpecs(Lists.newArrayList(new LongSumAggregatorFactory("rows", "rows")))
         .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, TIMEOUT))
         .build();
 
@@ -251,14 +249,14 @@ public void testNestedGroupBy()
                             .setDataSource(QueryRunnerTestHelper.dataSource)
                             .setInterval(QueryRunnerTestHelper.firstToThird)
                             .setGranularity(Granularities.ALL)
-                            .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
-                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                            .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
+                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                             .build()
             )
         )
         .setGranularity(Granularities.ALL)
         .setInterval(QueryRunnerTestHelper.firstToThird)
-        .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(new LongSumAggregatorFactory("rows", "rows")))
+        .setAggregatorSpecs(Lists.newArrayList(new LongSumAggregatorFactory("rows", "rows")))
         .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, TIMEOUT))
         .build();
 
@@ -281,23 +279,23 @@ public void testDoubleNestedGroupBy()
                                             .setDataSource(QueryRunnerTestHelper.dataSource)
                                             .setInterval(QueryRunnerTestHelper.firstToThird)
                                             .setGranularity(Granularities.ALL)
-                                            .setDimensions(Lists.<DimensionSpec>newArrayList(
+                                            .setDimensions(Lists.newArrayList(
                                                 new DefaultDimensionSpec("quality", "alias"),
                                                 new DefaultDimensionSpec("market", null)
                                             ))
-                                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                                             .build()
                             )
                             .setInterval(QueryRunnerTestHelper.firstToThird)
                             .setGranularity(Granularities.ALL)
-                            .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
-                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                            .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
+                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                             .build()
             )
         )
         .setGranularity(Granularities.ALL)
         .setInterval(QueryRunnerTestHelper.firstToThird)
-        .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(new LongSumAggregatorFactory("rows", "rows")))
+        .setAggregatorSpecs(Lists.newArrayList(new LongSumAggregatorFactory("rows", "rows")))
         .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, TIMEOUT))
         .build();
 
@@ -323,33 +321,33 @@ public void testTripleNestedGroupBy()
                                                             .setDataSource(QueryRunnerTestHelper.dataSource)
                                                             .setInterval(QueryRunnerTestHelper.firstToThird)
                                                             .setGranularity(Granularities.ALL)
-                                                            .setDimensions(Lists.<DimensionSpec>newArrayList(
+                                                            .setDimensions(Lists.newArrayList(
                                                                 new DefaultDimensionSpec("quality", "alias"),
                                                                 new DefaultDimensionSpec("market", null),
                                                                 new DefaultDimensionSpec("placement", null)
                                                             ))
-                                                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                                                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                                                             .build()
                                             )
                                             .setInterval(QueryRunnerTestHelper.firstToThird)
                                             .setGranularity(Granularities.ALL)
-                                            .setDimensions(Lists.<DimensionSpec>newArrayList(
+                                            .setDimensions(Lists.newArrayList(
                                                 new DefaultDimensionSpec("quality", "alias"),
                                                 new DefaultDimensionSpec("market", null)
                                             ))
-                                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                                             .build()
                             )
                             .setInterval(QueryRunnerTestHelper.firstToThird)
                             .setGranularity(Granularities.ALL)
-                            .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
-                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                            .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
+                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                             .build()
             )
         )
         .setGranularity(Granularities.ALL)
         .setInterval(QueryRunnerTestHelper.firstToThird)
-        .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(new LongSumAggregatorFactory("rows", "rows")))
+        .setAggregatorSpecs(Lists.newArrayList(new LongSumAggregatorFactory("rows", "rows")))
         .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, TIMEOUT))
         .build();
 
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerFactoryTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerFactoryTest.java
index 03c8a0cba51..32f1927091f 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerFactoryTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerFactoryTest.java
@@ -38,7 +38,6 @@
 import io.druid.query.QueryRunnerFactory;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.spec.LegacySegmentSpec;
 import io.druid.segment.CloserRule;
 import io.druid.segment.IncrementalIndexSegment;
@@ -68,7 +67,7 @@ public void testMergeRunnersEnsureGroupMerging()
         .setDataSource("xx")
         .setQuerySegmentSpec(new LegacySegmentSpec("1970/3000"))
         .setGranularity(Granularities.ALL)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("tags", "tags")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("tags", "tags")))
         .setAggregatorSpecs(Collections.singletonList(new CountAggregatorFactory("count")))
         .build();
 
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerFailureTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerFailureTest.java
index 513c49288a7..e9791a7bf9f 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerFailureTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerFailureTest.java
@@ -41,10 +41,8 @@
 import io.druid.query.QueryRunner;
 import io.druid.query.QueryRunnerTestHelper;
 import io.druid.query.ResourceLimitExceededException;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.strategy.GroupByStrategySelector;
 import io.druid.query.groupby.strategy.GroupByStrategyV1;
 import io.druid.query.groupby.strategy.GroupByStrategyV2;
@@ -195,14 +193,14 @@ public void testNotEnoughMergeBuffersOnQueryable()
                             .setDataSource(QueryRunnerTestHelper.dataSource)
                             .setInterval(QueryRunnerTestHelper.firstToThird)
                             .setGranularity(Granularities.ALL)
-                            .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
-                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                            .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
+                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                             .build()
             )
         )
         .setGranularity(Granularities.ALL)
         .setInterval(QueryRunnerTestHelper.firstToThird)
-        .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(new LongSumAggregatorFactory("rows", "rows")))
+        .setAggregatorSpecs(Lists.newArrayList(new LongSumAggregatorFactory("rows", "rows")))
         .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, 500))
         .build();
 
@@ -224,23 +222,23 @@ public void testResourceLimitExceededOnBroker()
                                             .setDataSource(QueryRunnerTestHelper.dataSource)
                                             .setInterval(QueryRunnerTestHelper.firstToThird)
                                             .setGranularity(Granularities.ALL)
-                                            .setDimensions(Lists.<DimensionSpec>newArrayList(
+                                            .setDimensions(Lists.newArrayList(
                                                 new DefaultDimensionSpec("quality", "alias"),
                                                 new DefaultDimensionSpec("market", null)
                                             ))
-                                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                                             .build()
                             )
                             .setInterval(QueryRunnerTestHelper.firstToThird)
                             .setGranularity(Granularities.ALL)
-                            .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
-                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                            .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
+                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                             .build()
             )
         )
         .setGranularity(Granularities.ALL)
         .setInterval(QueryRunnerTestHelper.firstToThird)
-        .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(new LongSumAggregatorFactory("rows", "rows")))
+        .setAggregatorSpecs(Lists.newArrayList(new LongSumAggregatorFactory("rows", "rows")))
         .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, 500))
         .build();
 
@@ -258,14 +256,14 @@ public void testInsufficientResourcesOnBroker()
                             .setDataSource(QueryRunnerTestHelper.dataSource)
                             .setInterval(QueryRunnerTestHelper.firstToThird)
                             .setGranularity(Granularities.ALL)
-                            .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
-                            .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(QueryRunnerTestHelper.rowsCount))
+                            .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
+                            .setAggregatorSpecs(Lists.newArrayList(QueryRunnerTestHelper.rowsCount))
                             .build()
             )
         )
         .setGranularity(Granularities.ALL)
         .setInterval(QueryRunnerTestHelper.firstToThird)
-        .setAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(new LongSumAggregatorFactory("rows", "rows")))
+        .setAggregatorSpecs(Lists.newArrayList(new LongSumAggregatorFactory("rows", "rows")))
         .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, 500))
         .build();
 
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerTest.java
index d809ccca53c..dd9810536af 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByQueryRunnerTest.java
@@ -70,7 +70,6 @@
 import io.druid.query.aggregation.JavaScriptAggregatorFactory;
 import io.druid.query.aggregation.LongMaxAggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.aggregation.cardinality.CardinalityAggregatorFactory;
 import io.druid.query.aggregation.first.LongFirstAggregatorFactory;
 import io.druid.query.aggregation.hyperloglog.HyperUniqueFinalizingPostAggregator;
@@ -110,7 +109,6 @@
 import io.druid.query.groupby.having.DimensionSelectorHavingSpec;
 import io.druid.query.groupby.having.EqualToHavingSpec;
 import io.druid.query.groupby.having.GreaterThanHavingSpec;
-import io.druid.query.groupby.having.HavingSpec;
 import io.druid.query.groupby.having.OrHavingSpec;
 import io.druid.query.groupby.orderby.DefaultLimitSpec;
 import io.druid.query.groupby.orderby.LimitSpec;
@@ -422,7 +420,7 @@ public GroupByQueryRunnerTest(
   {
     this.config = config;
     this.factory = factory;
-    this.runner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.<QueryRunner<Row>>of(runner));
+    this.runner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.of(runner));
   }
 
   @Test
@@ -432,7 +430,7 @@ public void testGroupBy()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -478,7 +476,7 @@ public void testGroupByOnMissingColumn()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("nonexistent0", "alias0"),
                 new ExtractionDimensionSpec("nonexistent1", "alias1", new StringFormatExtractionFn("foo"))
             )
@@ -507,7 +505,7 @@ public void testGroupByWithStringPostAggregator()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -571,7 +569,7 @@ public void testGroupByWithStringVirtualColumn()
                 TestExprMacroTable.INSTANCE
             )
         )
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("vc", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("vc", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -630,7 +628,7 @@ public void testGroupByWithDurationGranularity()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -676,7 +674,7 @@ public void testGroupByWithOutputNameCollisions()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -694,7 +692,7 @@ public void testGroupByWithSortDimsFirst()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -702,7 +700,7 @@ public void testGroupByWithSortDimsFirst()
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setContext(ImmutableMap.<String, Object>of("sortByDimsFirst", true, "groupByStrategy", "v2"))
+        .setContext(ImmutableMap.of("sortByDimsFirst", true, "groupByStrategy", "v2"))
         .build();
 
     List<Row> expectedResults = Arrays.asList(
@@ -745,7 +743,7 @@ public void testGroupByWithChunkPeriod()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -753,7 +751,7 @@ public void testGroupByWithChunkPeriod()
             )
         )
         .setGranularity(QueryRunnerTestHelper.allGran)
-        .setContext(ImmutableMap.<String, Object>of("chunkPeriod", "P1D"))
+        .setContext(ImmutableMap.of("chunkPeriod", "P1D"))
         .build();
 
     List<Row> expectedResults = Arrays.asList(
@@ -779,7 +777,7 @@ public void testGroupByNoAggregators()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .build();
 
@@ -816,7 +814,7 @@ public void testMultiValueDimension()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("placementish", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("placementish", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -851,7 +849,7 @@ public void testTwoMultiValueDimensions()
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimFilter(new SelectorDimFilter("placementish", "a", null))
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("placementish", "alias"),
                 new DefaultDimensionSpec("placementish", "alias2")
             )
@@ -883,7 +881,7 @@ public void testMultipleDimensionsOneOfWhichIsMultiValue1()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("placementish", "alias"),
             new DefaultDimensionSpec("quality", "quality")
         ))
@@ -1108,7 +1106,7 @@ public void testMultipleDimensionsOneOfWhichIsMultiValueDifferentOrder()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("quality", "quality"),
             new DefaultDimensionSpec("placementish", "alias")
         ))
@@ -1333,7 +1331,7 @@ public void testGroupByMaxRowsLimitContextOverride()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -1341,7 +1339,7 @@ public void testGroupByMaxRowsLimitContextOverride()
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setContext(ImmutableMap.<String, Object>of("maxResults", 1))
+        .setContext(ImmutableMap.of("maxResults", 1))
         .build();
 
     List<Row> expectedResults = null;
@@ -1382,7 +1380,7 @@ public void testGroupByTimeoutContextOverride()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -1390,7 +1388,7 @@ public void testGroupByTimeoutContextOverride()
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setContext(ImmutableMap.<String, Object>of(QueryContexts.TIMEOUT_KEY, 60000))
+        .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, 60000))
         .build();
 
     List<Row> expectedResults = Arrays.asList(
@@ -1426,7 +1424,7 @@ public void testGroupByMaxOnDiskStorageContextOverride()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -1434,7 +1432,7 @@ public void testGroupByMaxOnDiskStorageContextOverride()
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setContext(ImmutableMap.<String, Object>of("maxOnDiskStorage", 0, "bufferGrouperMaxSize", 1))
+        .setContext(ImmutableMap.of("maxOnDiskStorage", 0, "bufferGrouperMaxSize", 1))
         .build();
 
     List<Row> expectedResults = null;
@@ -1476,7 +1474,7 @@ public void testNotEnoughDictionarySpaceThroughContextOverride()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -1484,7 +1482,7 @@ public void testNotEnoughDictionarySpaceThroughContextOverride()
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setContext(ImmutableMap.<String, Object>of("maxOnDiskStorage", 0, "maxMergingDictionarySize", 1))
+        .setContext(ImmutableMap.of("maxOnDiskStorage", 0, "maxMergingDictionarySize", 1))
         .build();
 
     List<Row> expectedResults = null;
@@ -1526,7 +1524,7 @@ public void testNotEnoughDiskSpaceThroughContextOverride()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -1534,7 +1532,7 @@ public void testNotEnoughDiskSpaceThroughContextOverride()
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setContext(ImmutableMap.<String, Object>of("maxOnDiskStorage", 1, "maxMergingDictionarySize", 1))
+        .setContext(ImmutableMap.of("maxOnDiskStorage", 1, "maxMergingDictionarySize", 1))
         .build();
 
     List<Row> expectedResults = null;
@@ -1581,7 +1579,7 @@ public void testSubqueryWithOuterMaxOnDiskStorageContextOverride()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .setLimitSpec(
             new DefaultLimitSpec(
@@ -1590,7 +1588,7 @@ public void testSubqueryWithOuterMaxOnDiskStorageContextOverride()
             )
         )
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "maxOnDiskStorage", Integer.MAX_VALUE,
                 "bufferGrouperMaxSize", Integer.MAX_VALUE
             )
@@ -1601,10 +1599,10 @@ public void testSubqueryWithOuterMaxOnDiskStorageContextOverride()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
-        .setAggregatorSpecs(ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("count")))
+        .setDimensions(Lists.newArrayList())
+        .setAggregatorSpecs(ImmutableList.of(new CountAggregatorFactory("count")))
         .setGranularity(QueryRunnerTestHelper.allGran)
-        .setContext(ImmutableMap.<String, Object>of("maxOnDiskStorage", 0, "bufferGrouperMaxSize", 0))
+        .setContext(ImmutableMap.of("maxOnDiskStorage", 0, "bufferGrouperMaxSize", 0))
         .build();
 
     // v1 strategy throws an exception for this query because it tries to merge the noop outer
@@ -1641,7 +1639,7 @@ public void testGroupByWithRebucketRename()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -1719,7 +1717,7 @@ public void testGroupByWithSimpleRenameRetainMissingNonInjective()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -1797,7 +1795,7 @@ public void testGroupByWithSimpleRenameRetainMissing()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -1875,7 +1873,7 @@ public void testGroupByWithSimpleRenameAndMissingString()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -1952,7 +1950,7 @@ public void testGroupByWithSimpleRename()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -2027,7 +2025,7 @@ public void testGroupByWithUniques()
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "rows",
@@ -2049,7 +2047,7 @@ public void testGroupByWithUniquesAndPostAggWithSameName()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
                 new HyperUniquesAggregatorFactory(
                     "quality_uniques",
@@ -2058,14 +2056,14 @@ public void testGroupByWithUniquesAndPostAggWithSameName()
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new HyperUniqueFinalizingPostAggregator("quality_uniques", "quality_uniques")
             )
         )
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "rows",
@@ -2095,7 +2093,7 @@ public void testGroupByWithCardinality()
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "rows",
@@ -2116,7 +2114,7 @@ public void testGroupByWithFirstLast()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("market", "market")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("market", "market")))
         .setAggregatorSpecs(
             Arrays.asList(
                 new LongFirstAggregatorFactory("first", "index"),
@@ -2152,7 +2150,7 @@ public void testGroupByWithNoResult()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.emptyInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("market", "market")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("market", "market")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -2184,7 +2182,7 @@ public void testGroupByWithNullProducingDimExtractionFn()
       @Override
       public String apply(String dimValue)
       {
-        return dimValue.equals("mezzanine") ? null : super.apply(dimValue);
+        return "mezzanine".equals(dimValue) ? null : super.apply(dimValue);
       }
     };
     GroupByQuery query = GroupByQuery
@@ -2199,7 +2197,7 @@ public String apply(String dimValue)
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec("quality", "alias", nullExtractionFn)
             )
         )
@@ -2252,7 +2250,7 @@ public void testGroupByWithEmptyStringProducingDimExtractionFn()
       @Override
       public String apply(String dimValue)
       {
-        return dimValue.equals("mezzanine") ? "" : super.apply(dimValue);
+        return "mezzanine".equals(dimValue) ? "" : super.apply(dimValue);
       }
     };
 
@@ -2268,7 +2266,7 @@ public String apply(String dimValue)
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec("quality", "alias", emptyStringExtractionFn)
             )
         )
@@ -2512,7 +2510,7 @@ public void testMergeResults()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -2597,7 +2595,7 @@ private void doTestMergeResultsWithValidLimit(final int limit)
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -2639,7 +2637,7 @@ public void testMergeResultsAcrossMultipleDaysWithLimitAndOrderBy()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -2696,7 +2694,7 @@ public void testMergeResultsAcrossMultipleDaysWithLimitAndOrderByUsingMathExpres
                 TestExprMacroTable.INSTANCE
             )
         )
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -2744,7 +2742,7 @@ public void testMergeResultsWithNegativeLimit()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -2823,7 +2821,7 @@ private void doTestMergeResultsWithOrderBy(LimitSpec orderBySpec, List<Row> expe
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -2871,7 +2869,7 @@ public void testGroupByOrderLimit()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -2968,7 +2966,7 @@ public void testGroupByWithOrderLimit2()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -3010,7 +3008,7 @@ public void testGroupByWithOrderLimit3()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -3053,7 +3051,7 @@ public void testGroupByOrderLimitNumeric()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -3095,7 +3093,7 @@ public void testGroupByWithSameCaseOrdering()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     "marketalias"
@@ -3114,7 +3112,7 @@ public void testGroupByWithSameCaseOrdering()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
@@ -3155,7 +3153,7 @@ public void testGroupByWithOrderLimit4()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     QueryRunnerTestHelper.marketDimension
@@ -3174,7 +3172,7 @@ public void testGroupByWithOrderLimit4()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
@@ -3203,7 +3201,7 @@ public void testGroupByWithOrderOnHyperUnique()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     QueryRunnerTestHelper.marketDimension
@@ -3222,12 +3220,12 @@ public void testGroupByWithOrderOnHyperUnique()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.qualityUniques
             )
         )
         .setPostAggregatorSpecs(
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new HyperUniqueFinalizingPostAggregator(
                     QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
                     QueryRunnerTestHelper.uniqueMetric
@@ -3277,7 +3275,7 @@ public void testGroupByWithHavingOnHyperUnique()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     QueryRunnerTestHelper.marketDimension
@@ -3302,12 +3300,12 @@ public void testGroupByWithHavingOnHyperUnique()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.qualityUniques
             )
         )
         .setPostAggregatorSpecs(
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new HyperUniqueFinalizingPostAggregator(
                     QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
                     QueryRunnerTestHelper.uniqueMetric
@@ -3316,7 +3314,7 @@ public void testGroupByWithHavingOnHyperUnique()
         )
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "1970-01-01T00:00:00.000Z",
             "market",
@@ -3339,7 +3337,7 @@ public void testGroupByWithHavingOnFinalizedHyperUnique()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     QueryRunnerTestHelper.marketDimension
@@ -3364,12 +3362,12 @@ public void testGroupByWithHavingOnFinalizedHyperUnique()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.qualityUniques
             )
         )
         .setPostAggregatorSpecs(
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new HyperUniqueFinalizingPostAggregator(
                     QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
                     QueryRunnerTestHelper.uniqueMetric
@@ -3378,7 +3376,7 @@ public void testGroupByWithHavingOnFinalizedHyperUnique()
         )
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "1970-01-01T00:00:00.000Z",
             "market",
@@ -3401,7 +3399,7 @@ public void testGroupByWithLimitOnFinalizedHyperUnique()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     QueryRunnerTestHelper.marketDimension
@@ -3420,12 +3418,12 @@ public void testGroupByWithLimitOnFinalizedHyperUnique()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.qualityUniques
             )
         )
         .setPostAggregatorSpecs(
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new HyperUniqueFinalizingPostAggregator(
                     QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
                     QueryRunnerTestHelper.uniqueMetric
@@ -3487,7 +3485,7 @@ public void testGroupByWithAlphaNumericDimensionOrder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -3501,7 +3499,7 @@ public void testGroupByWithAlphaNumericDimensionOrder()
                 new LongSumAggregatorFactory("idx", "index")
             )
         )
-        .setLimitSpec(new DefaultLimitSpec(Lists.<OrderByColumnSpec>newArrayList(
+        .setLimitSpec(new DefaultLimitSpec(Lists.newArrayList(
             new OrderByColumnSpec("alias", null, StringComparators.ALPHANUMERIC)), null))
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .build();
@@ -3550,7 +3548,7 @@ public void testGroupByWithLookupAndLimitAndSortByDimsFirst()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -3564,7 +3562,7 @@ public void testGroupByWithLookupAndLimitAndSortByDimsFirst()
                 new LongSumAggregatorFactory("idx", "index")
             )
         )
-        .setLimitSpec(new DefaultLimitSpec(Lists.<OrderByColumnSpec>newArrayList(
+        .setLimitSpec(new DefaultLimitSpec(Lists.newArrayList(
             new OrderByColumnSpec("alias", null, StringComparators.ALPHANUMERIC)), 11))
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .setContext(ImmutableMap.of("sortByDimsFirst", true))
@@ -3603,7 +3601,7 @@ public void testLimitPerGrouping()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     QueryRunnerTestHelper.marketDimension
@@ -3624,7 +3622,7 @@ public void testLimitPerGrouping()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
@@ -3680,18 +3678,18 @@ public void testPostAggMergedHavingSpec()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
                 new LongSumAggregatorFactory("index", "index")
             )
         )
-        .setPostAggregatorSpecs(ImmutableList.<PostAggregator>of(QueryRunnerTestHelper.addRowsIndexConstant))
+        .setPostAggregatorSpecs(ImmutableList.of(QueryRunnerTestHelper.addRowsIndexConstant))
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setHavingSpec(
             new OrHavingSpec(
-                ImmutableList.<HavingSpec>of(
+                ImmutableList.of(
                     new GreaterThanHavingSpec(QueryRunnerTestHelper.addRowsIndexConstantMetric, 1000L)
                 )
             )
@@ -3735,7 +3733,7 @@ public void testGroupByWithOrderLimitHavingSpec()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-01-25/2011-01-28")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -3845,18 +3843,18 @@ public void testPostAggHavingSpec()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
                 new LongSumAggregatorFactory("index", "index")
             )
         )
-        .setPostAggregatorSpecs(ImmutableList.<PostAggregator>of(QueryRunnerTestHelper.addRowsIndexConstant))
+        .setPostAggregatorSpecs(ImmutableList.of(QueryRunnerTestHelper.addRowsIndexConstant))
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setHavingSpec(
             new OrHavingSpec(
-                ImmutableList.<HavingSpec>of(
+                ImmutableList.of(
                     new GreaterThanHavingSpec(QueryRunnerTestHelper.addRowsIndexConstantMetric, 1000L)
                 )
             )
@@ -3884,7 +3882,7 @@ public void testHavingSpec()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -3894,7 +3892,7 @@ public void testHavingSpec()
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setHavingSpec(
             new OrHavingSpec(
-                ImmutableList.<HavingSpec>of(
+                ImmutableList.of(
                     new GreaterThanHavingSpec("rows", 2L),
                     new EqualToHavingSpec("idx", 217L)
                 )
@@ -3937,7 +3935,7 @@ public void testDimFilterHavingSpec()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -3984,7 +3982,7 @@ public void testDimFilterHavingSpecWithExtractionFns()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4015,7 +4013,7 @@ public void testMergedHavingSpec()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4025,7 +4023,7 @@ public void testMergedHavingSpec()
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setHavingSpec(
             new OrHavingSpec(
-                ImmutableList.<HavingSpec>of(
+                ImmutableList.of(
                     new GreaterThanHavingSpec("rows", 2L),
                     new EqualToHavingSpec("idx", 217L)
                 )
@@ -4106,7 +4104,7 @@ public void testMergedPostAggHavingSpec()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4114,11 +4112,11 @@ public void testMergedPostAggHavingSpec()
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new ArithmeticPostAggregator(
                     "rows_times_10",
                     "*",
-                    Arrays.<PostAggregator>asList(
+                    Arrays.asList(
                         new FieldAccessPostAggregator(
                             "rows",
                             "rows"
@@ -4134,7 +4132,7 @@ public void testMergedPostAggHavingSpec()
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setHavingSpec(
             new OrHavingSpec(
-                ImmutableList.<HavingSpec>of(
+                ImmutableList.of(
                     new GreaterThanHavingSpec("rows_times_10", 20L),
                     new EqualToHavingSpec("idx", 217L)
                 )
@@ -4181,7 +4179,7 @@ public void testMergedPostAggHavingSpec()
     );
 
     fullQuery = fullQuery.withPostAggregatorSpecs(
-        Arrays.<PostAggregator>asList(
+        Collections.singletonList(
             new ExpressionPostAggregator("rows_times_10", "rows * 10.0", null, TestExprMacroTable.INSTANCE)
         )
     );
@@ -4205,9 +4203,9 @@ public void testGroupByWithRegEx()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
         .setDimFilter(new RegexDimFilter("quality", "auto.*", null))
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "quality")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "quality")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
@@ -4215,7 +4213,7 @@ public void testGroupByWithRegEx()
 
     final GroupByQuery query = builder.build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow("2011-04-01", "quality", "automotive", "rows", 2L)
     );
 
@@ -4234,7 +4232,7 @@ public void testGroupByWithNonexistentDimension()
         .addDimension("billy")
         .addDimension("quality")
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
@@ -4291,7 +4289,7 @@ public void testIdenticalSubquery()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new JavaScriptDimFilter(
             "quality",
             "function(dim){ return true; }",
@@ -4312,9 +4310,9 @@ public void testIdenticalSubquery()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("alias", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("alias", "alias")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
                 new LongSumAggregatorFactory("idx", "idx")
             )
@@ -4356,7 +4354,7 @@ public void testSubqueryWithMultipleIntervalsInOuterQuery()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new JavaScriptDimFilter(
             "quality",
             "function(dim){ return true; }",
@@ -4384,9 +4382,9 @@ public void testSubqueryWithMultipleIntervalsInOuterQuery()
                 )
             )
         )
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("alias", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("alias", "alias")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
                 new LongSumAggregatorFactory("idx", "idx")
             )
@@ -4428,7 +4426,7 @@ public void testSubqueryWithMultipleIntervalsInOuterQueryAndChunkPeriod()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new JavaScriptDimFilter(
             "quality",
             "function(dim){ return true; }",
@@ -4443,7 +4441,7 @@ public void testSubqueryWithMultipleIntervalsInOuterQueryAndChunkPeriod()
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setContext(ImmutableMap.<String, Object>of("chunkPeriod", "P1D"))
+        .setContext(ImmutableMap.of("chunkPeriod", "P1D"))
         .build();
 
     GroupByQuery query = GroupByQuery
@@ -4457,9 +4455,9 @@ public void testSubqueryWithMultipleIntervalsInOuterQueryAndChunkPeriod()
                 )
             )
         )
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("alias", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("alias", "alias")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
                 new LongSumAggregatorFactory("idx", "idx")
             )
@@ -4503,7 +4501,7 @@ public void testSubqueryWithExtractionFnInOuterQuery()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new JavaScriptDimFilter(
             "quality",
             "function(dim){ return true; }",
@@ -4530,7 +4528,7 @@ public void testSubqueryWithExtractionFnInOuterQuery()
                 )
             )
         )
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new ExtractionDimensionSpec(
                 "alias",
                 "alias",
@@ -4539,7 +4537,7 @@ public void testSubqueryWithExtractionFnInOuterQuery()
                        )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
                 new LongSumAggregatorFactory("idx", "idx")
             )
@@ -4564,7 +4562,7 @@ public void testDifferentGroupingSubquery()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4580,7 +4578,7 @@ public void testDifferentGroupingSubquery()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
                 new DoubleMaxAggregatorFactory("idx", "idx"),
                 new DoubleMaxAggregatorFactory("indexMaxPlusTen", "indexMaxPlusTen")
@@ -4632,7 +4630,7 @@ public void testDifferentGroupingSubqueryMultipleAggregatorsOnSameField()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4640,11 +4638,11 @@ public void testDifferentGroupingSubqueryMultipleAggregatorsOnSameField()
             )
         )
         .setPostAggregatorSpecs(
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new ArithmeticPostAggregator(
                     "post_agg",
                     "+",
-                    Lists.<PostAggregator>newArrayList(
+                    Lists.newArrayList(
                         new FieldAccessPostAggregator("idx", "idx"),
                         new FieldAccessPostAggregator("idx", "idx")
                     )
@@ -4659,7 +4657,7 @@ public void testDifferentGroupingSubqueryMultipleAggregatorsOnSameField()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new DoubleMaxAggregatorFactory("idx1", "idx"),
                 new DoubleMaxAggregatorFactory("idx2", "idx"),
                 new DoubleMaxAggregatorFactory("idx3", "post_agg"),
@@ -4690,7 +4688,7 @@ public void testDifferentGroupingSubqueryWithFilter()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "quality")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "quality")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4705,13 +4703,13 @@ public void testDifferentGroupingSubqueryWithFilter()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new DoubleMaxAggregatorFactory("idx", "idx")
             )
         )
         .setDimFilter(
             new OrDimFilter(
-                Lists.<DimFilter>newArrayList(
+                Lists.newArrayList(
                     new SelectorDimFilter("quality", "automotive", null),
                     new SelectorDimFilter("quality", "premium", null),
                     new SelectorDimFilter("quality", "mezzanine", null),
@@ -4743,7 +4741,7 @@ public void testDifferentIntervalSubquery()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4758,14 +4756,14 @@ public void testDifferentIntervalSubquery()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.secondOnly)
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new DoubleMaxAggregatorFactory("idx", "idx")
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow("2011-04-02", "idx", 2505.0)
     );
 
@@ -4801,17 +4799,17 @@ public void testGroupByTimeExtractionNamedUnderUnderTime()
                 QueryRunnerTestHelper.indexDoubleSum
             )
         )
-        .setPostAggregatorSpecs(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .setPostAggregatorSpecs(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimFilter(
             new OrDimFilter(
-                Arrays.<DimFilter>asList(
+                Arrays.asList(
                     new SelectorDimFilter("market", "spot", null),
                     new SelectorDimFilter("market", "upfront", null)
                 )
             )
         )
-        .setLimitSpec(new DefaultLimitSpec(ImmutableList.<OrderByColumnSpec>of(), 1))
+        .setLimitSpec(new DefaultLimitSpec(ImmutableList.of(), 1))
         .build();
   }
 
@@ -4827,7 +4825,7 @@ public void testGroupByWithUnderUnderTimeAsDimensionNameWithHavingAndLimit()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "__time")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "__time")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4837,7 +4835,7 @@ public void testGroupByWithUnderUnderTimeAsDimensionNameWithHavingAndLimit()
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .setHavingSpec(
             new OrHavingSpec(
-                ImmutableList.<HavingSpec>of(
+                ImmutableList.of(
                     new DimensionSelectorHavingSpec("__time", "automotive", null),
                     new DimensionSelectorHavingSpec("__time", "business", null)
                 )
@@ -4859,7 +4857,7 @@ public void testEmptySubquery()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.emptyInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -4874,7 +4872,7 @@ public void testEmptySubquery()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new DoubleMaxAggregatorFactory("idx", "idx")
             )
         )
@@ -4892,7 +4890,7 @@ public void testSubqueryWithPostAggregators()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new JavaScriptDimFilter(
             "quality",
             "function(dim){ return true; }",
@@ -4906,7 +4904,7 @@ public void testSubqueryWithPostAggregators()
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new ArithmeticPostAggregator(
                     "idx_subpostagg", "+", Arrays.asList(
                     new FieldAccessPostAggregator("the_idx_subagg", "idx_subagg"),
@@ -4923,15 +4921,15 @@ public void testSubqueryWithPostAggregators()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("alias", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("alias", "alias")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
                 new LongSumAggregatorFactory("idx", "idx_subpostagg")
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new ArithmeticPostAggregator(
                     "idx_post", "+", Arrays.asList(
                     new FieldAccessPostAggregator("the_idx_agg", "idx"),
@@ -5158,7 +5156,7 @@ public void testSubqueryWithPostAggregatorsAndHaving()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new JavaScriptDimFilter(
             "quality",
             "function(dim){ return true; }",
@@ -5172,7 +5170,7 @@ public void testSubqueryWithPostAggregatorsAndHaving()
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new ArithmeticPostAggregator(
                     "idx_subpostagg",
                     "+",
@@ -5202,15 +5200,15 @@ public boolean eval(Row row)
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("alias", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("alias", "alias")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
                 new LongSumAggregatorFactory("idx", "idx_subpostagg")
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new ArithmeticPostAggregator(
                     "idx_post", "+", Arrays.asList(
                     new FieldAccessPostAggregator("the_idx_agg", "idx"),
@@ -5415,7 +5413,7 @@ public void testSubqueryWithMultiColumnAggregators()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new JavaScriptDimFilter(
             "market",
             "function(dim){ return true; }",
@@ -5437,7 +5435,7 @@ public void testSubqueryWithMultiColumnAggregators()
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new ArithmeticPostAggregator(
                     "idx_subpostagg",
                     "+",
@@ -5467,7 +5465,7 @@ public boolean eval(Row row)
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("alias", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("alias", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
@@ -5476,7 +5474,7 @@ public boolean eval(Row row)
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new ArithmeticPostAggregator(
                     "idx_post", "+", Arrays.asList(
                     new FieldAccessPostAggregator("the_idx_agg", "idx"),
@@ -5488,7 +5486,7 @@ public boolean eval(Row row)
         )
         .setLimitSpec(
             new DefaultLimitSpec(
-                Arrays.asList(
+                Collections.singletonList(
                     new OrderByColumnSpec(
                         "alias",
                         OrderByColumnSpec.Direction.DESCENDING
@@ -5580,7 +5578,7 @@ public void testSubqueryWithOuterFilterAggregator()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("market", "market"),
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("market", "market"),
                                                          new DefaultDimensionSpec("quality", "quality")))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -5596,16 +5594,16 @@ public void testSubqueryWithOuterFilterAggregator()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
+        .setDimensions(Lists.newArrayList())
         .setAggregatorSpecs(
-            ImmutableList.<AggregatorFactory>of(
+            ImmutableList.of(
                 new FilteredAggregatorFactory(QueryRunnerTestHelper.rowsCount, filter)
             )
         )
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow("1970-01-01", "rows", 837L)
     );
     Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
@@ -5619,7 +5617,7 @@ public void testSubqueryWithOuterTimeFilter()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("market", "market"),
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("market", "market"),
                                                          new DefaultDimensionSpec("quality", "quality")))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -5636,10 +5634,10 @@ public void testSubqueryWithOuterTimeFilter()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
+        .setDimensions(Lists.newArrayList())
         .setDimFilter(firstDaysFilter)
         .setAggregatorSpecs(
-            ImmutableList.<AggregatorFactory>of(
+            ImmutableList.of(
                 new FilteredAggregatorFactory(QueryRunnerTestHelper.rowsCount, fridayFilter)
             )
         )
@@ -5668,7 +5666,7 @@ public void testSubqueryWithContextTimeout()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .build();
 
@@ -5676,13 +5674,13 @@ public void testSubqueryWithContextTimeout()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
-        .setAggregatorSpecs(ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("count")))
+        .setDimensions(Lists.newArrayList())
+        .setAggregatorSpecs(ImmutableList.of(new CountAggregatorFactory("count")))
         .setGranularity(QueryRunnerTestHelper.allGran)
-        .setContext(ImmutableMap.<String, Object>of(QueryContexts.TIMEOUT_KEY, 10000))
+        .setContext(ImmutableMap.of(QueryContexts.TIMEOUT_KEY, 10000))
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow("2011-04-01", "count", 18L)
     );
     Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
@@ -5696,7 +5694,7 @@ public void testSubqueryWithOuterVirtualColumns()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .build();
 
@@ -5705,12 +5703,12 @@ public void testSubqueryWithOuterVirtualColumns()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setVirtualColumns(new ExpressionVirtualColumn("expr", "1", ValueType.FLOAT, TestExprMacroTable.INSTANCE))
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
-        .setAggregatorSpecs(ImmutableList.<AggregatorFactory>of(new LongSumAggregatorFactory("count", "expr")))
+        .setDimensions(Lists.newArrayList())
+        .setAggregatorSpecs(ImmutableList.of(new LongSumAggregatorFactory("count", "expr")))
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow("2011-04-01", "count", 18L)
     );
     Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
@@ -5724,7 +5722,7 @@ public void testSubqueryWithOuterCardinalityAggregator()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("market", "market"),
             new DefaultDimensionSpec("quality", "quality")
         ))
@@ -5741,11 +5739,11 @@ public void testSubqueryWithOuterCardinalityAggregator()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
+        .setDimensions(Lists.newArrayList())
         .setAggregatorSpecs(
-            ImmutableList.<AggregatorFactory>of(
+            ImmutableList.of(
                 new CardinalityAggregatorFactory("car",
-                                                 ImmutableList.<DimensionSpec>of(new DefaultDimensionSpec(
+                                                 ImmutableList.of(new DefaultDimensionSpec(
                                                      "quality",
                                                      "quality"
                                                  )),
@@ -5756,7 +5754,7 @@ public void testSubqueryWithOuterCardinalityAggregator()
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow("1970-01-01", "car", QueryRunnerTestHelper.UNIQUES_9)
     );
     Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
@@ -5770,7 +5768,7 @@ public void testSubqueryWithOuterCountAggregator()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .setLimitSpec(
             new DefaultLimitSpec(
@@ -5784,8 +5782,8 @@ public void testSubqueryWithOuterCountAggregator()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
-        .setAggregatorSpecs(ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("count")))
+        .setDimensions(Lists.newArrayList())
+        .setAggregatorSpecs(ImmutableList.of(new CountAggregatorFactory("count")))
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
@@ -5799,7 +5797,7 @@ public void testSubqueryWithOuterCountAggregator()
       expectedException.expectMessage("Unknown column in order clause");
       GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
     } else {
-      List<Row> expectedResults = Arrays.asList(
+      List<Row> expectedResults = Collections.singletonList(
           GroupByQueryRunnerTestHelper.createExpectedRow("2011-04-01", "count", 18L)
       );
       Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
@@ -5814,7 +5812,7 @@ public void testSubqueryWithOuterDimJavascriptAggregators()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("market", "market"),
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("market", "market"),
                                                          new DefaultDimensionSpec("quality", "quality")))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -5829,9 +5827,9 @@ public void testSubqueryWithOuterDimJavascriptAggregators()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "quality")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "quality")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new JavaScriptAggregatorFactory(
                     "js_agg",
                     Arrays.asList("index", "market"),
@@ -5877,7 +5875,7 @@ public void testSubqueryWithOuterJavascriptAggregators()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("market", "market"),
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("market", "market"),
                                                          new DefaultDimensionSpec("quality", "quality")))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -5892,9 +5890,9 @@ public void testSubqueryWithOuterJavascriptAggregators()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "quality")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "quality")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new JavaScriptAggregatorFactory(
                     "js_agg",
                     Arrays.asList("index", "rows"),
@@ -5940,7 +5938,7 @@ public void testSubqueryWithHyperUniques()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -5955,7 +5953,7 @@ public void testSubqueryWithHyperUniques()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("alias", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("alias", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
@@ -6080,7 +6078,7 @@ public void testSubqueryWithHyperUniquesPostAggregator()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
+        .setDimensions(Lists.newArrayList())
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -6089,7 +6087,7 @@ public void testSubqueryWithHyperUniquesPostAggregator()
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new FieldAccessPostAggregator("quality_uniques_inner_post", "quality_uniques_inner")
             )
         )
@@ -6100,7 +6098,7 @@ public void testSubqueryWithHyperUniquesPostAggregator()
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
+        .setDimensions(Lists.newArrayList())
         .setAggregatorSpecs(
             Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
@@ -6109,14 +6107,14 @@ public void testSubqueryWithHyperUniquesPostAggregator()
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(
+            Collections.singletonList(
                 new HyperUniqueFinalizingPostAggregator("quality_uniques_outer_post", "quality_uniques_outer")
             )
         )
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "rows",
@@ -6142,25 +6140,25 @@ public void testSubqueryWithFirstLast()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(ImmutableList.<DimensionSpec>of(new DefaultDimensionSpec("market", "market")))
+        .setDimensions(ImmutableList.of(new DefaultDimensionSpec("market", "market")))
         .setAggregatorSpecs(
-            ImmutableList.<AggregatorFactory>of(
+            ImmutableList.of(
                 QueryRunnerTestHelper.rowsCount,
                 new LongFirstAggregatorFactory("innerfirst", "index"),
                 new LongLastAggregatorFactory("innerlast", "index")
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setContext(ImmutableMap.<String, Object>of("finalize", true))
+        .setContext(ImmutableMap.of("finalize", true))
         .build();
 
     GroupByQuery query = GroupByQuery
         .builder()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.fullOnInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList())
+        .setDimensions(Lists.newArrayList())
         .setAggregatorSpecs(
-            ImmutableList.<AggregatorFactory>of(
+            ImmutableList.of(
                 new LongFirstAggregatorFactory("first", "innerfirst"),
                 new LongLastAggregatorFactory("last", "innerlast")
             )
@@ -6196,7 +6194,7 @@ public void testGroupByWithTimeColumn()
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "rows",
@@ -6235,11 +6233,11 @@ public void testGroupByTimeExtraction()
                 QueryRunnerTestHelper.indexDoubleSum
             )
         )
-        .setPostAggregatorSpecs(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .setPostAggregatorSpecs(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimFilter(
             new OrDimFilter(
-                Arrays.<DimFilter>asList(
+                Arrays.asList(
                     new SelectorDimFilter("market", "spot", null),
                     new SelectorDimFilter("market", "upfront", null)
                 )
@@ -6496,11 +6494,11 @@ public ExtractionType getExtractionType()
                 QueryRunnerTestHelper.indexDoubleSum
             )
         )
-        .setPostAggregatorSpecs(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .setPostAggregatorSpecs(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimFilter(
             new OrDimFilter(
-                Arrays.<DimFilter>asList(
+                Arrays.asList(
                     new SelectorDimFilter("market", "spot", null),
                     new SelectorDimFilter("market", "upfront", null)
                 )
@@ -6704,7 +6702,7 @@ public void testBySegmentResults()
     Result<BySegmentResultValue> singleSegmentResult = new Result<BySegmentResultValue>(
         DateTimes.of("2011-01-12T00:00:00.000Z"),
         new BySegmentResultValueClass(
-            Arrays.asList(
+            Collections.singletonList(
                 GroupByQueryRunnerTestHelper.createExpectedRow(
                     "2011-04-01",
                     "alias",
@@ -6725,7 +6723,7 @@ public void testBySegmentResults()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -6734,7 +6732,7 @@ public void testBySegmentResults()
         )
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setDimFilter(new SelectorDimFilter("quality", "mezzanine", null))
-        .setContext(ImmutableMap.<String, Object>of("bySegment", true));
+        .setContext(ImmutableMap.of("bySegment", true));
     final GroupByQuery fullQuery = builder.build();
     QueryToolChest toolChest = factory.getToolchest();
 
@@ -6766,7 +6764,7 @@ public void testBySegmentResultsUnOptimizedDimextraction()
     Result<BySegmentResultValue> singleSegmentResult = new Result<BySegmentResultValue>(
         DateTimes.of("2011-01-12T00:00:00.000Z"),
         new BySegmentResultValueClass(
-            Arrays.asList(
+            Collections.singletonList(
                 GroupByQueryRunnerTestHelper.createExpectedRow(
                     "2011-04-01",
                     "alias",
@@ -6788,7 +6786,7 @@ public void testBySegmentResultsUnOptimizedDimextraction()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -6813,7 +6811,7 @@ public void testBySegmentResultsUnOptimizedDimextraction()
         )
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setDimFilter(new SelectorDimFilter("quality", "mezzanine", null))
-        .setContext(ImmutableMap.<String, Object>of("bySegment", true));
+        .setContext(ImmutableMap.of("bySegment", true));
     final GroupByQuery fullQuery = builder.build();
     QueryToolChest toolChest = factory.getToolchest();
 
@@ -6840,7 +6838,7 @@ public void testBySegmentResultsOptimizedDimextraction()
     Result<BySegmentResultValue> singleSegmentResult = new Result<BySegmentResultValue>(
         DateTimes.of("2011-01-12T00:00:00.000Z"),
         new BySegmentResultValueClass(
-            Arrays.asList(
+            Collections.singletonList(
                 GroupByQueryRunnerTestHelper.createExpectedRow(
                     "2011-04-01",
                     "alias",
@@ -6862,7 +6860,7 @@ public void testBySegmentResultsOptimizedDimextraction()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new ExtractionDimensionSpec(
                     "quality",
                     "alias",
@@ -6887,7 +6885,7 @@ public void testBySegmentResultsOptimizedDimextraction()
         )
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setDimFilter(new SelectorDimFilter("quality", "mezzanine", null))
-        .setContext(ImmutableMap.<String, Object>of("bySegment", true));
+        .setContext(ImmutableMap.of("bySegment", true));
     final GroupByQuery fullQuery = builder.build();
     QueryToolChest toolChest = factory.getToolchest();
 
@@ -6921,7 +6919,7 @@ public void testGroupByWithExtractionDimFilter()
     MapLookupExtractor mapLookupExtractor = new MapLookupExtractor(extractionMap, false);
     LookupExtractionFn lookupExtractionFn = new LookupExtractionFn(mapLookupExtractor, false, null, true, false);
 
-    List<DimFilter> dimFilters = Lists.<DimFilter>newArrayList(
+    List<DimFilter> dimFilters = Lists.newArrayList(
         new ExtractionDimFilter("quality", "automotiveAndBusinessAndNewsAndMezzanine", lookupExtractionFn, null),
         new SelectorDimFilter("quality", "entertainment", null),
         new SelectorDimFilter("quality", "health", null),
@@ -6933,7 +6931,7 @@ public void testGroupByWithExtractionDimFilter()
     GroupByQuery query = GroupByQuery.builder().setDataSource(QueryRunnerTestHelper.dataSource)
                                      .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
                                      .setDimensions(
-                                         Lists.<DimensionSpec>newArrayList(
+                                         Lists.newArrayList(
                                              new DefaultDimensionSpec(
                                                  "quality",
                                                  "alias"
@@ -6995,7 +6993,7 @@ public void testGroupByWithExtractionDimFilterCaseMappingValueIsNullOrEmpty()
     GroupByQuery query = GroupByQuery.builder().setDataSource(QueryRunnerTestHelper.dataSource)
                                      .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
                                      .setDimensions(
-                                         Lists.<DimensionSpec>newArrayList(
+                                         Lists.newArrayList(
                                              new DefaultDimensionSpec(
                                                  "quality",
                                                  "alias"
@@ -7032,7 +7030,7 @@ public void testGroupByWithExtractionDimFilterWhenSearchValueNotInTheMap()
     GroupByQuery query = GroupByQuery.builder().setDataSource(QueryRunnerTestHelper.dataSource)
                                      .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
                                      .setDimensions(
-                                         Lists.<DimensionSpec>newArrayList(
+                                         Lists.newArrayList(
                                              new DefaultDimensionSpec(
                                                  "quality",
                                                  "alias"
@@ -7054,7 +7052,7 @@ public void testGroupByWithExtractionDimFilterWhenSearchValueNotInTheMap()
                                              null
                                          )
                                      ).build();
-    List<Row> expectedResults = Arrays.asList();
+    List<Row> expectedResults = Collections.emptyList();
 
     Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
     TestHelper.assertExpectedObjects(expectedResults, results, "");
@@ -7073,7 +7071,7 @@ public void testGroupByWithExtractionDimFilterKeyisNull()
     GroupByQuery query = GroupByQuery.builder().setDataSource(QueryRunnerTestHelper.dataSource)
                                      .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
                                      .setDimensions(
-                                         Lists.<DimensionSpec>newArrayList(
+                                         Lists.newArrayList(
                                              new DefaultDimensionSpec(
                                                  "null_column",
                                                  "alias"
@@ -7125,7 +7123,7 @@ public void testGroupByWithAggregatorFilterAndExtractionFunction()
     GroupByQuery query = GroupByQuery.builder().setDataSource(QueryRunnerTestHelper.dataSource)
                                      .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
                                      .setDimensions(
-                                         Lists.<DimensionSpec>newArrayList(
+                                         Lists.newArrayList(
                                              new DefaultDimensionSpec(
                                                  "quality",
                                                  "alias"
@@ -7183,7 +7181,7 @@ public void testGroupByWithExtractionDimFilterOptimazitionManyToOne()
     LookupExtractionFn lookupExtractionFn = new LookupExtractionFn(mapLookupExtractor, false, null, true, true);
     GroupByQuery query = GroupByQuery.builder().setDataSource(QueryRunnerTestHelper.dataSource)
                                      .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-                                     .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec(
+                                     .setDimensions(Lists.newArrayList(new DefaultDimensionSpec(
                                          "quality",
                                          "alias"
                                      )))
@@ -7223,7 +7221,7 @@ public void testGroupByWithExtractionDimFilterNullDims()
 
     GroupByQuery query = GroupByQuery.builder().setDataSource(QueryRunnerTestHelper.dataSource)
                                      .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-                                     .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec(
+                                     .setDimensions(Lists.newArrayList(new DefaultDimensionSpec(
                                          "null_column",
                                          "alias"
                                      )))
@@ -7256,7 +7254,7 @@ public void testBySegmentResultsWithAllFiltersWithExtractionFns()
     Result<BySegmentResultValue> singleSegmentResult = new Result<BySegmentResultValue>(
         DateTimes.of("2011-01-12T00:00:00.000Z"),
         new BySegmentResultValueClass(
-            Arrays.asList(
+            Collections.singletonList(
                 GroupByQueryRunnerTestHelper.createExpectedRow(
                     "2011-04-01",
                     "alias",
@@ -7308,7 +7306,7 @@ public void testBySegmentResultsWithAllFiltersWithExtractionFns()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -7317,7 +7315,7 @@ public void testBySegmentResultsWithAllFiltersWithExtractionFns()
         )
         .setGranularity(new PeriodGranularity(new Period("P1M"), null, null))
         .setDimFilter(superFilter)
-        .setContext(ImmutableMap.<String, Object>of("bySegment", true));
+        .setContext(ImmutableMap.of("bySegment", true));
     final GroupByQuery fullQuery = builder.build();
     QueryToolChest toolChest = factory.getToolchest();
 
@@ -7365,7 +7363,7 @@ public void testGroupByWithAllFiltersOnNullDimsWithExtractionFns()
 
     GroupByQuery query = GroupByQuery.builder().setDataSource(QueryRunnerTestHelper.dataSource)
                                      .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-                                     .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec(
+                                     .setDimensions(Lists.newArrayList(new DefaultDimensionSpec(
                                          "null_column",
                                          "alias"
                                      )))
@@ -7397,13 +7395,13 @@ public void testGroupByCardinalityAggWithExtractionFn()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("market", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("market", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
                 new CardinalityAggregatorFactory(
                     "numVals",
-                    ImmutableList.<DimensionSpec>of(new ExtractionDimensionSpec(
+                    ImmutableList.of(new ExtractionDimensionSpec(
                         QueryRunnerTestHelper.qualityDimension,
                         QueryRunnerTestHelper.qualityDimension,
                         helloFn
@@ -7435,13 +7433,13 @@ public void testGroupByCardinalityAggOnFloat()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("market", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("market", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
                 new CardinalityAggregatorFactory(
                     "numVals",
-                    ImmutableList.<DimensionSpec>of(new DefaultDimensionSpec(
+                    ImmutableList.of(new DefaultDimensionSpec(
                         QueryRunnerTestHelper.indexMetric,
                         QueryRunnerTestHelper.indexMetric
                     )),
@@ -7477,7 +7475,7 @@ public void testGroupByLongColumn()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("qualityLong", "ql_alias", ValueType.LONG)))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("qualityLong", "ql_alias", ValueType.LONG)))
         .setDimFilter(new SelectorDimFilter("quality", "entertainment", null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -7540,7 +7538,7 @@ public void testGroupByLongColumnDescending()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("qualityLong", "ql_alias", ValueType.LONG)))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("qualityLong", "ql_alias", ValueType.LONG)))
         .setDimFilter(new InDimFilter("quality", Arrays.asList("entertainment", "technology"), null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -7606,7 +7604,7 @@ public void testGroupByLongColumnWithExFn()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new ExtractionDimensionSpec("qualityLong", "ql_alias", jsExtractionFn)))
+        .setDimensions(Lists.newArrayList(new ExtractionDimensionSpec("qualityLong", "ql_alias", jsExtractionFn)))
         .setDimFilter(new SelectorDimFilter("quality", "entertainment", null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -7653,7 +7651,7 @@ public void testGroupByLongTimeColumn()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("__time", "time_alias", ValueType.LONG)))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("__time", "time_alias", ValueType.LONG)))
         .setDimFilter(new SelectorDimFilter("quality", "entertainment", null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -7698,7 +7696,7 @@ public void testGroupByLongTimeColumnWithExFn()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new ExtractionDimensionSpec("__time", "time_alias", jsExtractionFn)))
+        .setDimensions(Lists.newArrayList(new ExtractionDimensionSpec("__time", "time_alias", jsExtractionFn)))
         .setDimFilter(new SelectorDimFilter("quality", "entertainment", null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -7745,7 +7743,7 @@ public void testGroupByFloatColumn()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("index", "index_alias", ValueType.FLOAT)))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("index", "index_alias", ValueType.FLOAT)))
         .setDimFilter(new SelectorDimFilter("quality", "entertainment", null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -7809,7 +7807,7 @@ public void testGroupByFloatColumnDescending()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("qualityFloat", "qf_alias", ValueType.FLOAT)))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("qualityFloat", "qf_alias", ValueType.FLOAT)))
         .setDimFilter(new InDimFilter("quality", Arrays.asList("entertainment", "technology"), null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -7938,7 +7936,7 @@ public void testGroupByFloatColumnWithExFn()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new ExtractionDimensionSpec("index", "index_alias", jsExtractionFn)))
+        .setDimensions(Lists.newArrayList(new ExtractionDimensionSpec("index", "index_alias", jsExtractionFn)))
         .setDimFilter(new SelectorDimFilter("quality", "entertainment", null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -7989,7 +7987,7 @@ public void testGroupByWithHavingSpecOnLongAndFloat()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("market", "alias"),
                 new DefaultDimensionSpec("qualityLong", "ql_alias", ValueType.LONG),
                 new DefaultDimensionSpec("__time", "time_alias", ValueType.LONG),
@@ -7997,14 +7995,14 @@ public void testGroupByWithHavingSpecOnLongAndFloat()
             )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
         .setHavingSpec(
             new DimFilterHavingSpec(
                 new AndDimFilter(
-                    Lists.<DimFilter>newArrayList(
+                    Lists.newArrayList(
                         new SelectorDimFilter("ql_alias", "1400", null),
                         new SelectorDimFilter("time_alias", "1301616000000", null),
                         new BoundDimFilter(
@@ -8025,7 +8023,7 @@ public void testGroupByWithHavingSpecOnLongAndFloat()
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "alias", "total_market",
@@ -8053,7 +8051,7 @@ public void testGroupByLongAndFloatOutputAsString()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("qualityLong", "ql_alias"),
                 new DefaultDimensionSpec("qualityFloat", "qf_alias")
             )
@@ -8109,7 +8107,7 @@ public void testGroupByNumericStringsAsNumeric()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("qualityLong", "ql_alias"),
                 new DefaultDimensionSpec("qualityFloat", "qf_alias"),
                 new DefaultDimensionSpec(Column.TIME_COLUMN_NAME, "time_alias")
@@ -8130,7 +8128,7 @@ public void testGroupByNumericStringsAsNumeric()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("time_alias", "time_alias2", ValueType.LONG),
                 new DefaultDimensionSpec("ql_alias", "ql_alias_long", ValueType.LONG),
                 new DefaultDimensionSpec("qf_alias", "qf_alias_float", ValueType.FLOAT),
@@ -8138,7 +8136,7 @@ public void testGroupByNumericStringsAsNumeric()
             )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new CountAggregatorFactory("count")
             )
         )
@@ -8193,14 +8191,14 @@ public void testGroupByNumericStringsAsNumericWithDecoration()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 regexSpec,
                 listFilteredSpec
             )
         )
         .setDimFilter(new InDimFilter("quality", Arrays.asList("entertainment", "technology"), null))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new CountAggregatorFactory("count")
             )
         )
@@ -8251,14 +8249,14 @@ public void testGroupByDecorationOnNumerics()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 regexSpec,
                 listFilteredSpec
             )
         )
         .setDimFilter(new InDimFilter("quality", Arrays.asList("entertainment", "technology"), null))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new CountAggregatorFactory("count")
             )
         )
@@ -8297,7 +8295,7 @@ public void testGroupByNestedWithInnerQueryNumerics()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("quality", "alias"),
                 new DefaultDimensionSpec("qualityLong", "ql_alias", ValueType.LONG),
                 new DefaultDimensionSpec("qualityFloat", "qf_alias", ValueType.FLOAT)
@@ -8324,14 +8322,14 @@ public void testGroupByNestedWithInnerQueryNumerics()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("ql_alias", "quallong", ValueType.LONG),
                 new DefaultDimensionSpec("qf_alias", "qualfloat", ValueType.FLOAT)
             )
         )
         .setDimFilter(
             new AndDimFilter(
-                Lists.<DimFilter>newArrayList(
+                Lists.newArrayList(
                     new SelectorDimFilter("ql_alias", "1200", null),
                     new BoundDimFilter(
                         "qf_alias",
@@ -8347,7 +8345,7 @@ public void testGroupByNestedWithInnerQueryNumerics()
             )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongSumAggregatorFactory("ql_alias_sum", "ql_alias"),
                 new DoubleSumAggregatorFactory("qf_alias_sum", "qf_alias")
             )
@@ -8355,7 +8353,7 @@ public void testGroupByNestedWithInnerQueryNumerics()
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "quallong", 1200L,
@@ -8382,14 +8380,14 @@ public void testGroupByNestedWithInnerQueryNumericsWithLongTime()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("market", "alias"),
                 new DefaultDimensionSpec("__time", "time_alias", ValueType.LONG),
                 new DefaultDimensionSpec("index", "index_alias", ValueType.FLOAT)
             )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
@@ -8401,13 +8399,13 @@ public void testGroupByNestedWithInnerQueryNumericsWithLongTime()
         .setDataSource(subQuery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("alias", "market"),
                 new DefaultDimensionSpec("time_alias", "time_alias2", ValueType.LONG)
             )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongMaxAggregatorFactory("time_alias_max", "time_alias"),
                 new DoubleMaxAggregatorFactory("index_alias_max", "index_alias")
             )
@@ -8478,7 +8476,7 @@ public void testGroupByStringOutputAsLong()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new ExtractionDimensionSpec(
+        .setDimensions(Lists.newArrayList(new ExtractionDimensionSpec(
             QueryRunnerTestHelper.qualityDimension,
             "alias",
             ValueType.LONG,
@@ -8526,7 +8524,7 @@ public void testGroupByWithAggsOnNumericDimensions()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new SelectorDimFilter("quality", "technology", null))
         .setAggregatorSpecs(
             Arrays.asList(
@@ -8601,7 +8599,7 @@ public void testGroupByNestedOuterExtractionFnOnFloatInner()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("quality", "alias"),
                 new ExtractionDimensionSpec(
                     "qualityFloat",
@@ -8613,7 +8611,7 @@ public void testGroupByNestedOuterExtractionFnOnFloatInner()
         )
         .setDimFilter(new SelectorDimFilter("quality", "technology", null))
         .setAggregatorSpecs(
-            Arrays.asList(
+            Collections.singletonList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
@@ -8625,7 +8623,7 @@ public void testGroupByNestedOuterExtractionFnOnFloatInner()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("alias", "alias"),
                 new ExtractionDimensionSpec(
                     "qf_inner",
@@ -8636,14 +8634,14 @@ public void testGroupByNestedOuterExtractionFnOnFloatInner()
             )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "alias", "technology",
@@ -8669,7 +8667,7 @@ public void testGroupByNestedDoubleTimeExtractionFnWithLongOutputTypes()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("quality", "alias"),
                 new ExtractionDimensionSpec(
                     Column.TIME_COLUMN_NAME,
@@ -8681,7 +8679,7 @@ public void testGroupByNestedDoubleTimeExtractionFnWithLongOutputTypes()
         )
         .setDimFilter(new SelectorDimFilter("quality", "technology", null))
         .setAggregatorSpecs(
-            Arrays.asList(
+            Collections.singletonList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
@@ -8693,7 +8691,7 @@ public void testGroupByNestedDoubleTimeExtractionFnWithLongOutputTypes()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setDimensions(
-            Lists.<DimensionSpec>newArrayList(
+            Lists.newArrayList(
                 new DefaultDimensionSpec("alias", "alias"),
                 new ExtractionDimensionSpec(
                     "time_day",
@@ -8704,14 +8702,14 @@ public void testGroupByNestedDoubleTimeExtractionFnWithLongOutputTypes()
             )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
         .setGranularity(QueryRunnerTestHelper.allGran)
         .build();
 
-    List<Row> expectedResults = Arrays.asList(
+    List<Row> expectedResults = Collections.singletonList(
         GroupByQueryRunnerTestHelper.createExpectedRow(
             "2011-04-01",
             "alias", "technology",
@@ -8734,7 +8732,7 @@ public void testGroupByLimitPushDown()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     "marketalias"
@@ -8754,12 +8752,12 @@ public void testGroupByLimitPushDown()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 GroupByQueryConfig.CTX_KEY_FORCE_LIMIT_PUSH_DOWN,
                 true
             )
@@ -8797,7 +8795,7 @@ public void testMergeResultsWithLimitPushDown()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -8816,7 +8814,7 @@ public void testMergeResultsWithLimitPushDown()
             )
         )
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 GroupByQueryConfig.CTX_KEY_FORCE_LIMIT_PUSH_DOWN,
                 true
             )
@@ -8879,7 +8877,7 @@ public void testMergeResultsWithLimitPushDownSortByAgg()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -8898,7 +8896,7 @@ public void testMergeResultsWithLimitPushDownSortByAgg()
             )
         )
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 GroupByQueryConfig.CTX_KEY_FORCE_LIMIT_PUSH_DOWN,
                 true
             )
@@ -8961,7 +8959,7 @@ public void testMergeResultsWithLimitPushDownSortByDimDim()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("quality", "alias"),
             new DefaultDimensionSpec("market", "market")
                        )
@@ -8988,7 +8986,7 @@ public void testMergeResultsWithLimitPushDownSortByDimDim()
             )
         )
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 GroupByQueryConfig.CTX_KEY_FORCE_LIMIT_PUSH_DOWN,
                 true
             )
@@ -9051,7 +9049,7 @@ public void testMergeResultsWithLimitPushDownSortByDimAggDim()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setInterval("2011-04-02/2011-04-04")
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("quality", "alias"),
             new DefaultDimensionSpec("market", "market")
                        )
@@ -9082,7 +9080,7 @@ public void testMergeResultsWithLimitPushDownSortByDimAggDim()
             )
         )
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 GroupByQueryConfig.CTX_KEY_FORCE_LIMIT_PUSH_DOWN,
                 true
             )
@@ -9145,7 +9143,7 @@ public void testGroupByLimitPushDownPostAggNotSupported()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     "marketalias"
@@ -9165,17 +9163,17 @@ public void testGroupByLimitPushDownPostAggNotSupported()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
         .setPostAggregatorSpecs(
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new ConstantPostAggregator("constant", 1)
             )
         )
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 GroupByQueryConfig.CTX_KEY_FORCE_LIMIT_PUSH_DOWN,
                 true
             )
@@ -9192,7 +9190,7 @@ public void testEmptySubqueryWithLimitPushDown()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.emptyInterval)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
             Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
@@ -9218,7 +9216,7 @@ public void testEmptySubqueryWithLimitPushDown()
         .setDataSource(subquery)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Collections.singletonList(
                 new DoubleMaxAggregatorFactory("idx", "idx")
             )
         )
@@ -9243,7 +9241,7 @@ public void testSubqueryWithMultipleIntervalsInOuterQueryWithLimitPushDown()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setDimFilter(new JavaScriptDimFilter(
             "quality",
             "function(dim){ return true; }",
@@ -9282,7 +9280,7 @@ public void testSubqueryWithMultipleIntervalsInOuterQueryWithLimitPushDown()
                 )
             )
         )
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("alias", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("alias", "alias")))
         .setLimitSpec(
             new DefaultLimitSpec(
                 Lists.newArrayList(
@@ -9295,7 +9293,7 @@ public void testSubqueryWithMultipleIntervalsInOuterQueryWithLimitPushDown()
             )
         )
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongSumAggregatorFactory("rows", "rows"),
                 new LongSumAggregatorFactory("idx", "idx")
             )
@@ -9335,7 +9333,7 @@ public void testRejectForceLimitPushDownWithHaving()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     "marketalias"
@@ -9355,12 +9353,12 @@ public void testRejectForceLimitPushDownWithHaving()
             )
         )
         .setAggregatorSpecs(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 QueryRunnerTestHelper.rowsCount
             )
         )
         .setContext(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 GroupByQueryConfig.CTX_KEY_FORCE_LIMIT_PUSH_DOWN,
                 true
             )
@@ -9383,7 +9381,7 @@ public void testTypeConversionWithMergingChainedExecutionRunner()
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(
+        .setDimensions(Lists.newArrayList(
             new DefaultDimensionSpec("quality", "alias"),
             new ExtractionDimensionSpec("quality", "qualityLen", ValueType.LONG, StrlenExtractionFn.instance())
         ))
@@ -9414,7 +9412,7 @@ public void testTypeConversionWithMergingChainedExecutionRunner()
         ImmutableList.<QueryRunner<Row>>of(runner, runner)
     );
 
-    QueryRunner<Row> mergingRunner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.<QueryRunner<Row>>of(ceqr));
+    QueryRunner<Row> mergingRunner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.of(ceqr));
 
     Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, mergingRunner, query);
     TestHelper.assertExpectedObjects(expectedResults, results, "");
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByQueryTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByQueryTest.java
index 5fe5766c7a3..0be6412ef30 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByQueryTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByQueryTest.java
@@ -33,10 +33,8 @@
 import io.druid.query.QueryRunnerTestHelper;
 import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.aggregation.post.FieldAccessPostAggregator;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.groupby.orderby.DefaultLimitSpec;
 import io.druid.query.groupby.orderby.OrderByColumnSpec;
 import io.druid.query.ordering.StringComparators;
@@ -62,15 +60,15 @@ public void testQuerySerialization() throws IOException
         .builder()
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setQuerySegmentSpec(QueryRunnerTestHelper.firstToThird)
-        .setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias")))
+        .setDimensions(Lists.newArrayList(new DefaultDimensionSpec("quality", "alias")))
         .setAggregatorSpecs(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 QueryRunnerTestHelper.rowsCount,
                 new LongSumAggregatorFactory("idx", "index")
             )
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
-        .setPostAggregatorSpecs(ImmutableList.<PostAggregator>of(new FieldAccessPostAggregator("x", "idx")))
+        .setPostAggregatorSpecs(ImmutableList.of(new FieldAccessPostAggregator("x", "idx")))
         .setLimitSpec(
             new DefaultLimitSpec(
                 ImmutableList.of(new OrderByColumnSpec(
diff --git a/processing/src/test/java/io/druid/query/groupby/GroupByTimeseriesQueryRunnerTest.java b/processing/src/test/java/io/druid/query/groupby/GroupByTimeseriesQueryRunnerTest.java
index c8cbdb58c71..157a91a7bc1 100644
--- a/processing/src/test/java/io/druid/query/groupby/GroupByTimeseriesQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/GroupByTimeseriesQueryRunnerTest.java
@@ -80,7 +80,7 @@ public Sequence run(QueryPlus queryPlus, Map responseContext)
                   {
                     TimeseriesQuery tsQuery = (TimeseriesQuery) queryPlus.getQuery();
                     QueryRunner<Row> newRunner = factory.mergeRunners(
-                        MoreExecutors.sameThreadExecutor(), ImmutableList.<QueryRunner<Row>>of(input)
+                        MoreExecutors.sameThreadExecutor(), ImmutableList.of(input)
                     );
                     QueryToolChest toolChest = factory.getToolchest();
 
diff --git a/processing/src/test/java/io/druid/query/groupby/epinephelinae/BufferHashGrouperTest.java b/processing/src/test/java/io/druid/query/groupby/epinephelinae/BufferHashGrouperTest.java
index 520ae384a60..91cd3be6efe 100644
--- a/processing/src/test/java/io/druid/query/groupby/epinephelinae/BufferHashGrouperTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/epinephelinae/BufferHashGrouperTest.java
@@ -74,7 +74,7 @@ public void testSimple()
     );
     grouper.init();
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 10L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 10L)));
     grouper.aggregate(12);
     grouper.aggregate(6);
     grouper.aggregate(10);
@@ -113,14 +113,14 @@ public void testGrowing()
     final Grouper<Integer> grouper = makeGrouper(columnSelectorFactory, 10000, 2);
     final int expectedMaxSize = 219;
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 10L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 10L)));
     for (int i = 0; i < expectedMaxSize; i++) {
       Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
     }
     Assert.assertFalse(grouper.aggregate(expectedMaxSize).isOk());
 
     // Aggregate slightly different row
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 11L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 11L)));
     for (int i = 0; i < expectedMaxSize; i++) {
       Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
     }
@@ -141,7 +141,7 @@ public void testGrowing2()
     final Grouper<Integer> grouper = makeGrouper(columnSelectorFactory, 2_000_000_000, 2);
     final int expectedMaxSize = 40988516;
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 10L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 10L)));
     for (int i = 0; i < expectedMaxSize; i++) {
       Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
     }
@@ -155,7 +155,7 @@ public void testGrowing3()
     final Grouper<Integer> grouper = makeGrouper(columnSelectorFactory, Integer.MAX_VALUE, 2);
     final int expectedMaxSize = 44938972;
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 10L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 10L)));
     for (int i = 0; i < expectedMaxSize; i++) {
       Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
     }
@@ -169,14 +169,14 @@ public void testNoGrowing()
     final Grouper<Integer> grouper = makeGrouper(columnSelectorFactory, 10000, Integer.MAX_VALUE);
     final int expectedMaxSize = 267;
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 10L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 10L)));
     for (int i = 0; i < expectedMaxSize; i++) {
       Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
     }
     Assert.assertFalse(grouper.aggregate(expectedMaxSize).isOk());
 
     // Aggregate slightly different row
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 11L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 11L)));
     for (int i = 0; i < expectedMaxSize; i++) {
       Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
     }
diff --git a/processing/src/test/java/io/druid/query/groupby/epinephelinae/ByteBufferMinMaxOffsetHeapTest.java b/processing/src/test/java/io/druid/query/groupby/epinephelinae/ByteBufferMinMaxOffsetHeapTest.java
index 804c5d2406b..dec1a632826 100644
--- a/processing/src/test/java/io/druid/query/groupby/epinephelinae/ByteBufferMinMaxOffsetHeapTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/epinephelinae/ByteBufferMinMaxOffsetHeapTest.java
@@ -39,7 +39,7 @@ public void testSimple()
   {
     int limit = 15;
     ByteBuffer myBuffer = ByteBuffer.allocate(1000000);
-    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.<Integer>natural(), null);
+    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.natural(), null);
 
     ArrayList<Integer> values = Lists.newArrayList(
         30, 45, 81, 92, 68, 54, 66, 33, 89, 98,
@@ -91,7 +91,7 @@ public void testRandom()
     ArrayList<Integer> deletedValues = Lists.newArrayList();
 
     ByteBuffer myBuffer = ByteBuffer.allocate(1000000);
-    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.<Integer>natural(), null);
+    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.natural(), null);
 
     for (int i = 0; i < values.size(); i++) {
       int droppedOffset = heap.addOffset(values.get(i));
@@ -148,7 +148,7 @@ public void testRandom2()
     ArrayList<Integer> deletedValues = Lists.newArrayList();
 
     ByteBuffer myBuffer = ByteBuffer.allocate(1000000);
-    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.<Integer>natural(), null);
+    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.natural(), null);
 
     for (int i = 0; i < values.size(); i++) {
       int droppedOffset = heap.addOffset(values.get(i));
@@ -202,7 +202,7 @@ public void testRemove()
     });
 
     ByteBuffer myBuffer = ByteBuffer.allocate(1000000);
-    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.<Integer>natural(), null);
+    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.natural(), null);
 
     for (Integer value : values) {
       heap.addOffset(value);
@@ -236,7 +236,7 @@ public void testRemove2()
     });
 
     ByteBuffer myBuffer = ByteBuffer.allocate(1000000);
-    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.<Integer>natural(), null);
+    ByteBufferMinMaxOffsetHeap heap = new ByteBufferMinMaxOffsetHeap(myBuffer, limit, Ordering.natural(), null);
 
     for (Integer value : values) {
       heap.addOffset(value);
diff --git a/processing/src/test/java/io/druid/query/groupby/epinephelinae/LimitedBufferHashGrouperTest.java b/processing/src/test/java/io/druid/query/groupby/epinephelinae/LimitedBufferHashGrouperTest.java
index 5142c3fc816..ee1a117d290 100644
--- a/processing/src/test/java/io/druid/query/groupby/epinephelinae/LimitedBufferHashGrouperTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/epinephelinae/LimitedBufferHashGrouperTest.java
@@ -49,7 +49,7 @@ public void testLimitAndBufferSwapping()
     final LimitedBufferHashGrouper<Integer> grouper = makeGrouper(columnSelectorFactory, 20000, 2, limit);
     final int numRows = 1000;
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 10L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 10L)));
     for (int i = 0; i < numRows; i++) {
       Assert.assertTrue(String.valueOf(i + keyBase), grouper.aggregate(i + keyBase).isOk());
     }
@@ -72,7 +72,7 @@ public void testLimitAndBufferSwapping()
     // Aggregate slightly different row
     // Since these keys are smaller, they will evict the previous 100 top entries
     // First 100 of these new rows will be the expected results.
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 11L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 11L)));
     for (int i = 0; i < numRows; i++) {
       Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
     }
@@ -113,7 +113,7 @@ public void testMinBufferSize()
     final LimitedBufferHashGrouper<Integer> grouper = makeGrouper(columnSelectorFactory, 11716, 2, limit);
     final int numRows = 1000;
 
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 10L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 10L)));
     for (int i = 0; i < numRows; i++) {
       Assert.assertTrue(String.valueOf(i + keyBase), grouper.aggregate(i + keyBase).isOk());
     }
@@ -128,7 +128,7 @@ public void testMinBufferSize()
     // Aggregate slightly different row
     // Since these keys are smaller, they will evict the previous 100 top entries
     // First 100 of these new rows will be the expected results.
-    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.<String, Object>of("value", 11L)));
+    columnSelectorFactory.setRow(new MapBasedRow(0, ImmutableMap.of("value", 11L)));
     for (int i = 0; i < numRows; i++) {
       Assert.assertTrue(String.valueOf(i), grouper.aggregate(i).isOk());
     }
diff --git a/processing/src/test/java/io/druid/query/groupby/having/DimFilterHavingSpecTest.java b/processing/src/test/java/io/druid/query/groupby/having/DimFilterHavingSpecTest.java
index d5f44cd0b29..c60c2d7904c 100644
--- a/processing/src/test/java/io/druid/query/groupby/having/DimFilterHavingSpecTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/having/DimFilterHavingSpecTest.java
@@ -51,8 +51,8 @@ public void testSimple()
     final DimFilterHavingSpec havingSpec = new DimFilterHavingSpec(new SelectorDimFilter("foo", "bar", null), null);
     havingSpec.setRowSignature(null);
 
-    Assert.assertTrue(havingSpec.eval(new MapBasedRow(0, ImmutableMap.<String, Object>of("foo", "bar"))));
-    Assert.assertFalse(havingSpec.eval(new MapBasedRow(0, ImmutableMap.<String, Object>of("foo", "baz"))));
+    Assert.assertTrue(havingSpec.eval(new MapBasedRow(0, ImmutableMap.of("foo", "bar"))));
+    Assert.assertFalse(havingSpec.eval(new MapBasedRow(0, ImmutableMap.of("foo", "baz"))));
   }
 
   @Test
@@ -61,8 +61,8 @@ public void testRowSignature()
     final DimFilterHavingSpec havingSpec = new DimFilterHavingSpec(new SelectorDimFilter("foo", "1", null), null);
     havingSpec.setRowSignature(ImmutableMap.of("foo", ValueType.LONG));
 
-    Assert.assertTrue(havingSpec.eval(new MapBasedRow(0, ImmutableMap.<String, Object>of("foo", 1L))));
-    Assert.assertFalse(havingSpec.eval(new MapBasedRow(0, ImmutableMap.<String, Object>of("foo", 2L))));
+    Assert.assertTrue(havingSpec.eval(new MapBasedRow(0, ImmutableMap.of("foo", 1L))));
+    Assert.assertFalse(havingSpec.eval(new MapBasedRow(0, ImmutableMap.of("foo", 2L))));
   }
 
   @Test(timeout = 60_000L)
@@ -74,7 +74,7 @@ public void testConcurrentUsage() throws Exception
     final List<Future<?>> futures = new ArrayList<>();
 
     for (int i = 0; i < 2; i++) {
-      final MapBasedRow row = new MapBasedRow(0, ImmutableMap.<String, Object>of("foo", String.valueOf(i)));
+      final MapBasedRow row = new MapBasedRow(0, ImmutableMap.of("foo", String.valueOf(i)));
       futures.add(
           exec.submit(
               new Runnable()
diff --git a/processing/src/test/java/io/druid/query/groupby/having/DimensionSelectorHavingSpecTest.java b/processing/src/test/java/io/druid/query/groupby/having/DimensionSelectorHavingSpecTest.java
index 9b2afdbe2a2..fc56a86ae92 100644
--- a/processing/src/test/java/io/druid/query/groupby/having/DimensionSelectorHavingSpecTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/having/DimensionSelectorHavingSpecTest.java
@@ -51,7 +51,7 @@ public void testDimSelectorHavingClauseSerde()
   {
     HavingSpec dimHavingSpec = new DimensionSelectorHavingSpec("dim", "v", null);
 
-    Map<String, Object> dimSelectMap = ImmutableMap.<String, Object>of(
+    Map<String, Object> dimSelectMap = ImmutableMap.of(
         "type", "dimSelector",
         "dimension", "dim",
         "value", "v"
diff --git a/processing/src/test/java/io/druid/query/groupby/having/HavingSpecTest.java b/processing/src/test/java/io/druid/query/groupby/having/HavingSpecTest.java
index 1ba9d74d8c1..74e0191b4a6 100644
--- a/processing/src/test/java/io/druid/query/groupby/having/HavingSpecTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/having/HavingSpecTest.java
@@ -49,10 +49,10 @@
   @Test
   public void testHavingClauseSerde()
   {
-    List<HavingSpec> havings = Arrays.<HavingSpec>asList(
+    List<HavingSpec> havings = Arrays.asList(
         new GreaterThanHavingSpec("agg", Double.valueOf(1.3)),
         new OrHavingSpec(
-            Arrays.<HavingSpec>asList(
+            Arrays.asList(
                 new LessThanHavingSpec("lessAgg", Long.valueOf(1L)),
                 new NotHavingSpec(new EqualToHavingSpec("equalAgg", Double.valueOf(2)))
             )
@@ -61,29 +61,29 @@ public void testHavingClauseSerde()
 
     HavingSpec andHavingSpec = new AndHavingSpec(havings);
 
-    Map<String, Object> notMap = ImmutableMap.<String, Object>of(
+    Map<String, Object> notMap = ImmutableMap.of(
         "type", "not",
         "havingSpec", ImmutableMap.of("type", "equalTo", "aggregation", "equalAgg", "value", 2.0)
     );
 
-    Map<String, Object> lessMap = ImmutableMap.<String, Object>of(
+    Map<String, Object> lessMap = ImmutableMap.of(
         "type", "lessThan",
         "aggregation", "lessAgg",
         "value", 1
     );
 
-    Map<String, Object> greaterMap = ImmutableMap.<String, Object>of(
+    Map<String, Object> greaterMap = ImmutableMap.of(
         "type", "greaterThan",
         "aggregation", "agg",
         "value", 1.3
     );
 
-    Map<String, Object> orMap = ImmutableMap.<String, Object>of(
+    Map<String, Object> orMap = ImmutableMap.of(
         "type", "or",
         "havingSpecs", ImmutableList.of(lessMap, notMap)
     );
 
-    Map<String, Object> payloadMap = ImmutableMap.<String, Object>of(
+    Map<String, Object> payloadMap = ImmutableMap.of(
         "type", "and",
         "havingSpecs", ImmutableList.of(greaterMap, orMap)
     );
@@ -95,7 +95,7 @@ public void testHavingClauseSerde()
   @Test(expected = IllegalArgumentException.class)
   public void testTypeTypo()
   {
-    Map<String, Object> greaterMap = ImmutableMap.<String, Object>of(
+    Map<String, Object> greaterMap = ImmutableMap.of(
         "type", "nonExistingType",
         "aggregation", "agg",
         "value", 1.3
diff --git a/processing/src/test/java/io/druid/query/groupby/orderby/DefaultLimitSpecTest.java b/processing/src/test/java/io/druid/query/groupby/orderby/DefaultLimitSpecTest.java
index de52c8da26e..a3c5580bb79 100644
--- a/processing/src/test/java/io/druid/query/groupby/orderby/DefaultLimitSpecTest.java
+++ b/processing/src/test/java/io/druid/query/groupby/orderby/DefaultLimitSpecTest.java
@@ -30,14 +30,11 @@
 import io.druid.java.util.common.granularity.Granularities;
 import io.druid.java.util.common.guava.Sequence;
 import io.druid.java.util.common.guava.Sequences;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.aggregation.post.ArithmeticPostAggregator;
 import io.druid.query.aggregation.post.ConstantPostAggregator;
 import io.druid.query.aggregation.post.ExpressionPostAggregator;
 import io.druid.query.dimension.DefaultDimensionSpec;
-import io.druid.query.dimension.DimensionSpec;
 import io.druid.query.expression.TestExprMacroTable;
 import io.druid.query.ordering.StringComparators;
 import io.druid.segment.TestHelper;
@@ -154,14 +151,14 @@ public void testSerde() throws Exception
   public void testBuildSimple()
   {
     DefaultLimitSpec limitSpec = new DefaultLimitSpec(
-        ImmutableList.<OrderByColumnSpec>of(),
+        ImmutableList.of(),
         2
     );
 
     Function<Sequence<Row>, Sequence<Row>> limitFn = limitSpec.build(
-        ImmutableList.<DimensionSpec>of(),
-        ImmutableList.<AggregatorFactory>of(),
-        ImmutableList.<PostAggregator>of(),
+        ImmutableList.of(),
+        ImmutableList.of(),
+        ImmutableList.of(),
         Granularities.NONE,
         false
     );
@@ -225,9 +222,9 @@ public void testSortDimensionDescending()
     );
 
     Function<Sequence<Row>, Sequence<Row>> limitFn = limitSpec.build(
-        ImmutableList.<DimensionSpec>of(new DefaultDimensionSpec("k1", "k1")),
-        ImmutableList.<AggregatorFactory>of(),
-        ImmutableList.<PostAggregator>of(),
+        ImmutableList.of(new DefaultDimensionSpec("k1", "k1")),
+        ImmutableList.of(),
+        ImmutableList.of(),
         Granularities.NONE,
         false
     );
@@ -251,13 +248,13 @@ public void testBuildWithExplicitOrder()
     );
 
     Function<Sequence<Row>, Sequence<Row>> limitFn = limitSpec.build(
-        ImmutableList.<DimensionSpec>of(
+        ImmutableList.of(
             new DefaultDimensionSpec("k1", "k1")
         ),
-        ImmutableList.<AggregatorFactory>of(
+        ImmutableList.of(
             new LongSumAggregatorFactory("k2", "k2")
         ),
-        ImmutableList.<PostAggregator>of(
+        ImmutableList.of(
             new ConstantPostAggregator("k3", 1L)
         ),
         Granularities.NONE,
@@ -270,13 +267,13 @@ public void testBuildWithExplicitOrder()
 
     // if there is an aggregator with same name then that is used to build ordering
     limitFn = limitSpec.build(
-        ImmutableList.<DimensionSpec>of(
+        ImmutableList.of(
             new DefaultDimensionSpec("k1", "k1")
         ),
-        ImmutableList.<AggregatorFactory>of(
+        ImmutableList.of(
             new LongSumAggregatorFactory("k1", "k1")
         ),
-        ImmutableList.<PostAggregator>of(
+        ImmutableList.of(
             new ConstantPostAggregator("k3", 1L)
         ),
         Granularities.NONE,
@@ -289,17 +286,17 @@ public void testBuildWithExplicitOrder()
 
     // if there is a post-aggregator with same name then that is used to build ordering
     limitFn = limitSpec.build(
-        ImmutableList.<DimensionSpec>of(
+        ImmutableList.of(
             new DefaultDimensionSpec("k1", "k1")
         ),
-        ImmutableList.<AggregatorFactory>of(
+        ImmutableList.of(
             new LongSumAggregatorFactory("k2", "k2")
         ),
-        ImmutableList.<PostAggregator>of(
+        ImmutableList.of(
             new ArithmeticPostAggregator(
                 "k1",
                 "+",
-                ImmutableList.<PostAggregator>of(
+                ImmutableList.of(
                     new ConstantPostAggregator("x", 1),
                     new ConstantPostAggregator("y", 1))
             )
@@ -314,9 +311,9 @@ public void testBuildWithExplicitOrder()
 
     // makes same result
     limitFn = limitSpec.build(
-        ImmutableList.<DimensionSpec>of(new DefaultDimensionSpec("k1", "k1")),
-        ImmutableList.<AggregatorFactory>of(new LongSumAggregatorFactory("k2", "k2")),
-        ImmutableList.<PostAggregator>of(new ExpressionPostAggregator("k1", "1 + 1", null, TestExprMacroTable.INSTANCE)),
+        ImmutableList.of(new DefaultDimensionSpec("k1", "k1")),
+        ImmutableList.of(new LongSumAggregatorFactory("k2", "k2")),
+        ImmutableList.of(new ExpressionPostAggregator("k1", "1 + 1", null, TestExprMacroTable.INSTANCE)),
         Granularities.NONE,
         false
     );
diff --git a/processing/src/test/java/io/druid/query/lookup/LookupExtractorTest.java b/processing/src/test/java/io/druid/query/lookup/LookupExtractorTest.java
index d3ad1aa382e..a8f98dec8cf 100644
--- a/processing/src/test/java/io/druid/query/lookup/LookupExtractorTest.java
+++ b/processing/src/test/java/io/druid/query/lookup/LookupExtractorTest.java
@@ -52,9 +52,9 @@
       "value1",
       Arrays.asList("key1", "key-1"),
       "value2",
-      Arrays.asList("key2"),
+      Collections.singletonList("key2"),
       "emptyString",
-      Arrays.asList("")
+      Collections.singletonList("")
   );
   LookupExtractor lookupExtractor = new MapLookupExtractor(EXPECTED_MAP, false);
 
@@ -80,7 +80,7 @@ public void testApplyAllWithNull()
   @Test
   public void testApplyAllWithEmptySet()
   {
-    Assert.assertEquals(Collections.emptyMap(), lookupExtractor.applyAll(Collections.<String>emptySet()));
+    Assert.assertEquals(Collections.emptyMap(), lookupExtractor.applyAll(Collections.emptySet()));
   }
 
   @Test
@@ -100,7 +100,7 @@ public void testUnapplyAllWithNull()
   @Test
   public void testunapplyAllWithEmptySet()
   {
-    Assert.assertEquals(Collections.emptyMap(), lookupExtractor.unapplyAll(Collections.<String>emptySet()));
+    Assert.assertEquals(Collections.emptyMap(), lookupExtractor.unapplyAll(Collections.emptySet()));
   }
 
   @Test
diff --git a/processing/src/test/java/io/druid/query/metadata/SegmentAnalyzerTest.java b/processing/src/test/java/io/druid/query/metadata/SegmentAnalyzerTest.java
index be4a5d56d5a..9c017d9cce8 100644
--- a/processing/src/test/java/io/druid/query/metadata/SegmentAnalyzerTest.java
+++ b/processing/src/test/java/io/druid/query/metadata/SegmentAnalyzerTest.java
@@ -136,7 +136,7 @@ private void testMappedWorksHelper(EnumSet<SegmentMetadataQuery.AnalysisType> an
     for (DimensionSchema schema : TestIndex.DIMENSION_SCHEMAS) {
       final String dimension = schema.getName();
       final ColumnAnalysis columnAnalysis = columns.get(dimension);
-      if (dimension.equals("null_column")) {
+      if ("null_column".equals(dimension)) {
         Assert.assertNull(columnAnalysis);
       } else {
         final boolean isString = schema.getValueType().name().equals(ValueType.STRING.name());
diff --git a/processing/src/test/java/io/druid/query/metadata/SegmentMetadataQueryQueryToolChestTest.java b/processing/src/test/java/io/druid/query/metadata/SegmentMetadataQueryQueryToolChestTest.java
index c45e6554368..2c417fd4350 100644
--- a/processing/src/test/java/io/druid/query/metadata/SegmentMetadataQueryQueryToolChestTest.java
+++ b/processing/src/test/java/io/druid/query/metadata/SegmentMetadataQueryQueryToolChestTest.java
@@ -113,7 +113,7 @@ public void testMergeAggregators()
     final SegmentAnalysis analysis1 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         ImmutableMap.of(
@@ -127,7 +127,7 @@ public void testMergeAggregators()
     final SegmentAnalysis analysis2 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         ImmutableMap.of(
@@ -163,7 +163,7 @@ public void testMergeAggregatorsOneNull()
     final SegmentAnalysis analysis1 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         null,
@@ -174,7 +174,7 @@ public void testMergeAggregatorsOneNull()
     final SegmentAnalysis analysis2 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         ImmutableMap.of(
@@ -202,7 +202,7 @@ public void testMergeAggregatorsAllNull()
     final SegmentAnalysis analysis1 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         null,
@@ -213,7 +213,7 @@ public void testMergeAggregatorsAllNull()
     final SegmentAnalysis analysis2 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         null,
@@ -232,7 +232,7 @@ public void testMergeAggregatorsConflict()
     final SegmentAnalysis analysis1 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         ImmutableMap.of(
@@ -246,7 +246,7 @@ public void testMergeAggregatorsConflict()
     final SegmentAnalysis analysis2 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         ImmutableMap.of(
@@ -314,7 +314,7 @@ public void testMergeRollup()
     final SegmentAnalysis analysis1 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         null,
@@ -325,7 +325,7 @@ public void testMergeRollup()
     final SegmentAnalysis analysis2 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         null,
@@ -336,7 +336,7 @@ public void testMergeRollup()
     final SegmentAnalysis analysis3 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         null,
@@ -347,7 +347,7 @@ public void testMergeRollup()
     final SegmentAnalysis analysis4 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         null,
@@ -358,7 +358,7 @@ public void testMergeRollup()
     final SegmentAnalysis analysis5 = new SegmentAnalysis(
         "id",
         null,
-        Maps.<String, ColumnAnalysis>newHashMap(),
+        Maps.newHashMap(),
         0,
         0,
         null,
diff --git a/processing/src/test/java/io/druid/query/metadata/SegmentMetadataQueryTest.java b/processing/src/test/java/io/druid/query/metadata/SegmentMetadataQueryTest.java
index decb377a51e..4c7225d2431 100644
--- a/processing/src/test/java/io/druid/query/metadata/SegmentMetadataQueryTest.java
+++ b/processing/src/test/java/io/druid/query/metadata/SegmentMetadataQueryTest.java
@@ -62,6 +62,7 @@
 
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
@@ -258,7 +259,7 @@ public void testSegmentMetadataQuery()
   {
     List<SegmentAnalysis> results = runner1.run(QueryPlus.wrap(testQuery), Maps.newHashMap()).toList();
 
-    Assert.assertEquals(Arrays.asList(expectedSegmentAnalysis1), results);
+    Assert.assertEquals(Collections.singletonList(expectedSegmentAnalysis1), results);
   }
 
   @Test
@@ -304,7 +305,7 @@ public void testSegmentMetadataQueryWithRollupMerge()
         toolChest.mergeResults(
             FACTORY.mergeRunners(
                 MoreExecutors.sameThreadExecutor(),
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(
+                Lists.newArrayList(
                     toolChest.preMergeQueryDecoration(runner1),
                     toolChest.preMergeQueryDecoration(runner2)
                 )
@@ -372,7 +373,7 @@ public void testSegmentMetadataQueryWithHasMultipleValuesMerge()
         toolChest.mergeResults(
             FACTORY.mergeRunners(
                 MoreExecutors.sameThreadExecutor(),
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(
+                Lists.newArrayList(
                     toolChest.preMergeQueryDecoration(runner1),
                     toolChest.preMergeQueryDecoration(runner2)
                 )
@@ -440,7 +441,7 @@ public void testSegmentMetadataQueryWithComplexColumnMerge()
         toolChest.mergeResults(
             FACTORY.mergeRunners(
                 MoreExecutors.sameThreadExecutor(),
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(
+                Lists.newArrayList(
                     toolChest.preMergeQueryDecoration(runner1),
                     toolChest.preMergeQueryDecoration(runner2)
                 )
@@ -557,7 +558,7 @@ private void testSegmentMetadataQueryWithDefaultAnalysisMerge(
         toolChest.mergeResults(
             FACTORY.mergeRunners(
                 MoreExecutors.sameThreadExecutor(),
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(
+                Lists.newArrayList(
                     toolChest.preMergeQueryDecoration(runner1),
                     toolChest.preMergeQueryDecoration(runner2)
                 )
@@ -609,7 +610,7 @@ public void testSegmentMetadataQueryWithNoAnalysisTypesMerge()
         toolChest.mergeResults(
             FACTORY.mergeRunners(
                 MoreExecutors.sameThreadExecutor(),
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(
+                Lists.newArrayList(
                     toolChest.preMergeQueryDecoration(runner1),
                     toolChest.preMergeQueryDecoration(runner2)
                 )
@@ -622,7 +623,7 @@ public void testSegmentMetadataQueryWithNoAnalysisTypesMerge()
         .newSegmentMetadataQueryBuilder()
         .dataSource("testing")
         .intervals("2013/2014")
-        .toInclude(new ListColumnIncluderator(Arrays.asList("placement")))
+        .toInclude(new ListColumnIncluderator(Collections.singletonList("placement")))
         .analysisTypes()
         .merge(true)
         .build();
@@ -671,7 +672,7 @@ public void testSegmentMetadataQueryWithAggregatorsMerge()
         toolChest.mergeResults(
             FACTORY.mergeRunners(
                 MoreExecutors.sameThreadExecutor(),
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(
+                Lists.newArrayList(
                     toolChest.preMergeQueryDecoration(runner1),
                     toolChest.preMergeQueryDecoration(runner2)
                 )
@@ -684,7 +685,7 @@ public void testSegmentMetadataQueryWithAggregatorsMerge()
         .newSegmentMetadataQueryBuilder()
         .dataSource("testing")
         .intervals("2013/2014")
-        .toInclude(new ListColumnIncluderator(Arrays.asList("placement")))
+        .toInclude(new ListColumnIncluderator(Collections.singletonList("placement")))
         .analysisTypes(SegmentMetadataQuery.AnalysisType.AGGREGATORS)
         .merge(true)
         .build();
@@ -729,7 +730,7 @@ public void testSegmentMetadataQueryWithTimestampSpecMerge()
         toolChest.mergeResults(
             FACTORY.mergeRunners(
                 MoreExecutors.sameThreadExecutor(),
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(
+                Lists.newArrayList(
                     toolChest.preMergeQueryDecoration(runner1),
                     toolChest.preMergeQueryDecoration(runner2)
                 )
@@ -742,7 +743,7 @@ public void testSegmentMetadataQueryWithTimestampSpecMerge()
         .newSegmentMetadataQueryBuilder()
         .dataSource("testing")
         .intervals("2013/2014")
-        .toInclude(new ListColumnIncluderator(Arrays.asList("placement")))
+        .toInclude(new ListColumnIncluderator(Collections.singletonList("placement")))
         .analysisTypes(SegmentMetadataQuery.AnalysisType.TIMESTAMPSPEC)
         .merge(true)
         .build();
@@ -787,7 +788,7 @@ public void testSegmentMetadataQueryWithQueryGranularityMerge()
         toolChest.mergeResults(
             FACTORY.mergeRunners(
                 MoreExecutors.sameThreadExecutor(),
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(
+                Lists.newArrayList(
                     toolChest.preMergeQueryDecoration(runner1),
                     toolChest.preMergeQueryDecoration(runner2)
                 )
@@ -800,7 +801,7 @@ public void testSegmentMetadataQueryWithQueryGranularityMerge()
         .newSegmentMetadataQueryBuilder()
         .dataSource("testing")
         .intervals("2013/2014")
-        .toInclude(new ListColumnIncluderator(Arrays.asList("placement")))
+        .toInclude(new ListColumnIncluderator(Collections.singletonList("placement")))
         .analysisTypes(SegmentMetadataQuery.AnalysisType.QUERYGRANULARITY)
         .merge(true)
         .build();
@@ -818,7 +819,7 @@ public void testBySegmentResults()
     Result<BySegmentResultValue> bySegmentResult = new Result<BySegmentResultValue>(
         expectedSegmentAnalysis1.getIntervals().get(0).getStart(),
         new BySegmentResultValueClass(
-            Arrays.asList(
+            Collections.singletonList(
                 expectedSegmentAnalysis1
             ), expectedSegmentAnalysis1.getId(), testQuery.getIntervals().get(0)
         )
@@ -835,7 +836,7 @@ public void testBySegmentResults()
                 //Note: It is essential to have atleast 2 query runners merged to reproduce the regression bug described in
                 //https://github.com/druid-io/druid/pull/1172
                 //the bug surfaces only when ordering is used which happens only when you have 2 things to compare
-                Lists.<QueryRunner<SegmentAnalysis>>newArrayList(singleSegmentQueryRunner, singleSegmentQueryRunner)
+                Lists.newArrayList(singleSegmentQueryRunner, singleSegmentQueryRunner)
             )
         ),
         toolChest
@@ -844,7 +845,7 @@ public void testBySegmentResults()
     TestHelper.assertExpectedObjects(
         ImmutableList.of(bySegmentResult, bySegmentResult),
         myRunner.run(
-            QueryPlus.wrap(testQuery.withOverriddenContext(ImmutableMap.<String, Object>of("bySegment", true))),
+            QueryPlus.wrap(testQuery.withOverriddenContext(ImmutableMap.of("bySegment", true))),
             Maps.newHashMap()
         ),
         "failed SegmentMetadata bySegment query"
@@ -905,7 +906,7 @@ public void testDefaultIntervalAndFiltering()
   {
     SegmentMetadataQuery testQuery = Druids.newSegmentMetadataQueryBuilder()
                                            .dataSource("testing")
-                                           .toInclude(new ListColumnIncluderator(Arrays.asList("placement")))
+                                           .toInclude(new ListColumnIncluderator(Collections.singletonList("placement")))
                                            .merge(true)
                                            .build();
     /* No interval specified, should use default interval */
@@ -1075,7 +1076,7 @@ public void testCacheKeyWithListColumnIncluderator()
   {
     SegmentMetadataQuery oneColumnQuery = Druids.newSegmentMetadataQueryBuilder()
                                                 .dataSource("testing")
-                                                .toInclude(new ListColumnIncluderator(Arrays.asList("foo")))
+                                                .toInclude(new ListColumnIncluderator(Collections.singletonList("foo")))
                                                 .build();
 
     SegmentMetadataQuery twoColumnQuery = Druids.newSegmentMetadataQueryBuilder()
@@ -1102,12 +1103,12 @@ public void testAnanlysisTypesBeingSet()
 
     SegmentMetadataQuery query1 = Druids.newSegmentMetadataQueryBuilder()
                                         .dataSource("testing")
-                                        .toInclude(new ListColumnIncluderator(Arrays.asList("foo")))
+                                        .toInclude(new ListColumnIncluderator(Collections.singletonList("foo")))
                                         .build();
 
     SegmentMetadataQuery query2 = Druids.newSegmentMetadataQueryBuilder()
                                         .dataSource("testing")
-                                        .toInclude(new ListColumnIncluderator(Arrays.asList("foo")))
+                                        .toInclude(new ListColumnIncluderator(Collections.singletonList("foo")))
                                         .analysisTypes(SegmentMetadataQuery.AnalysisType.MINMAX)
                                         .build();
 
diff --git a/processing/src/test/java/io/druid/query/scan/MultiSegmentScanQueryTest.java b/processing/src/test/java/io/druid/query/scan/MultiSegmentScanQueryTest.java
index 95c8bf6eace..1c4b11699f5 100644
--- a/processing/src/test/java/io/druid/query/scan/MultiSegmentScanQueryTest.java
+++ b/processing/src/test/java/io/druid/query/scan/MultiSegmentScanQueryTest.java
@@ -54,6 +54,7 @@
 
 import java.io.IOException;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -184,7 +185,7 @@ public MultiSegmentScanQueryTest(int limit, int batchSize)
                     .dataSource(new TableDataSource(QueryRunnerTestHelper.dataSource))
                     .intervals(SelectQueryRunnerTest.I_0112_0114)
                     .batchSize(batchSize)
-                    .columns(Arrays.<String>asList())
+                    .columns(Collections.emptyList())
                     .legacy(false)
                     .limit(limit);
   }
diff --git a/processing/src/test/java/io/druid/query/scan/ScanQueryRunnerTest.java b/processing/src/test/java/io/druid/query/scan/ScanQueryRunnerTest.java
index a3710044b7c..8347423edd4 100644
--- a/processing/src/test/java/io/druid/query/scan/ScanQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/scan/ScanQueryRunnerTest.java
@@ -40,7 +40,6 @@
 import io.druid.query.expression.TestExprMacroTable;
 import io.druid.query.extraction.MapLookupExtractor;
 import io.druid.query.filter.AndDimFilter;
-import io.druid.query.filter.DimFilter;
 import io.druid.query.filter.SelectorDimFilter;
 import io.druid.query.lookup.LookupExtractionFn;
 import io.druid.query.spec.LegacySegmentSpec;
@@ -141,7 +140,7 @@ public ScanQueryRunnerTest(final QueryRunner runner, final boolean legacy)
   {
     return ScanQuery.newScanQueryBuilder()
                     .dataSource(new TableDataSource(QueryRunnerTestHelper.dataSource))
-                    .columns(Arrays.<String>asList())
+                    .columns(Collections.emptyList())
                     .intervals(QueryRunnerTestHelper.fullOnInterval)
                     .limit(3)
                     .legacy(legacy);
@@ -421,7 +420,7 @@ public void testSelectWithFilterLookupExtractionFn()
     Iterable<ScanResultValue> results = runner.run(QueryPlus.wrap(query), Maps.newHashMap()).toList();
     Iterable<ScanResultValue> resultsOptimize = toolChest
         .postMergeQueryDecoration(toolChest.mergeResults(toolChest.preMergeQueryDecoration(runner)))
-        .run(QueryPlus.wrap(query), Maps.<String, Object>newHashMap())
+        .run(QueryPlus.wrap(query), Maps.newHashMap())
         .toList();
 
     final List<List<Map<String, Object>>> events = toEvents(
@@ -469,7 +468,7 @@ public void testFullSelectNoResults()
         .intervals(I_0112_0114)
         .filters(
             new AndDimFilter(
-                Arrays.<DimFilter>asList(
+                Arrays.asList(
                     new SelectorDimFilter(QueryRunnerTestHelper.marketDimension, "spot", null),
                     new SelectorDimFilter(QueryRunnerTestHelper.marketDimension, "foo", null)
                 )
diff --git a/processing/src/test/java/io/druid/query/scan/ScanQuerySpecTest.java b/processing/src/test/java/io/druid/query/scan/ScanQuerySpecTest.java
index b362d45195d..6ebf653f26c 100644
--- a/processing/src/test/java/io/druid/query/scan/ScanQuerySpecTest.java
+++ b/processing/src/test/java/io/druid/query/scan/ScanQuerySpecTest.java
@@ -68,7 +68,7 @@ public void testSerializationLegacyString() throws Exception
         0,
         3,
         null,
-        Arrays.<String>asList("market", "quality", "index"),
+        Arrays.asList("market", "quality", "index"),
         null,
         null
     );
diff --git a/processing/src/test/java/io/druid/query/search/SearchBinaryFnTest.java b/processing/src/test/java/io/druid/query/search/SearchBinaryFnTest.java
index 65b55b3b3e8..c68d8472234 100644
--- a/processing/src/test/java/io/druid/query/search/SearchBinaryFnTest.java
+++ b/processing/src/test/java/io/druid/query/search/SearchBinaryFnTest.java
@@ -59,7 +59,7 @@ public void testMerge()
     Result<SearchResultValue> r1 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -71,7 +71,7 @@ public void testMerge()
     Result<SearchResultValue> r2 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah2",
                     "foo2"
@@ -83,7 +83,7 @@ public void testMerge()
     Result<SearchResultValue> expected = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -107,7 +107,7 @@ public void testMergeDay()
     Result<SearchResultValue> r1 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -119,7 +119,7 @@ public void testMergeDay()
     Result<SearchResultValue> r2 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah2",
                     "foo2"
@@ -131,7 +131,7 @@ public void testMergeDay()
     Result<SearchResultValue> expected = new Result<SearchResultValue>(
         Granularities.DAY.bucketStart(currTime),
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -155,7 +155,7 @@ public void testMergeOneResultNull()
     Result<SearchResultValue> r1 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -179,7 +179,7 @@ public void testMergeShiftedTimestamp()
     Result<SearchResultValue> r1 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -191,7 +191,7 @@ public void testMergeShiftedTimestamp()
     Result<SearchResultValue> r2 = new Result<SearchResultValue>(
         currTime.plusHours(2),
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah2",
                     "foo2"
@@ -203,7 +203,7 @@ public void testMergeShiftedTimestamp()
     Result<SearchResultValue> expected = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -318,7 +318,7 @@ public void testMergeUniqueResults()
     Result<SearchResultValue> r1 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -342,7 +342,7 @@ public void testMergeLimit()
     Result<SearchResultValue> r1 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah",
                     "foo"
@@ -354,7 +354,7 @@ public void testMergeLimit()
     Result<SearchResultValue> r2 = new Result<SearchResultValue>(
         currTime,
         new SearchResultValue(
-            ImmutableList.<SearchHit>of(
+            ImmutableList.of(
                 new SearchHit(
                     "blah2",
                     "foo2"
@@ -374,7 +374,7 @@ public void testMergeCountWithNull()
     Result<SearchResultValue> r1 = new Result<SearchResultValue>(
             currTime,
             new SearchResultValue(
-                    ImmutableList.<SearchHit>of(
+                    ImmutableList.of(
                             new SearchHit(
                                     "blah",
                                     "foo"
@@ -386,7 +386,7 @@ public void testMergeCountWithNull()
     Result<SearchResultValue> r2 = new Result<SearchResultValue>(
             currTime,
             new SearchResultValue(
-                    ImmutableList.<SearchHit>of(
+                    ImmutableList.of(
                             new SearchHit(
                                     "blah",
                                     "foo",
diff --git a/processing/src/test/java/io/druid/query/search/SearchQueryRunnerTest.java b/processing/src/test/java/io/druid/query/search/SearchQueryRunnerTest.java
index 08c4da5cd8b..6217ac65db8 100644
--- a/processing/src/test/java/io/druid/query/search/SearchQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/search/SearchQueryRunnerTest.java
@@ -398,7 +398,7 @@ public void testSearchWithSingleFilter1()
               .granularity(QueryRunnerTestHelper.allGran)
               .filters(
                   new AndDimFilter(
-                      Arrays.<DimFilter>asList(
+                      Arrays.asList(
                           new SelectorDimFilter(QueryRunnerTestHelper.marketDimension, "total_market", null),
                           new SelectorDimFilter(QueryRunnerTestHelper.qualityDimension, "mezzanine", null)
                       )))
@@ -721,14 +721,14 @@ public void testSearchWithNullValueInDimension() throws Exception
         new MapBasedInputRow(
             1481871600000L,
             Arrays.asList("name", "host"),
-            ImmutableMap.<String, Object>of("name", "name1", "host", "host")
+            ImmutableMap.of("name", "name1", "host", "host")
         )
     );
     index.add(
         new MapBasedInputRow(
             1481871670000L,
             Arrays.asList("name", "table"),
-            ImmutableMap.<String, Object>of("name", "name2", "table", "table")
+            ImmutableMap.of("name", "name2", "table", "table")
         )
     );
 
@@ -740,7 +740,7 @@ public void testSearchWithNullValueInDimension() throws Exception
                                     .granularity(QueryRunnerTestHelper.allGran)
                                     .intervals(QueryRunnerTestHelper.fullOnInterval)
                                     // simulate when cardinality is big enough to fallback to cursorOnly strategy
-                                    .context(ImmutableMap.<String, Object>of("searchStrategy", "cursorOnly"))
+                                    .context(ImmutableMap.of("searchStrategy", "cursorOnly"))
                                     .build();
 
     QueryRunnerFactory factory = new SearchQueryRunnerFactory(
diff --git a/processing/src/test/java/io/druid/query/search/SearchQueryRunnerWithCaseTest.java b/processing/src/test/java/io/druid/query/search/SearchQueryRunnerWithCaseTest.java
index 86c77aa1b19..cef7bcd7a0d 100644
--- a/processing/src/test/java/io/druid/query/search/SearchQueryRunnerWithCaseTest.java
+++ b/processing/src/test/java/io/druid/query/search/SearchQueryRunnerWithCaseTest.java
@@ -41,6 +41,7 @@
 import org.junit.runners.Parameterized;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -193,7 +194,7 @@ public void testSearchIntervals()
   {
     SearchQuery searchQuery;
     Druids.SearchQueryBuilder builder = testBuilder()
-        .dimensions(Arrays.asList(qualityDimension))
+        .dimensions(Collections.singletonList(qualityDimension))
         .intervals("2011-01-12T00:00:00.000Z/2011-01-13T00:00:00.000Z");
     Map<String, Set<String>> expectedResults = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
 
@@ -207,12 +208,12 @@ public void testSearchNoOverrappingIntervals()
   {
     SearchQuery searchQuery;
     Druids.SearchQueryBuilder builder = testBuilder()
-        .dimensions(Arrays.asList(qualityDimension))
+        .dimensions(Collections.singletonList(qualityDimension))
         .intervals("2011-01-10T00:00:00.000Z/2011-01-11T00:00:00.000Z");
     Map<String, Set<String>> expectedResults = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
 
     searchQuery = builder.query("business").build();
-    expectedResults.put(qualityDimension, Sets.<String>newHashSet());
+    expectedResults.put(qualityDimension, Sets.newHashSet());
     checkSearchQuery(searchQuery, expectedResults);
   }
 
diff --git a/processing/src/test/java/io/druid/query/select/MultiSegmentSelectQueryTest.java b/processing/src/test/java/io/druid/query/select/MultiSegmentSelectQueryTest.java
index b977a8762cd..9b00a3666e3 100644
--- a/processing/src/test/java/io/druid/query/select/MultiSegmentSelectQueryTest.java
+++ b/processing/src/test/java/io/druid/query/select/MultiSegmentSelectQueryTest.java
@@ -62,6 +62,7 @@
 
 import java.io.IOException;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -254,7 +255,7 @@ private void runAllGranularityTest(SelectQuery query, int[][] expectedOffsets)
       SelectResultValue value = results.get(0).getValue();
       Map<String, Integer> pagingIdentifiers = value.getPagingIdentifiers();
 
-      Map<String, Integer> merged = PagingSpec.merge(Arrays.asList(pagingIdentifiers));
+      Map<String, Integer> merged = PagingSpec.merge(Collections.singletonList(pagingIdentifiers));
 
       for (int i = 0; i < 4; i++) {
         if (query.isDescending() ^ expected[i] >= 0) {
@@ -337,7 +338,7 @@ public void testPagingIdentifiersForUnionDatasource()
     List<Result<SelectResultValue>> results = unionQueryRunner.run(QueryPlus.wrap(query), ImmutableMap.of()).toList();
 
     Map<String, Integer> pagingIdentifiers = results.get(0).getValue().getPagingIdentifiers();
-    query = query.withPagingSpec(toNextCursor(PagingSpec.merge(Arrays.asList(pagingIdentifiers)), query, 3));
+    query = query.withPagingSpec(toNextCursor(PagingSpec.merge(Collections.singletonList(pagingIdentifiers)), query, 3));
 
     unionQueryRunner.run(QueryPlus.wrap(query), ImmutableMap.of()).toList();
   }
diff --git a/processing/src/test/java/io/druid/query/select/SelectBinaryFnTest.java b/processing/src/test/java/io/druid/query/select/SelectBinaryFnTest.java
index c42abd0195f..f75c6e8a705 100644
--- a/processing/src/test/java/io/druid/query/select/SelectBinaryFnTest.java
+++ b/processing/src/test/java/io/druid/query/select/SelectBinaryFnTest.java
@@ -52,14 +52,14 @@ public void testApply()
     Result<SelectResultValue> res1 = new Result<>(
         DateTimes.of("2013-01-01"),
         new SelectResultValue(
-            ImmutableMap.<String, Integer>of(),
+            ImmutableMap.of(),
             Sets.newHashSet("first", "fourth"),
             Sets.newHashSet("sixth"),
             Arrays.asList(
                 new EventHolder(
                     segmentId1,
                     0,
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         EventHolder.timestampKey,
                         DateTimes.of("2013-01-01T00"),
                         "dim",
@@ -69,7 +69,7 @@ public void testApply()
                 new EventHolder(
                     segmentId1,
                     1,
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         EventHolder.timestampKey,
                         DateTimes.of("2013-01-01T03"),
                         "dim",
@@ -79,7 +79,7 @@ public void testApply()
                 new EventHolder(
                     segmentId1,
                     2,
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         EventHolder.timestampKey,
                         DateTimes.of("2013-01-01T05"),
                         "dim",
@@ -94,14 +94,14 @@ public void testApply()
     Result<SelectResultValue> res2 = new Result<>(
         DateTimes.of("2013-01-01"),
         new SelectResultValue(
-            ImmutableMap.<String, Integer>of(),
+            ImmutableMap.of(),
             Sets.newHashSet("second", "third"),
             Sets.newHashSet("fifth"),
             Arrays.asList(
                 new EventHolder(
                     segmentId2,
                     0,
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         EventHolder.timestampKey,
                         DateTimes.of("2013-01-01T00"),
                         "dim",
@@ -111,7 +111,7 @@ public void testApply()
                 new EventHolder(
                     segmentId2,
                     1,
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         EventHolder.timestampKey,
                         DateTimes.of("2013-01-01T02"),
                         "dim",
@@ -121,7 +121,7 @@ public void testApply()
                 new EventHolder(
                     segmentId2,
                     2,
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         EventHolder.timestampKey,
                         DateTimes.of("2013-01-01T04"),
                         "dim",
@@ -153,11 +153,11 @@ public void testApply()
 
     verifyIters(exOffsetIter, acOffsetIter);
 
-    List<EventHolder> exEvents = Arrays.<EventHolder>asList(
+    List<EventHolder> exEvents = Arrays.asList(
         new EventHolder(
             segmentId1,
             0,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 EventHolder.timestampKey,
                 DateTimes.of("2013-01-01T00"), "dim", "first"
             )
@@ -165,7 +165,7 @@ public void testApply()
         new EventHolder(
             segmentId2,
             0,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 EventHolder.timestampKey,
                 DateTimes.of("2013-01-01T00"),
                 "dim",
@@ -175,7 +175,7 @@ public void testApply()
         new EventHolder(
             segmentId2,
             1,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 EventHolder.timestampKey,
                 DateTimes.of("2013-01-01T02"),
                 "dim",
@@ -185,7 +185,7 @@ public void testApply()
         new EventHolder(
             segmentId1,
             1,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 EventHolder.timestampKey,
                 DateTimes.of("2013-01-01T03"),
                 "dim",
@@ -195,7 +195,7 @@ public void testApply()
         new EventHolder(
             segmentId2,
             2,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 EventHolder.timestampKey,
                 DateTimes.of("2013-01-01T04"),
                 "dim",
@@ -218,14 +218,14 @@ public void testColumnMerge()
     Result<SelectResultValue> res1 = new Result<>(
         DateTimes.of("2013-01-01"),
         new SelectResultValue(
-            ImmutableMap.<String, Integer>of(),
+            ImmutableMap.of(),
             Sets.newHashSet("first", "second", "fourth"),
             Sets.newHashSet("eight", "nineth"),
-            Lists.<EventHolder>newArrayList(
+            Lists.newArrayList(
                 new EventHolder(
                     segmentId1,
                     0,
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         EventHolder.timestampKey,
                         DateTimes.of("2013-01-01T00"), "dim", "first"
                     )
@@ -236,14 +236,14 @@ public void testColumnMerge()
     Result<SelectResultValue> res2 = new Result<>(
         DateTimes.of("2013-01-01"),
         new SelectResultValue(
-            ImmutableMap.<String, Integer>of(),
+            ImmutableMap.of(),
             Sets.newHashSet("third", "second", "fifth"),
             Sets.newHashSet("seventh"),
-            Lists.<EventHolder>newArrayList(
+            Lists.newArrayList(
                 new EventHolder(
                     segmentId2,
                     0,
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         EventHolder.timestampKey,
                         DateTimes.of("2013-01-01T00"),
                         "dim",
diff --git a/processing/src/test/java/io/druid/query/select/SelectQueryRunnerTest.java b/processing/src/test/java/io/druid/query/select/SelectQueryRunnerTest.java
index 2371791a50a..87f2a5b3e8d 100644
--- a/processing/src/test/java/io/druid/query/select/SelectQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/select/SelectQueryRunnerTest.java
@@ -48,7 +48,6 @@
 import io.druid.query.extraction.MapLookupExtractor;
 import io.druid.query.filter.AndDimFilter;
 import io.druid.query.filter.BoundDimFilter;
-import io.druid.query.filter.DimFilter;
 import io.druid.query.filter.SelectorDimFilter;
 import io.druid.query.lookup.LookupExtractionFn;
 import io.druid.query.ordering.StringComparators;
@@ -65,6 +64,7 @@
 import org.junit.runners.Parameterized;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -151,8 +151,8 @@ public SelectQueryRunnerTest(QueryRunner runner, boolean descending)
   {
     return Druids.newSelectQueryBuilder()
                  .dataSource(new TableDataSource(QueryRunnerTestHelper.dataSource))
-                 .dimensionSpecs(DefaultDimensionSpec.toSpec(Arrays.<String>asList()))
-                 .metrics(Arrays.<String>asList())
+                 .dimensionSpecs(DefaultDimensionSpec.toSpec(Collections.emptyList()))
+                 .metrics(Collections.emptyList())
                  .intervals(QueryRunnerTestHelper.fullOnInterval)
                  .granularity(QueryRunnerTestHelper.allGran)
                  .pagingSpec(PagingSpec.newSpec(3))
@@ -251,7 +251,7 @@ public void testFullOnSelectWithDimensionSpec()
 
     SelectQuery query = newTestQuery()
         .dimensionSpecs(
-            Arrays.<DimensionSpec>asList(
+            Arrays.asList(
                 new DefaultDimensionSpec(QueryRunnerTestHelper.marketDimension, "mar"),
                 new ExtractionDimensionSpec(
                     QueryRunnerTestHelper.qualityDimension,
@@ -266,13 +266,15 @@ public void testFullOnSelectWithDimensionSpec()
     HashMap<String, Object> context = new HashMap<String, Object>();
     Iterable<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), context).toList();
 
-    List<Result<SelectResultValue>> expectedResultsAsc = Arrays.asList(
+    List<Result<SelectResultValue>> expectedResultsAsc = Collections.singletonList(
         new Result<SelectResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SelectResultValue(
                 ImmutableMap.of(QueryRunnerTestHelper.segmentId, 2),
                 Sets.newHashSet("mar", "qual", "place"),
-                Sets.newHashSet("index", "quality_uniques", "indexMin", "indexMaxPlusTen", "indexMinFloat", "indexFloat", "indexMaxFloat"),
+                Sets.newHashSet("index", "quality_uniques", "indexMin", "indexMaxPlusTen", "indexMinFloat",
+                    "indexFloat", "indexMaxFloat"
+                ),
                 Arrays.asList(
                     new EventHolder(
                         QueryRunnerTestHelper.segmentId,
@@ -312,13 +314,15 @@ public void testFullOnSelectWithDimensionSpec()
         )
     );
 
-    List<Result<SelectResultValue>> expectedResultsDsc = Arrays.asList(
+    List<Result<SelectResultValue>> expectedResultsDsc = Collections.singletonList(
         new Result<SelectResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SelectResultValue(
                 ImmutableMap.of(QueryRunnerTestHelper.segmentId, -3),
                 Sets.newHashSet("mar", "qual", "place"),
-                Sets.newHashSet("index", "quality_uniques", "indexMin", "indexMaxPlusTen", "indexMinFloat", "indexFloat", "indexMaxFloat"),
+                Sets.newHashSet("index", "quality_uniques", "indexMin", "indexMaxPlusTen", "indexMinFloat",
+                    "indexFloat", "indexMaxFloat"
+                ),
                 Arrays.asList(
                     new EventHolder(
                         QueryRunnerTestHelper.segmentId,
@@ -367,7 +371,7 @@ public void testSelectWithDimsAndMets()
     SelectQuery query = newTestQuery()
         .intervals(I_0112_0114)
         .dimensionSpecs(DefaultDimensionSpec.toSpec(QueryRunnerTestHelper.marketDimension))
-        .metrics(Arrays.asList(QueryRunnerTestHelper.indexMetric))
+        .metrics(Collections.singletonList(QueryRunnerTestHelper.indexMetric))
         .build();
 
     HashMap<String, Object> context = new HashMap<String, Object>();
@@ -390,7 +394,7 @@ public void testSelectWithDimsAndMets()
             V_0112_0114
         ),
         Lists.newArrayList("market"),
-        Lists.<String>newArrayList("index"),
+        Lists.newArrayList("index"),
         offset.startOffset(),
         offset.threshold()
     );
@@ -403,7 +407,7 @@ public void testSelectPagination()
     SelectQuery query = newTestQuery()
         .intervals(I_0112_0114)
         .dimensionSpecs(DefaultDimensionSpec.toSpec(QueryRunnerTestHelper.qualityDimension))
-        .metrics(Arrays.asList(QueryRunnerTestHelper.indexMetric))
+        .metrics(Collections.singletonList(QueryRunnerTestHelper.indexMetric))
         .pagingSpec(new PagingSpec(toPagingIdentifier(3, descending), 3))
         .build();
 
@@ -420,7 +424,7 @@ public void testSelectPagination()
             V_0112_0114
         ),
         Lists.newArrayList("quality"),
-        Lists.<String>newArrayList("index"),
+        Lists.newArrayList("index"),
         offset.startOffset(),
         offset.threshold()
     );
@@ -437,7 +441,7 @@ public void testFullOnSelectWithFilter()
           .filters(new SelectorDimFilter(QueryRunnerTestHelper.marketDimension, "spot", null))
           .granularity(QueryRunnerTestHelper.dayGran)
           .dimensionSpecs(DefaultDimensionSpec.toSpec(QueryRunnerTestHelper.qualityDimension))
-          .metrics(Lists.<String>newArrayList(QueryRunnerTestHelper.indexMetric))
+          .metrics(Lists.newArrayList(QueryRunnerTestHelper.indexMetric))
           .pagingSpec(new PagingSpec(toPagingIdentifier(param[0], descending), param[1]))
           .build();
 
@@ -482,7 +486,7 @@ public void testFullOnSelectWithFilter()
       List<Result<SelectResultValue>> expectedResults = toExpected(
           events,
           Lists.newArrayList("quality"),
-          Lists.<String>newArrayList("index"),
+          Lists.newArrayList("index"),
           offset.startOffset(),
           offset.threshold()
       );
@@ -505,7 +509,7 @@ public void testFullOnSelectWithFilterOnVirtualColumn()
         )
         .granularity(QueryRunnerTestHelper.allGran)
         .dimensionSpecs(DefaultDimensionSpec.toSpec(QueryRunnerTestHelper.qualityDimension))
-        .metrics(Lists.<String>newArrayList(QueryRunnerTestHelper.indexMetric))
+        .metrics(Lists.newArrayList(QueryRunnerTestHelper.indexMetric))
         .pagingSpec(new PagingSpec(null, 10, true))
         .virtualColumns(
             new ExpressionVirtualColumn("expr", "index / 10.0", ValueType.FLOAT, TestExprMacroTable.INSTANCE)
@@ -535,7 +539,7 @@ public void testFullOnSelectWithFilterOnVirtualColumn()
     List<Result<SelectResultValue>> expectedResults = toExpected(
         events,
         Lists.newArrayList("quality"),
-        Lists.<String>newArrayList("index"),
+        Lists.newArrayList("index"),
         offset.startOffset(),
         offset.threshold()
     );
@@ -555,7 +559,7 @@ public void testSelectWithFilterLookupExtractionFn()
         .filters(new SelectorDimFilter(QueryRunnerTestHelper.marketDimension, "replaced", lookupExtractionFn))
         .granularity(QueryRunnerTestHelper.dayGran)
         .dimensionSpecs(DefaultDimensionSpec.toSpec(QueryRunnerTestHelper.qualityDimension))
-        .metrics(Lists.<String>newArrayList(QueryRunnerTestHelper.indexMetric))
+        .metrics(Lists.newArrayList(QueryRunnerTestHelper.indexMetric))
         .build();
 
     Iterable<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), Maps.newHashMap()).toList();
@@ -588,7 +592,7 @@ public void testSelectWithFilterLookupExtractionFn()
     List<Result<SelectResultValue>> expectedResults = toExpected(
         events,
         Lists.newArrayList(QueryRunnerTestHelper.qualityDimension),
-        Lists.<String>newArrayList(QueryRunnerTestHelper.indexMetric),
+        Lists.newArrayList(QueryRunnerTestHelper.indexMetric),
         offset.startOffset(),
         offset.threshold()
     );
@@ -604,7 +608,7 @@ public void testFullSelectNoResults()
         .intervals(I_0112_0114)
         .filters(
             new AndDimFilter(
-                Arrays.<DimFilter>asList(
+                Arrays.asList(
                     new SelectorDimFilter(QueryRunnerTestHelper.marketDimension, "spot", null),
                     new SelectorDimFilter(QueryRunnerTestHelper.marketDimension, "foo", null)
                 )
@@ -614,11 +618,11 @@ public void testFullSelectNoResults()
 
     Iterable<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), Maps.newHashMap()).toList();
 
-    List<Result<SelectResultValue>> expectedResults = Arrays.asList(
+    List<Result<SelectResultValue>> expectedResults = Collections.singletonList(
         new Result<SelectResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SelectResultValue(
-                ImmutableMap.<String, Integer>of(),
+                ImmutableMap.of(),
                 Sets.newHashSet(
                     "market",
                     "quality",
@@ -640,7 +644,7 @@ public void testFullSelectNoResults()
                     "indexFloat",
                     "indexMaxFloat"
                 ),
-                Lists.<EventHolder>newArrayList()
+                Lists.newArrayList()
             )
         )
     );
@@ -654,7 +658,7 @@ public void testFullSelectNoDimensionAndMetric()
     SelectQuery query = newTestQuery()
         .intervals(I_0112_0114)
         .dimensionSpecs(DefaultDimensionSpec.toSpec("foo"))
-        .metrics(Lists.<String>newArrayList("foo2"))
+        .metrics(Lists.newArrayList("foo2"))
         .build();
 
     Iterable<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), Maps.newHashMap()).toList();
@@ -672,7 +676,7 @@ public void testFullSelectNoDimensionAndMetric()
     List<Result<SelectResultValue>> expectedResults = toExpected(
         events,
         Lists.newArrayList("foo"),
-        Lists.<String>newArrayList("foo2"),
+        Lists.newArrayList("foo2"),
         offset.startOffset(),
         offset.threshold()
     );
@@ -682,7 +686,7 @@ public void testFullSelectNoDimensionAndMetric()
   @Test
   public void testFullOnSelectWithLongAndFloat()
   {
-    List<DimensionSpec> dimSpecs = Arrays.<DimensionSpec>asList(
+    List<DimensionSpec> dimSpecs = Arrays.asList(
         new DefaultDimensionSpec(QueryRunnerTestHelper.indexMetric, "floatIndex", ValueType.FLOAT),
         new DefaultDimensionSpec(Column.TIME_COLUMN_NAME, "longTime", ValueType.LONG)
     );
@@ -696,7 +700,7 @@ public void testFullOnSelectWithLongAndFloat()
     HashMap<String, Object> context = new HashMap<String, Object>();
     Iterable<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), context).toList();
 
-    List<Result<SelectResultValue>> expectedResultsAsc = Arrays.asList(
+    List<Result<SelectResultValue>> expectedResultsAsc = Collections.singletonList(
         new Result<SelectResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SelectResultValue(
@@ -742,7 +746,7 @@ public void testFullOnSelectWithLongAndFloat()
         )
     );
 
-    List<Result<SelectResultValue>> expectedResultsDsc = Arrays.asList(
+    List<Result<SelectResultValue>> expectedResultsDsc = Collections.singletonList(
         new Result<SelectResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SelectResultValue(
@@ -797,7 +801,7 @@ public void testFullOnSelectWithLongAndFloatWithExFn()
     String jsFn = "function(str) { return 'super-' + str; }";
     ExtractionFn jsExtractionFn = new JavaScriptExtractionFn(jsFn, false, JavaScriptConfig.getEnabledInstance());
 
-    List<DimensionSpec> dimSpecs = Arrays.<DimensionSpec>asList(
+    List<DimensionSpec> dimSpecs = Arrays.asList(
         new ExtractionDimensionSpec(QueryRunnerTestHelper.indexMetric, "floatIndex", jsExtractionFn),
         new ExtractionDimensionSpec(Column.TIME_COLUMN_NAME, "longTime", jsExtractionFn)
     );
@@ -811,7 +815,7 @@ public void testFullOnSelectWithLongAndFloatWithExFn()
     HashMap<String, Object> context = new HashMap<String, Object>();
     Iterable<Result<SelectResultValue>> results = runner.run(QueryPlus.wrap(query), context).toList();
 
-    List<Result<SelectResultValue>> expectedResultsAsc = Arrays.asList(
+    List<Result<SelectResultValue>> expectedResultsAsc = Collections.singletonList(
         new Result<SelectResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SelectResultValue(
@@ -857,7 +861,7 @@ public void testFullOnSelectWithLongAndFloatWithExFn()
         )
     );
 
-    List<Result<SelectResultValue>> expectedResultsDsc = Arrays.asList(
+    List<Result<SelectResultValue>> expectedResultsDsc = Collections.singletonList(
         new Result<SelectResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SelectResultValue(
@@ -1003,8 +1007,8 @@ public void testFullOnSelectWithLongAndFloatWithExFn()
               new DateTime(group.get(0).get(EventHolder.timestampKey), ISOChronology.getInstanceUTC()),
               new SelectResultValue(
                   ImmutableMap.of(QueryRunnerTestHelper.segmentId, lastOffset),
-                  Sets.<String>newHashSet(dimensions),
-                  Sets.<String>newHashSet(metrics),
+                  Sets.newHashSet(dimensions),
+                  Sets.newHashSet(metrics),
                   holders)
           )
       );
diff --git a/processing/src/test/java/io/druid/query/select/SelectQuerySpecTest.java b/processing/src/test/java/io/druid/query/select/SelectQuerySpecTest.java
index 89fedf20a82..2e7de49039a 100644
--- a/processing/src/test/java/io/druid/query/select/SelectQuerySpecTest.java
+++ b/processing/src/test/java/io/druid/query/select/SelectQuerySpecTest.java
@@ -31,6 +31,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 
 /**
  */
@@ -81,8 +82,8 @@ public void testSerializationLegacyString() throws Exception
         true,
         null,
         QueryRunnerTestHelper.allGran,
-        DefaultDimensionSpec.toSpec(Arrays.<String>asList("market", "quality")),
-        Arrays.<String>asList("index"),
+        DefaultDimensionSpec.toSpec(Arrays.asList("market", "quality")),
+        Collections.singletonList("index"),
         null,
         new PagingSpec(null, 3, null),
         null
@@ -125,8 +126,8 @@ public void testPagingSpecFromNext() throws Exception
         true,
         null,
         QueryRunnerTestHelper.allGran,
-        DefaultDimensionSpec.toSpec(Arrays.<String>asList("market", "quality")),
-        Arrays.<String>asList("index"),
+        DefaultDimensionSpec.toSpec(Arrays.asList("market", "quality")),
+        Collections.singletonList("index"),
         null,
         new PagingSpec(null, 3, null),
         null
diff --git a/processing/src/test/java/io/druid/query/spec/QuerySegmentSpecTest.java b/processing/src/test/java/io/druid/query/spec/QuerySegmentSpecTest.java
index 99e4c8daf30..d5c170df2dc 100644
--- a/processing/src/test/java/io/druid/query/spec/QuerySegmentSpecTest.java
+++ b/processing/src/test/java/io/druid/query/spec/QuerySegmentSpecTest.java
@@ -85,17 +85,17 @@ public void testSerializationSegments()
 
             "segments", ImmutableList
             .<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "itvl", "2011-07-01/2011-10-10",
                     "ver", "1",
                     "part", 0
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "itvl", "2011-07-01/2011-10-10",
                     "ver", "1",
                     "part", 1
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "itvl", "2011-11-01/2011-11-10",
                     "ver", "2",
                     "part", 10
diff --git a/processing/src/test/java/io/druid/query/spec/SpecificSegmentQueryRunnerTest.java b/processing/src/test/java/io/druid/query/spec/SpecificSegmentQueryRunnerTest.java
index 8128b4fba8b..c210b88f9d5 100644
--- a/processing/src/test/java/io/druid/query/spec/SpecificSegmentQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/spec/SpecificSegmentQueryRunnerTest.java
@@ -38,7 +38,6 @@
 import io.druid.query.QueryRunner;
 import io.druid.query.Result;
 import io.druid.query.SegmentDescriptor;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.CountAggregator;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.timeseries.TimeseriesQuery;
@@ -102,7 +101,7 @@ public Object accumulate(Object initValue, Accumulator accumulator)
                                   .granularity(Granularities.ALL)
                                   .intervals(ImmutableList.of(Intervals.of("2012-01-01T00:00:00Z/P1D")))
                                   .aggregators(
-                                      ImmutableList.<AggregatorFactory>of(
+                                      ImmutableList.of(
                                           new CountAggregatorFactory("rows")
                                       )
                                   )
@@ -179,7 +178,7 @@ public void run()
                                   .granularity(Granularities.ALL)
                                   .intervals(ImmutableList.of(Intervals.of("2012-01-01T00:00:00Z/P1D")))
                                   .aggregators(
-                                      ImmutableList.<AggregatorFactory>of(
+                                      ImmutableList.of(
                                           new CountAggregatorFactory("rows")
                                       )
                                   )
diff --git a/processing/src/test/java/io/druid/query/timeboundary/TimeBoundaryQueryTest.java b/processing/src/test/java/io/druid/query/timeboundary/TimeBoundaryQueryTest.java
index f29bef09469..e133add0eff 100644
--- a/processing/src/test/java/io/druid/query/timeboundary/TimeBoundaryQueryTest.java
+++ b/processing/src/test/java/io/druid/query/timeboundary/TimeBoundaryQueryTest.java
@@ -54,7 +54,7 @@ public void testContextSerde() throws Exception
                                           .dataSource("foo")
                                           .intervals("2013/2014")
                                           .context(
-                                              ImmutableMap.<String, Object>of(
+                                              ImmutableMap.of(
                                                   "priority",
                                                   1,
                                                   "useCache",
@@ -92,7 +92,7 @@ public void testContextSerde2() throws Exception
                                           .dataSource("foo")
                                           .intervals("2013/2014")
                                           .context(
-                                              ImmutableMap.<String, Object>of(
+                                              ImmutableMap.of(
                                                   "priority",
                                                   "1",
                                                   "useCache",
diff --git a/processing/src/test/java/io/druid/query/timeseries/TimeSeriesUnionQueryRunnerTest.java b/processing/src/test/java/io/druid/query/timeseries/TimeSeriesUnionQueryRunnerTest.java
index fbd1f56ed75..435bc0d39f1 100644
--- a/processing/src/test/java/io/druid/query/timeseries/TimeSeriesUnionQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/timeseries/TimeSeriesUnionQueryRunnerTest.java
@@ -33,7 +33,6 @@
 import io.druid.query.TableDataSource;
 import io.druid.query.UnionDataSource;
 import io.druid.query.UnionQueryRunner;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.segment.TestHelper;
 import org.junit.Test;
@@ -91,7 +90,7 @@ public void testUnionTimeseries()
                                   .granularity(QueryRunnerTestHelper.dayGran)
                                   .intervals(QueryRunnerTestHelper.firstToThird)
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           QueryRunnerTestHelper.rowsCount,
                                           new LongSumAggregatorFactory(
                                               "idx",
@@ -107,13 +106,13 @@ public void testUnionTimeseries()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 52L, "idx", 26476L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 52L, "idx", 26476L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         ),
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 52L, "idx", 23308L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 52L, "idx", 23308L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         )
     );
@@ -138,7 +137,7 @@ public void testUnionResultMerging()
                                   .granularity(QueryRunnerTestHelper.dayGran)
                                   .intervals(QueryRunnerTestHelper.firstToThird)
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           QueryRunnerTestHelper.rowsCount,
                                           new LongSumAggregatorFactory(
                                               "idx",
@@ -152,25 +151,25 @@ public void testUnionResultMerging()
     final List<Result<TimeseriesResultValue>> ds1 = Lists.newArrayList(
         new Result<>(
             DateTimes.of("2011-04-02"),
-            new TimeseriesResultValue(ImmutableMap.<String, Object>of("rows", 1L, "idx", 2L))
+            new TimeseriesResultValue(ImmutableMap.of("rows", 1L, "idx", 2L))
         ),
         new Result<>(
             DateTimes.of("2011-04-03"),
-            new TimeseriesResultValue(ImmutableMap.<String, Object>of("rows", 3L, "idx", 4L))
+            new TimeseriesResultValue(ImmutableMap.of("rows", 3L, "idx", 4L))
         )
     );
     final List<Result<TimeseriesResultValue>> ds2 = Lists.newArrayList(
         new Result<>(
             DateTimes.of("2011-04-01"),
-            new TimeseriesResultValue(ImmutableMap.<String, Object>of("rows", 5L, "idx", 6L))
+            new TimeseriesResultValue(ImmutableMap.of("rows", 5L, "idx", 6L))
         ),
         new Result<>(
             DateTimes.of("2011-04-02"),
-            new TimeseriesResultValue(ImmutableMap.<String, Object>of("rows", 7L, "idx", 8L))
+            new TimeseriesResultValue(ImmutableMap.of("rows", 7L, "idx", 8L))
         ),
         new Result<>(
             DateTimes.of("2011-04-04"),
-            new TimeseriesResultValue(ImmutableMap.<String, Object>of("rows", 9L, "idx", 10L))
+            new TimeseriesResultValue(ImmutableMap.of("rows", 9L, "idx", 10L))
         )
     );
 
@@ -198,25 +197,25 @@ public void testUnionResultMerging()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 5L, "idx", 6L)
+                ImmutableMap.of("rows", 5L, "idx", 6L)
             )
         ),
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 8L, "idx", 10L)
+                ImmutableMap.of("rows", 8L, "idx", 10L)
             )
         ),
         new Result<>(
             DateTimes.of("2011-04-03"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 3L, "idx", 4L)
+                ImmutableMap.of("rows", 3L, "idx", 4L)
             )
         ),
         new Result<>(
             DateTimes.of("2011-04-04"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 9L, "idx", 10L)
+                ImmutableMap.of("rows", 9L, "idx", 10L)
             )
         )
     );
diff --git a/processing/src/test/java/io/druid/query/timeseries/TimeseriesBinaryFnTest.java b/processing/src/test/java/io/druid/query/timeseries/TimeseriesBinaryFnTest.java
index 4ff58b39455..1d24dce112b 100644
--- a/processing/src/test/java/io/druid/query/timeseries/TimeseriesBinaryFnTest.java
+++ b/processing/src/test/java/io/druid/query/timeseries/TimeseriesBinaryFnTest.java
@@ -51,7 +51,7 @@ public void testMerge()
     Result<TimeseriesResultValue> result1 = new Result<TimeseriesResultValue>(
         currTime,
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 1L,
                 "index", 2L
             )
@@ -60,7 +60,7 @@ public void testMerge()
     Result<TimeseriesResultValue> result2 = new Result<TimeseriesResultValue>(
         currTime,
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 2L,
                 "index", 3L
             )
@@ -70,7 +70,7 @@ public void testMerge()
     Result<TimeseriesResultValue> expected = new Result<TimeseriesResultValue>(
         currTime,
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 3L,
                 "index", 5L
             )
@@ -93,7 +93,7 @@ public void testMergeDay()
     Result<TimeseriesResultValue> result1 = new Result<TimeseriesResultValue>(
         currTime,
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 1L,
                 "index", 2L
             )
@@ -102,7 +102,7 @@ public void testMergeDay()
     Result<TimeseriesResultValue> result2 = new Result<TimeseriesResultValue>(
         currTime,
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 2L,
                 "index", 3L
             )
@@ -112,7 +112,7 @@ public void testMergeDay()
     Result<TimeseriesResultValue> expected = new Result<TimeseriesResultValue>(
         Granularities.DAY.bucketStart(currTime),
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 3L,
                 "index", 5L
             )
@@ -135,7 +135,7 @@ public void testMergeOneNullResult()
     Result<TimeseriesResultValue> result1 = new Result<TimeseriesResultValue>(
         currTime,
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 1L,
                 "index", 2L
             )
@@ -161,7 +161,7 @@ public void testMergeShiftedTimestamp()
     Result<TimeseriesResultValue> result1 = new Result<TimeseriesResultValue>(
         currTime,
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 1L,
                 "index", 2L
             )
@@ -170,7 +170,7 @@ public void testMergeShiftedTimestamp()
     Result<TimeseriesResultValue> result2 = new Result<TimeseriesResultValue>(
         currTime.plusHours(2),
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 2L,
                 "index", 3L
             )
@@ -180,7 +180,7 @@ public void testMergeShiftedTimestamp()
     Result<TimeseriesResultValue> expected = new Result<TimeseriesResultValue>(
         currTime,
         new TimeseriesResultValue(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "rows", 3L,
                 "index", 5L
             )
diff --git a/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryQueryToolChestTest.java b/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryQueryToolChestTest.java
index 76b22ebfccc..28a0542705d 100644
--- a/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryQueryToolChestTest.java
+++ b/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryQueryToolChestTest.java
@@ -32,7 +32,6 @@
 import io.druid.query.TableDataSource;
 import io.druid.query.aggregation.CountAggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.aggregation.post.ConstantPostAggregator;
 import io.druid.query.spec.MultipleIntervalSegmentSpec;
 import io.druid.segment.TestHelper;
@@ -78,7 +77,7 @@ public void testCacheStrategy() throws Exception
                     new CountAggregatorFactory("metric1"),
                     new LongSumAggregatorFactory("metric0", "metric0")
                 ),
-                ImmutableList.<PostAggregator>of(new ConstantPostAggregator("post", 10)),
+                ImmutableList.of(new ConstantPostAggregator("post", 10)),
                 0,
                 null
             )
diff --git a/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryRunnerBonusTest.java b/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryRunnerBonusTest.java
index 4fe0a1f7237..b0a807c061e 100644
--- a/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryRunnerBonusTest.java
+++ b/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryRunnerBonusTest.java
@@ -81,7 +81,7 @@ public void testOneRowAtATime() throws Exception
         new MapBasedInputRow(
             DateTimes.of("2012-01-01T00:00:00Z").getMillis(),
             ImmutableList.of("dim1"),
-            ImmutableMap.<String, Object>of("dim1", "x")
+            ImmutableMap.of("dim1", "x")
         )
     );
 
@@ -96,7 +96,7 @@ public void testOneRowAtATime() throws Exception
         new MapBasedInputRow(
             DateTimes.of("2012-01-01T00:00:00Z").getMillis(),
             ImmutableList.of("dim1"),
-            ImmutableMap.<String, Object>of("dim1", "y")
+            ImmutableMap.of("dim1", "y")
         )
     );
 
diff --git a/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryRunnerTest.java b/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryRunnerTest.java
index e9e9e7c18b9..81cd78f9003 100644
--- a/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/timeseries/TimeseriesQueryRunnerTest.java
@@ -149,7 +149,7 @@ public void testEmptyTimeseries()
         new Result<>(
             DateTimes.of("2020-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 0D,
                     "first", 0D
@@ -306,7 +306,7 @@ public void testFullOnTimeseriesWithFilter()
                                   .filters(QueryRunnerTestHelper.marketDimension, "upfront")
                                   .intervals(QueryRunnerTestHelper.fullOnInterval)
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           QueryRunnerTestHelper.rowsCount,
                                           QueryRunnerTestHelper.qualityUniques
                                       )
@@ -358,7 +358,7 @@ public void testTimeseries()
                                   .granularity(QueryRunnerTestHelper.dayGran)
                                   .intervals(QueryRunnerTestHelper.firstToThird)
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           QueryRunnerTestHelper.rowsCount,
                                           new LongSumAggregatorFactory(
                                               "idx",
@@ -374,13 +374,13 @@ public void testTimeseries()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 6619L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 13L, "idx", 6619L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         ),
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         )
     );
@@ -543,7 +543,7 @@ public void testTimeseriesWithVirtualColumn()
                                   .granularity(QueryRunnerTestHelper.dayGran)
                                   .intervals(QueryRunnerTestHelper.firstToThird)
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           QueryRunnerTestHelper.rowsCount,
                                           new LongSumAggregatorFactory("idx", "expr"),
                                           QueryRunnerTestHelper.qualityUniques
@@ -564,13 +564,13 @@ public void testTimeseriesWithVirtualColumn()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 6619L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 13L, "idx", 6619L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         ),
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         )
     );
@@ -587,7 +587,7 @@ public void testTimeseriesWithTimeZone()
                                   .dataSource(QueryRunnerTestHelper.dataSource)
                                   .intervals("2011-03-31T00:00:00-07:00/2011-04-02T00:00:00-07:00")
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           QueryRunnerTestHelper.rowsCount,
                                           new LongSumAggregatorFactory(
                                               "idx",
@@ -609,13 +609,13 @@ public void testTimeseriesWithTimeZone()
         new Result<>(
             new DateTime("2011-03-31", DateTimes.inferTzfromString("America/Los_Angeles")),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 6619L)
+                ImmutableMap.of("rows", 13L, "idx", 6619L)
             )
         ),
         new Result<>(
             new DateTime("2011-04-01T", DateTimes.inferTzfromString("America/Los_Angeles")),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 5827L)
+                ImmutableMap.of("rows", 13L, "idx", 5827L)
             )
         )
     );
@@ -637,7 +637,7 @@ public void testTimeseriesWithVaryingGran()
                                        )
                                    )
                                    .aggregators(
-                                       Arrays.<AggregatorFactory>asList(
+                                       Arrays.asList(
                                            QueryRunnerTestHelper.rowsCount,
                                            new LongSumAggregatorFactory(
                                                "idx",
@@ -653,7 +653,7 @@ public void testTimeseriesWithVaryingGran()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         )
     );
@@ -670,7 +670,7 @@ public void testTimeseriesWithVaryingGran()
                                        )
                                    )
                                    .aggregators(
-                                       Arrays.<AggregatorFactory>asList(
+                                       Arrays.asList(
                                            QueryRunnerTestHelper.rowsCount,
                                            new LongSumAggregatorFactory(
                                                "idx",
@@ -685,7 +685,7 @@ public void testTimeseriesWithVaryingGran()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         )
     );
@@ -713,7 +713,7 @@ public void testTimeseriesGranularityNotAlignedOnSegmentBoundariesWithFilter()
                                        )
                                    )
                                    .aggregators(
-                                       Arrays.<AggregatorFactory>asList(
+                                       Arrays.asList(
                                            QueryRunnerTestHelper.rowsCount,
                                            new LongSumAggregatorFactory(
                                                "idx",
@@ -728,13 +728,13 @@ public void testTimeseriesGranularityNotAlignedOnSegmentBoundariesWithFilter()
         new Result<>(
             new DateTime("2011-01-06T00:00:00.000-08:00", DateTimes.inferTzfromString("America/Los_Angeles")),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 6071L)
+                ImmutableMap.of("rows", 13L, "idx", 6071L)
             )
         ),
         new Result<>(
             new DateTime("2011-01-13T00:00:00.000-08:00", DateTimes.inferTzfromString("America/Los_Angeles")),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 91L, "idx", 33382L)
+                ImmutableMap.of("rows", 91L, "idx", 33382L)
             )
         )
     );
@@ -756,7 +756,7 @@ public void testTimeseriesQueryZeroFilling()
                                        )
                                    )
                                    .aggregators(
-                                       Arrays.<AggregatorFactory>asList(
+                                       Arrays.asList(
                                            QueryRunnerTestHelper.rowsCount,
                                            new LongSumAggregatorFactory(
                                                "idx",
@@ -776,7 +776,7 @@ public void testTimeseriesQueryZeroFilling()
               new Result<>(
                       interval.getStart(),
                       new TimeseriesResultValue(
-                              ImmutableMap.<String, Object>of("rows", 0L, "idx", 0L)
+                              ImmutableMap.of("rows", 0L, "idx", 0L)
                       )
               )
       );
@@ -788,7 +788,7 @@ public void testTimeseriesQueryZeroFilling()
                 new Result<>(
                     DateTimes.of("2011-04-14T00"),
                     new TimeseriesResultValue(
-                        ImmutableMap.<String, Object>of("rows", 13L, "idx", 4907L)
+                        ImmutableMap.of("rows", 13L, "idx", 4907L)
                     )
                 )
             ),
@@ -797,7 +797,7 @@ public void testTimeseriesQueryZeroFilling()
                 new Result<>(
                     DateTimes.of("2011-04-15T00"),
                     new TimeseriesResultValue(
-                        ImmutableMap.<String, Object>of("rows", 13L, "idx", 4717L)
+                        ImmutableMap.of("rows", 13L, "idx", 4717L)
                     )
                 )
             )
@@ -823,7 +823,7 @@ public void testTimeseriesQueryGranularityNotAlignedWithRollupGranularity()
                                    )
                                    .intervals(Collections.singletonList(Intervals.of("2011-04-15T00:00:00.000Z/2012")))
                                    .aggregators(
-                                       Arrays.<AggregatorFactory>asList(
+                                       Arrays.asList(
                                            QueryRunnerTestHelper.rowsCount,
                                            new LongSumAggregatorFactory(
                                                "idx",
@@ -838,7 +838,7 @@ public void testTimeseriesQueryGranularityNotAlignedWithRollupGranularity()
         new Result<>(
             DateTimes.of("2011-04-14T23:01Z"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 4717L)
+                ImmutableMap.of("rows", 13L, "idx", 4717L)
             )
         )
     );
@@ -860,7 +860,7 @@ public void testTimeseriesWithVaryingGranWithFilter()
                                        )
                                    )
                                    .aggregators(
-                                       Arrays.<AggregatorFactory>asList(
+                                       Arrays.asList(
                                            QueryRunnerTestHelper.rowsCount,
                                            new LongSumAggregatorFactory(
                                                "idx",
@@ -876,7 +876,7 @@ public void testTimeseriesWithVaryingGranWithFilter()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         )
     );
@@ -893,7 +893,7 @@ public void testTimeseriesWithVaryingGranWithFilter()
                                        )
                                    )
                                    .aggregators(
-                                       Arrays.<AggregatorFactory>asList(
+                                       Arrays.asList(
                                            QueryRunnerTestHelper.rowsCount,
                                            new LongSumAggregatorFactory(
                                                "idx",
@@ -908,7 +908,7 @@ public void testTimeseriesWithVaryingGranWithFilter()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
+                ImmutableMap.of("rows", 13L, "idx", 5827L, "uniques", QueryRunnerTestHelper.UNIQUES_9)
             )
         )
     );
@@ -929,7 +929,7 @@ public void testTimeseriesQueryBeyondTimeRangeOfData()
                                       )
                                   )
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           QueryRunnerTestHelper.rowsCount,
                                           new LongSumAggregatorFactory(
                                               "idx",
@@ -967,7 +967,7 @@ public void testTimeseriesWithOrFilter()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 6619L,
                     "addRowsIndexConstant", 6633.0,
@@ -978,7 +978,7 @@ public void testTimeseriesWithOrFilter()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 5827L,
                     "addRowsIndexConstant", 5841.0,
@@ -1013,7 +1013,7 @@ public void testTimeseriesWithRegexFilter()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 11L,
                     "index", 3783L,
                     "addRowsIndexConstant", 3795.0,
@@ -1024,7 +1024,7 @@ public void testTimeseriesWithRegexFilter()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 11L,
                     "index", 3313L,
                     "addRowsIndexConstant", 3325.0,
@@ -1059,7 +1059,7 @@ public void testTimeseriesWithFilter1()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 9L,
                     "index", 1102L,
                     "addRowsIndexConstant", 1112.0,
@@ -1070,7 +1070,7 @@ public void testTimeseriesWithFilter1()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 9L,
                     "index", 1120L,
                     "addRowsIndexConstant", 1130.0,
@@ -1105,7 +1105,7 @@ public void testTimeseriesWithFilter2()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 2681L,
                     "addRowsIndexConstant", 2684.0,
@@ -1116,7 +1116,7 @@ public void testTimeseriesWithFilter2()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 2193L,
                     "addRowsIndexConstant", 2196.0,
@@ -1151,7 +1151,7 @@ public void testTimeseriesWithFilter3()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 2836L,
                     "addRowsIndexConstant", 2839.0,
@@ -1162,7 +1162,7 @@ public void testTimeseriesWithFilter3()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 2514L,
                     "addRowsIndexConstant", 2517.0,
@@ -1197,7 +1197,7 @@ public void testTimeseriesWithMultiDimFilterAndOr()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 254.4554443359375D,
                     "addRowsIndexConstant", 257.4554443359375D,
@@ -1208,7 +1208,7 @@ public void testTimeseriesWithMultiDimFilterAndOr()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 260.4129638671875D,
                     "addRowsIndexConstant", 263.4129638671875D,
@@ -1243,7 +1243,7 @@ public void testTimeseriesWithMultiDimFilter()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", new Float(135.885094).doubleValue(),
                     "addRowsIndexConstant", new Float(137.885094).doubleValue(),
@@ -1254,7 +1254,7 @@ public void testTimeseriesWithMultiDimFilter()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", new Float(147.425935).doubleValue(),
                     "addRowsIndexConstant", new Float(149.425935).doubleValue(),
@@ -1289,7 +1289,7 @@ public void testTimeseriesWithOtherMultiDimFilter()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", new Float(118.570340).doubleValue(),
                     "addRowsIndexConstant", new Float(120.570340).doubleValue(),
@@ -1300,7 +1300,7 @@ public void testTimeseriesWithOtherMultiDimFilter()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", new Float(112.987027).doubleValue(),
                     "addRowsIndexConstant", new Float(114.987027).doubleValue(),
@@ -1341,7 +1341,7 @@ public void testTimeseriesWithNonExistentFilterInOr()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 6619L,
                     "addRowsIndexConstant", 6633.0,
@@ -1352,7 +1352,7 @@ public void testTimeseriesWithNonExistentFilterInOr()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 5827L,
                     "addRowsIndexConstant", 5841.0,
@@ -1399,7 +1399,7 @@ public void testTimeseriesWithInFilter()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 6619L,
                     "addRowsIndexConstant", 6633.0,
@@ -1410,7 +1410,7 @@ public void testTimeseriesWithInFilter()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 5827L,
                     "addRowsIndexConstant", 5841.0,
@@ -1445,7 +1445,7 @@ public void testTimeseriesWithNonExistentFilterAndMultiDimAndOr()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 254.4554443359375D,
                     "addRowsIndexConstant", 257.4554443359375D,
@@ -1456,7 +1456,7 @@ public void testTimeseriesWithNonExistentFilterAndMultiDimAndOr()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 260.4129638671875D,
                     "addRowsIndexConstant", 263.4129638671875D,
@@ -1487,7 +1487,7 @@ public void testTimeseriesWithFilterOnNonExistentDimension()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 0.0,
                     "addRowsIndexConstant", 1.0,
@@ -1498,7 +1498,7 @@ public void testTimeseriesWithFilterOnNonExistentDimension()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 0.0,
                     "addRowsIndexConstant", 1.0,
@@ -1522,7 +1522,7 @@ public void testTimeseriesWithFilterOnNonExistentDimensionSkipBuckets()
                                   .intervals(QueryRunnerTestHelper.firstToThird)
                                   .aggregators(aggregatorFactoryList)
                                   .postAggregators(QueryRunnerTestHelper.addRowsIndexConstant)
-                                  .context(ImmutableMap.<String, Object>of("skipEmptyBuckets", "true"))
+                                  .context(ImmutableMap.of("skipEmptyBuckets", "true"))
                                   .descending(descending)
                                   .build();
 
@@ -1549,7 +1549,7 @@ public void testTimeseriesWithNullFilterOnNonExistentDimension()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 6626.151596069336,
                     "addRowsIndexConstant", 6640.151596069336,
@@ -1560,7 +1560,7 @@ public void testTimeseriesWithNullFilterOnNonExistentDimension()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 5833.2095947265625,
                     "addRowsIndexConstant", 5847.2095947265625,
@@ -1591,7 +1591,7 @@ public void testTimeseriesWithInvertedFilterOnNonExistentDimension()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 6626.151596069336,
                     "addRowsIndexConstant", 6640.151596069336,
@@ -1602,7 +1602,7 @@ public void testTimeseriesWithInvertedFilterOnNonExistentDimension()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 13L,
                     "index", 5833.2095947265625,
                     "addRowsIndexConstant", 5847.2095947265625,
@@ -1633,7 +1633,7 @@ public void testTimeseriesWithNonExistentFilter()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 0.0,
                     "addRowsIndexConstant", 1.0,
@@ -1644,7 +1644,7 @@ public void testTimeseriesWithNonExistentFilter()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 0.0,
                     "addRowsIndexConstant", 1.0,
@@ -1679,7 +1679,7 @@ public void testTimeseriesWithNonExistentFilterAndMultiDim()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 0.0,
                     "addRowsIndexConstant", 1.0,
@@ -1690,7 +1690,7 @@ public void testTimeseriesWithNonExistentFilterAndMultiDim()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 0.0,
                     "addRowsIndexConstant", 1.0,
@@ -1725,7 +1725,7 @@ public void testTimeseriesWithMultiValueFilteringJavascriptAggregator()
         new Result<>(
             QueryRunnerTestHelper.firstToThird.getIntervals().get(0).getStart(),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "index", 12459.361190795898d,
                     "nindex", 283.31103515625d,
                     "pishcount", 52d
@@ -1760,7 +1760,7 @@ public void testTimeseriesWithMultiValueFilteringJavascriptAggregatorAndAlsoRegu
         new Result<>(
             QueryRunnerTestHelper.firstToThird.getIntervals().get(0).getStart(),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "index", 283.31103515625d,
                     "nindex", 283.31103515625d,
                     "pishcount", 4d
@@ -1796,7 +1796,7 @@ public void testTimeseriesWithFirstLastAggregator()
         new Result<>(
             DateTimes.of("2011-01-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "first", new Float(100.000000).doubleValue(),
                     "last", new Float(943.497198).doubleValue()
                 )
@@ -1805,7 +1805,7 @@ public void testTimeseriesWithFirstLastAggregator()
         new Result<>(
             DateTimes.of("2011-02-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "first", new Float(132.123776).doubleValue(),
                     "last", new Float(1101.918270).doubleValue()
                 )
@@ -1814,7 +1814,7 @@ public void testTimeseriesWithFirstLastAggregator()
         new Result<>(
             DateTimes.of("2011-03-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "first", new Float(153.059937).doubleValue(),
                     "last", new Float(1063.201156).doubleValue()
                 )
@@ -1823,7 +1823,7 @@ public void testTimeseriesWithFirstLastAggregator()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "first", new Float(135.885094).doubleValue(),
                     "last", new Float(780.271977).doubleValue()
                 )
@@ -1835,7 +1835,7 @@ public void testTimeseriesWithFirstLastAggregator()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "first", new Float(1234.247546).doubleValue(),
                     "last", new Float(106.793700).doubleValue()
                 )
@@ -1844,7 +1844,7 @@ public void testTimeseriesWithFirstLastAggregator()
         new Result<>(
             DateTimes.of("2011-03-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "first", new Float(1004.940887).doubleValue(),
                     "last", new Float(151.752485).doubleValue()
                 )
@@ -1853,7 +1853,7 @@ public void testTimeseriesWithFirstLastAggregator()
         new Result<>(
             DateTimes.of("2011-02-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "first", new Float(913.561076).doubleValue(),
                     "last", new Float(122.258195).doubleValue()
                 )
@@ -1862,7 +1862,7 @@ public void testTimeseriesWithFirstLastAggregator()
         new Result<>(
             DateTimes.of("2011-01-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "first", new Float(800.000000).doubleValue(),
                     "last", new Float(133.740047).doubleValue()
                 )
@@ -2041,7 +2041,7 @@ public void testTimeSeriesWithFilteredAgg()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "filteredAgg", 18L,
                     "addRowsIndexConstant", 12486.361190795898d,
                     "index", 12459.361190795898d,
@@ -2086,7 +2086,7 @@ public void testTimeSeriesWithFilteredAggDimensionNotPresentNotNullValue()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "filteredAgg", 0L,
                     "addRowsIndexConstant", 12486.361190795898d,
                     "index", 12459.361190795898d,
@@ -2131,7 +2131,7 @@ public void testTimeSeriesWithFilteredAggDimensionNotPresentNullValue()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "filteredAgg", 26L,
                     "addRowsIndexConstant", 12486.361190795898d,
                     "index", 12459.361190795898d,
@@ -2177,7 +2177,7 @@ public void testTimeSeriesWithFilteredAggValueNotPresent()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "filteredAgg", 26L,
                     "addRowsIndexConstant", 12486.361190795898d,
                     "index", 12459.361190795898d,
@@ -2221,7 +2221,7 @@ public void testTimeSeriesWithFilteredAggInvertedNullValue()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "filteredAgg", 26L,
                     "addRowsIndexConstant", 12486.361190795898d,
                     "index", 12459.361190795898d,
@@ -2256,7 +2256,7 @@ public void testTimeseriesWithTimeColumn()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows",
                     26L,
                     "ntimestamps",
@@ -2328,7 +2328,7 @@ public void testTimeseriesWithBoundFilter1()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 9L,
                     "index", 1102L,
                     "addRowsIndexConstant", 1112.0,
@@ -2339,7 +2339,7 @@ public void testTimeseriesWithBoundFilter1()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 9L,
                     "index", 1120L,
                     "addRowsIndexConstant", 1130.0,
@@ -2380,7 +2380,7 @@ public void testTimeSeriesWithSelectionFilterLookupExtractionFn()
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 11L,
                     "index", 3783L,
                     "addRowsIndexConstant", 3795.0,
@@ -2391,7 +2391,7 @@ public void testTimeSeriesWithSelectionFilterLookupExtractionFn()
         new Result<>(
             DateTimes.of("2011-04-02"),
             new TimeseriesResultValue(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 11L,
                     "index", 3313L,
                     "addRowsIndexConstant", 3325.0,
@@ -2424,7 +2424,7 @@ public void testTimeseriesWithLimit()
                                   .granularity(QueryRunnerTestHelper.dayGran)
                                   .intervals(QueryRunnerTestHelper.fullOnInterval)
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           QueryRunnerTestHelper.rowsCount,
                                           QueryRunnerTestHelper.qualityUniques
                                       )
diff --git a/processing/src/test/java/io/druid/query/topn/TopNBinaryFnTest.java b/processing/src/test/java/io/druid/query/topn/TopNBinaryFnTest.java
index 05f1635922c..94f9f49a486 100644
--- a/processing/src/test/java/io/druid/query/topn/TopNBinaryFnTest.java
+++ b/processing/src/test/java/io/druid/query/topn/TopNBinaryFnTest.java
@@ -39,6 +39,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -62,7 +63,7 @@
       rowsCount,
       indexLongSum
   );
-  final List<PostAggregator> postAggregators = Arrays.<PostAggregator>asList(
+  final List<PostAggregator> postAggregators = Collections.singletonList(
       addrowsindexconstant
   );
   private final DateTime currTime = DateTimes.nowUtc();
@@ -84,17 +85,17 @@ public void testMerge()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", 2L,
                     "testdim", "1"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 4L,
                     "testdim", "2"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 2L,
                     "testdim", "3"
@@ -106,17 +107,17 @@ public void testMerge()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 3L,
                     "testdim", "1"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 0L,
                     "testdim", "2"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 1L,
                     "testdim", "3"
@@ -129,13 +130,13 @@ public void testMerge()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "1",
                     "rows", 3L,
                     "index", 5L
                 ),
 
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "2",
                     "rows", 4L,
                     "index", 4L
@@ -166,17 +167,17 @@ public void testMergeDay()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", 2L,
                     "testdim", "1"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 4L,
                     "testdim", "2"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 2L,
                     "testdim", "3"
@@ -188,17 +189,17 @@ public void testMergeDay()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 3L,
                     "testdim", "1"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 0L,
                     "testdim", "2"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 1L,
                     "testdim", "3"
@@ -211,12 +212,12 @@ public void testMergeDay()
         Granularities.DAY.bucketStart(currTime),
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "1",
                     "rows", 3L,
                     "index", 5L
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "2",
                     "rows", 4L,
                     "index", 4L
@@ -247,17 +248,17 @@ public void testMergeOneResultNull()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", 2L,
                     "testdim", "1"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 4L,
                     "testdim", "2"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 2L,
                     "testdim", "3"
@@ -291,19 +292,19 @@ public void testMergeByPostAgg()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", 2L,
                     "testdim", "1",
                     "addrowsindexconstant", 3.0
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 4L,
                     "testdim", "2",
                     "addrowsindexconstant", 7.0
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 2L,
                     "testdim", "3",
@@ -316,19 +317,19 @@ public void testMergeByPostAgg()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 3L,
                     "testdim", "1",
                     "addrowsindexconstant", 6.0
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 0L,
                     "testdim", "2",
                     "addrowsindexconstant", 3.0
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 4L,
                     "index", 5L,
                     "testdim", "other",
@@ -342,19 +343,19 @@ public void testMergeByPostAgg()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "other",
                     "rows", 4L,
                     "index", 5L,
                     "addrowsindexconstant", 10.0
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "1",
                     "rows", 3L,
                     "index", 5L,
                     "addrowsindexconstant", 9.0
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "2",
                     "rows", 4L,
                     "index", 4L,
@@ -386,17 +387,17 @@ public void testMergeShiftedTimestamp()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", 2L,
                     "testdim", "1"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 4L,
                     "testdim", "2"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 2L,
                     "testdim", "3"
@@ -408,17 +409,17 @@ public void testMergeShiftedTimestamp()
         currTime.plusHours(2),
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 3L,
                     "testdim", "1"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 0L,
                     "testdim", "2"
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 0L,
                     "index", 1L,
                     "testdim", "3"
@@ -431,12 +432,12 @@ public void testMergeShiftedTimestamp()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "1",
                     "rows", 3L,
                     "index", 5L
                 ),
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "testdim", "2",
                     "rows", 4L,
                     "index", 4L
@@ -467,7 +468,7 @@ public void testMergeLexicographicWithInvalidDimName()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 1L,
                     "index", 2L,
                     "testdim", "1"
@@ -479,7 +480,7 @@ public void testMergeLexicographicWithInvalidDimName()
         currTime,
         new TopNResultValue(
             ImmutableList.<Map<String, Object>>of(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "rows", 2L,
                     "index", 3L,
                     "testdim", "1"
@@ -496,7 +497,7 @@ public void testMergeLexicographicWithInvalidDimName()
     Result<TopNResultValue> expected = new Result<TopNResultValue>(
         currTime,
         new TopNResultValue(
-            ImmutableList.<Map<String, Object>>of(
+            ImmutableList.of(
                 resultMap
             )
         )
diff --git a/processing/src/test/java/io/druid/query/topn/TopNMetricSpecOptimizationsTest.java b/processing/src/test/java/io/druid/query/topn/TopNMetricSpecOptimizationsTest.java
index bffe8aa8836..dfa5f288103 100644
--- a/processing/src/test/java/io/druid/query/topn/TopNMetricSpecOptimizationsTest.java
+++ b/processing/src/test/java/io/druid/query/topn/TopNMetricSpecOptimizationsTest.java
@@ -28,10 +28,8 @@
 import io.druid.java.util.common.granularity.Granularity;
 import io.druid.java.util.common.guava.Sequence;
 import io.druid.query.QueryMetrics;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.filter.Filter;
 import io.druid.query.filter.ValueMatcher;
 import io.druid.query.monomorphicprocessing.RuntimeShapeInspector;
@@ -51,7 +49,7 @@
 import org.junit.Test;
 
 import javax.annotation.Nullable;
-import java.util.Arrays;
+import java.util.Collections;
 
 import static io.druid.query.QueryRunnerTestHelper.addRowsIndexConstant;
 import static io.druid.query.QueryRunnerTestHelper.allGran;
@@ -77,7 +75,7 @@ public void testShouldOptimizeLexicographic()
         .threshold(threshold)
         .intervals("2018-05-30T00:00:00Z/2018-05-31T00:00:00Z")
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
@@ -87,7 +85,7 @@ public void testShouldOptimizeLexicographic()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
 
     StorageAdapter adapter =
@@ -121,7 +119,7 @@ public void testAlsoShouldOptimizeLexicographic()
         .threshold(threshold)
         .intervals("2018-05-30T00:00:00Z/2018-05-30T01:00:00Z")
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
@@ -131,7 +129,7 @@ public void testAlsoShouldOptimizeLexicographic()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
 
     StorageAdapter adapter =
@@ -166,7 +164,7 @@ public void testShouldNotOptimizeLexicographic()
         .threshold(threshold)
         .intervals("2018-05-30T00:00:00Z/2018-05-30T01:00:00Z")
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
@@ -176,7 +174,7 @@ public void testShouldNotOptimizeLexicographic()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
 
     StorageAdapter adapter =
@@ -212,7 +210,7 @@ public void testAlsoShouldNotOptimizeLexicographic()
         .threshold(threshold)
         .intervals("2018-05-30T00:00:00Z/2018-05-31T00:00:00Z")
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
@@ -222,7 +220,7 @@ public void testAlsoShouldNotOptimizeLexicographic()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
 
     StorageAdapter adapter =
@@ -256,7 +254,7 @@ public void testAgainShouldNotOptimizeLexicographic()
         .threshold(threshold)
         .intervals("2018-05-30T00:00:00Z/2018-05-31T00:00:00Z")
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
@@ -266,7 +264,7 @@ public void testAgainShouldNotOptimizeLexicographic()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
 
 
diff --git a/processing/src/test/java/io/druid/query/topn/TopNQueryQueryToolChestTest.java b/processing/src/test/java/io/druid/query/topn/TopNQueryQueryToolChestTest.java
index 3089602ba4b..5222d0528fe 100644
--- a/processing/src/test/java/io/druid/query/topn/TopNQueryQueryToolChestTest.java
+++ b/processing/src/test/java/io/druid/query/topn/TopNQueryQueryToolChestTest.java
@@ -35,9 +35,7 @@
 import io.druid.query.Result;
 import io.druid.query.TableDataSource;
 import io.druid.query.TestQueryRunners;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.CountAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.aggregation.post.ArithmeticPostAggregator;
 import io.druid.query.aggregation.post.ConstantPostAggregator;
 import io.druid.query.aggregation.post.FieldAccessPostAggregator;
@@ -53,6 +51,7 @@
 
 import java.io.IOException;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Map;
 
 public class TopNQueryQueryToolChestTest
@@ -86,8 +85,8 @@ public void testComputeCacheKeyWithDifferentPostAgg()
         new MultipleIntervalSegmentSpec(ImmutableList.of(Intervals.of("2015-01-01/2015-01-02"))),
         null,
         Granularities.ALL,
-        ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("metric1")),
-        ImmutableList.<PostAggregator>of(new ConstantPostAggregator("post", 10)),
+        ImmutableList.of(new CountAggregatorFactory("metric1")),
+        ImmutableList.of(new ConstantPostAggregator("post", 10)),
         null
     );
 
@@ -100,12 +99,12 @@ public void testComputeCacheKeyWithDifferentPostAgg()
         new MultipleIntervalSegmentSpec(ImmutableList.of(Intervals.of("2015-01-01/2015-01-02"))),
         null,
         Granularities.ALL,
-        ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("metric1")),
-        ImmutableList.<PostAggregator>of(
+        ImmutableList.of(new CountAggregatorFactory("metric1")),
+        ImmutableList.of(
             new ArithmeticPostAggregator(
                 "post",
                 "+",
-                ImmutableList.<PostAggregator>of(
+                ImmutableList.of(
                     new FieldAccessPostAggregator(
                         null,
                         "metric1"
@@ -167,19 +166,19 @@ public void testMinTopNThreshold()
     MockQueryRunner mockRunner = new MockQueryRunner(runner);
     new TopNQueryQueryToolChest.ThresholdAdjustingQueryRunner(mockRunner, config).run(
         QueryPlus.wrap(query1),
-        ImmutableMap.<String, Object>of()
+        ImmutableMap.of()
     );
     Assert.assertEquals(1000, mockRunner.query.getThreshold());
 
     TopNQuery query2 = builder.threshold(10).context(context).build();
 
     new TopNQueryQueryToolChest.ThresholdAdjustingQueryRunner(mockRunner, config)
-        .run(QueryPlus.wrap(query2), ImmutableMap.<String, Object>of());
+        .run(QueryPlus.wrap(query2), ImmutableMap.of());
     Assert.assertEquals(500, mockRunner.query.getThreshold());
 
     TopNQuery query3 = builder.threshold(2000).context(context).build();
     new TopNQueryQueryToolChest.ThresholdAdjustingQueryRunner(mockRunner, config)
-        .run(QueryPlus.wrap(query3), ImmutableMap.<String, Object>of());
+        .run(QueryPlus.wrap(query3), ImmutableMap.of());
     Assert.assertEquals(2000, mockRunner.query.getThreshold());
   }
 
@@ -196,8 +195,8 @@ private void doTestCacheStrategy(final ValueType valueType, final Object dimValu
                 new MultipleIntervalSegmentSpec(ImmutableList.of(Intervals.of("2015-01-01/2015-01-02"))),
                 null,
                 Granularities.ALL,
-                ImmutableList.<AggregatorFactory>of(new CountAggregatorFactory("metric1")),
-                ImmutableList.<PostAggregator>of(new ConstantPostAggregator("post", 10)),
+                ImmutableList.of(new CountAggregatorFactory("metric1")),
+                ImmutableList.of(new ConstantPostAggregator("post", 10)),
                 null
             )
         );
@@ -206,8 +205,8 @@ private void doTestCacheStrategy(final ValueType valueType, final Object dimValu
         // test timestamps that result in integer size millis
         DateTimes.utc(123L),
         new TopNResultValue(
-            Arrays.asList(
-                ImmutableMap.<String, Object>of(
+            Collections.singletonList(
+                ImmutableMap.of(
                     "test", dimValue,
                     "metric1", 2
                 )
@@ -233,8 +232,8 @@ private void doTestCacheStrategy(final ValueType valueType, final Object dimValu
         // test timestamps that result in integer size millis
         DateTimes.utc(123L),
         new TopNResultValue(
-            Arrays.asList(
-                ImmutableMap.<String, Object>of(
+            Collections.singletonList(
+                ImmutableMap.of(
                     "test", dimValue,
                     "metric1", 2,
                     "post", 10
diff --git a/processing/src/test/java/io/druid/query/topn/TopNQueryRunnerBenchmark.java b/processing/src/test/java/io/druid/query/topn/TopNQueryRunnerBenchmark.java
index 2e51e303923..c3f9534223c 100644
--- a/processing/src/test/java/io/druid/query/topn/TopNQueryRunnerBenchmark.java
+++ b/processing/src/test/java/io/druid/query/topn/TopNQueryRunnerBenchmark.java
@@ -30,10 +30,8 @@
 import io.druid.query.QueryRunner;
 import io.druid.query.QueryRunnerFactory;
 import io.druid.query.QueryRunnerTestHelper;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.segment.IncrementalIndexSegment;
 import io.druid.segment.QueryableIndexSegment;
 import io.druid.segment.TestIndex;
@@ -42,7 +40,7 @@
 import org.junit.Test;
 
 import java.nio.ByteBuffer;
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -70,7 +68,7 @@
       .threshold(4)
       .intervals(QueryRunnerTestHelper.fullOnInterval)
       .aggregators(
-          Lists.<AggregatorFactory>newArrayList(
+          Lists.newArrayList(
               Iterables.concat(
                   QueryRunnerTestHelper.commonDoubleAggregators,
                   Lists.newArrayList(
@@ -80,7 +78,7 @@
               )
           )
       )
-      .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+      .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
       .build();
   private static final Map<TestCases, QueryRunner> testCaseMap = Maps.newHashMap();
 
diff --git a/processing/src/test/java/io/druid/query/topn/TopNQueryRunnerTest.java b/processing/src/test/java/io/druid/query/topn/TopNQueryRunnerTest.java
index b5023cd557c..ffbcb333658 100644
--- a/processing/src/test/java/io/druid/query/topn/TopNQueryRunnerTest.java
+++ b/processing/src/test/java/io/druid/query/topn/TopNQueryRunnerTest.java
@@ -55,7 +55,6 @@
 import io.druid.query.aggregation.FloatMaxAggregatorFactory;
 import io.druid.query.aggregation.FloatMinAggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.aggregation.cardinality.CardinalityAggregatorFactory;
 import io.druid.query.aggregation.first.DoubleFirstAggregatorFactory;
 import io.druid.query.aggregation.first.FloatFirstAggregatorFactory;
@@ -240,7 +239,7 @@ public TopNQueryRunnerTest(
       TopNQuery query
   )
   {
-    return runWithMerge(query, ImmutableMap.<String, Object>of());
+    return runWithMerge(query, ImmutableMap.of());
   }
 
   private Sequence<Result<TopNResultValue>> runWithMerge(
@@ -269,7 +268,7 @@ public void testEmptyTopN()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.emptyInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -280,7 +279,7 @@ public void testEmptyTopN()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     List<Result<TopNResultValue>> expectedResults = ImmutableList.of(
@@ -303,7 +302,7 @@ public void testFullOnTopN()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -313,48 +312,48 @@ public void testFullOnTopN()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
                     ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "total_market")
-                                .put("rows", 186L)
-                                .put("index", 215679.82879638672D)
-                                .put("addRowsIndexConstant", 215866.82879638672D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1743.92175D)
-                                .put("minIndex", 792.3260498046875D)
-                                .build(),
-                    ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "upfront")
-                                .put("rows", 186L)
-                                .put("index", 192046.1060180664D)
-                                .put("addRowsIndexConstant", 192233.1060180664D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1870.061029D)
-                                .put("minIndex", 545.9906005859375D)
-                                .build(),
-                    ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "spot")
-                                .put("rows", 837L)
-                                .put("index", 95606.57232284546D)
-                                .put("addRowsIndexConstant", 96444.57232284546D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
-                                .put("maxIndex", 277.273533D)
-                                .put("minIndex", 59.02102279663086D)
-                                .build()
+                        .put(QueryRunnerTestHelper.marketDimension, "total_market")
+                        .put("rows", 186L)
+                        .put("index", 215679.82879638672D)
+                        .put("addRowsIndexConstant", 215866.82879638672D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1743.92175D)
+                        .put("minIndex", 792.3260498046875D)
+                        .build(),
+                    ImmutableMap.<String, Object>builder()
+                        .put(QueryRunnerTestHelper.marketDimension, "upfront")
+                        .put("rows", 186L)
+                        .put("index", 192046.1060180664D)
+                        .put("addRowsIndexConstant", 192233.1060180664D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1870.061029D)
+                        .put("minIndex", 545.9906005859375D)
+                        .build(),
+                    ImmutableMap.<String, Object>builder()
+                        .put(QueryRunnerTestHelper.marketDimension, "spot")
+                        .put("rows", 837L)
+                        .put("index", 95606.57232284546D)
+                        .put("addRowsIndexConstant", 96444.57232284546D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
+                        .put("maxIndex", 277.273533D)
+                        .put("minIndex", 59.02102279663086D)
+                        .build()
                 )
             )
         )
     );
     assertExpectedResults(expectedResults, query);
     assertExpectedResults(expectedResults,
-                          query.withAggregatorSpecs(Lists.<AggregatorFactory>newArrayList(Iterables.concat(
+                          query.withAggregatorSpecs(Lists.newArrayList(Iterables.concat(
                               QueryRunnerTestHelper.commonFloatAggregators,
                               Lists.newArrayList(
                                   new FloatMaxAggregatorFactory("maxIndex", "indexFloat"),
@@ -430,7 +429,7 @@ public void testFullOnTopNOverPostAggs()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -440,41 +439,41 @@ public void testFullOnTopNOverPostAggs()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
                     ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "total_market")
-                                .put("rows", 186L)
-                                .put("index", 215679.82879638672D)
-                                .put("addRowsIndexConstant", 215866.82879638672D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1743.92175D)
-                                .put("minIndex", 792.3260498046875D)
-                                .build(),
-                    ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "upfront")
-                                .put("rows", 186L)
-                                .put("index", 192046.1060180664D)
-                                .put("addRowsIndexConstant", 192233.1060180664D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1870.061029D)
-                                .put("minIndex", 545.9906005859375D)
-                                .build(),
-                    ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "spot")
-                                .put("rows", 837L)
-                                .put("index", 95606.57232284546D)
-                                .put("addRowsIndexConstant", 96444.57232284546D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
-                                .put("maxIndex", 277.273533D)
-                                .put("minIndex", 59.02102279663086D)
-                                .build()
+                        .put(QueryRunnerTestHelper.marketDimension, "total_market")
+                        .put("rows", 186L)
+                        .put("index", 215679.82879638672D)
+                        .put("addRowsIndexConstant", 215866.82879638672D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1743.92175D)
+                        .put("minIndex", 792.3260498046875D)
+                        .build(),
+                    ImmutableMap.<String, Object>builder()
+                        .put(QueryRunnerTestHelper.marketDimension, "upfront")
+                        .put("rows", 186L)
+                        .put("index", 192046.1060180664D)
+                        .put("addRowsIndexConstant", 192233.1060180664D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1870.061029D)
+                        .put("minIndex", 545.9906005859375D)
+                        .build(),
+                    ImmutableMap.<String, Object>builder()
+                        .put(QueryRunnerTestHelper.marketDimension, "spot")
+                        .put("rows", 837L)
+                        .put("index", 95606.57232284546D)
+                        .put("addRowsIndexConstant", 96444.57232284546D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
+                        .put("maxIndex", 277.273533D)
+                        .put("minIndex", 59.02102279663086D)
+                        .build()
                 )
             )
         )
@@ -493,7 +492,7 @@ public void testFullOnTopNOverPostAggsOnDimension()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -515,7 +514,7 @@ public void testFullOnTopNOverPostAggsOnDimension()
         )
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -565,7 +564,7 @@ public void testFullOnTopNOverUniques()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -575,41 +574,41 @@ public void testFullOnTopNOverUniques()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "spot")
-                                .put("rows", 837L)
-                                .put("index", 95606.57232284546D)
-                                .put("addRowsIndexConstant", 96444.57232284546D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
-                                .put("maxIndex", 277.273533D)
-                                .put("minIndex", 59.02102279663086D)
-                                .build(),
-                    ImmutableMap.<String, Object>builder()
-                                .put("market", "total_market")
-                                .put("rows", 186L)
-                                .put("index", 215679.82879638672D)
-                                .put("addRowsIndexConstant", 215866.82879638672D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1743.92175D)
-                                .put("minIndex", 792.3260498046875D)
-                                .build(),
-                    ImmutableMap.<String, Object>builder()
-                                .put("market", "upfront")
-                                .put("rows", 186L)
-                                .put("index", 192046.1060180664D)
-                                .put("addRowsIndexConstant", 192233.1060180664D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1870.061029D)
-                                .put("minIndex", 545.9906005859375D)
-                                .build()
+                        .put("market", "spot")
+                        .put("rows", 837L)
+                        .put("index", 95606.57232284546D)
+                        .put("addRowsIndexConstant", 96444.57232284546D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
+                        .put("maxIndex", 277.273533D)
+                        .put("minIndex", 59.02102279663086D)
+                        .build(),
+                    ImmutableMap.<String, Object>builder()
+                        .put("market", "total_market")
+                        .put("rows", 186L)
+                        .put("index", 215679.82879638672D)
+                        .put("addRowsIndexConstant", 215866.82879638672D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1743.92175D)
+                        .put("minIndex", 792.3260498046875D)
+                        .build(),
+                    ImmutableMap.<String, Object>builder()
+                        .put("market", "upfront")
+                        .put("rows", 186L)
+                        .put("index", 192046.1060180664D)
+                        .put("addRowsIndexConstant", 192233.1060180664D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1870.061029D)
+                        .put("minIndex", 545.9906005859375D)
+                        .build()
                 )
             )
         )
@@ -628,11 +627,11 @@ public void testTopNOverMissingUniques()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.<AggregatorFactory>asList(new HyperUniquesAggregatorFactory("uniques", "missingUniques"))
+            Collections.<AggregatorFactory>singletonList(new HyperUniquesAggregatorFactory("uniques", "missingUniques"))
         )
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -667,17 +666,17 @@ public void testTopNOverHyperUniqueFinalizingPostAggregator()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.<AggregatorFactory>asList(QueryRunnerTestHelper.qualityUniques)
+            Collections.<AggregatorFactory>singletonList(QueryRunnerTestHelper.qualityUniques)
         )
         .postAggregators(
-            Arrays.<PostAggregator>asList(new HyperUniqueFinalizingPostAggregator(
+            Collections.singletonList(new HyperUniqueFinalizingPostAggregator(
                 QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
                 QueryRunnerTestHelper.uniqueMetric
             ))
         )
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -715,7 +714,7 @@ public void testTopNOverHyperUniqueExpression()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.<AggregatorFactory>asList(QueryRunnerTestHelper.qualityUniques)
+            Collections.<AggregatorFactory>singletonList(QueryRunnerTestHelper.qualityUniques)
         )
         .postAggregators(
             Collections.singletonList(new ExpressionPostAggregator(
@@ -727,7 +726,7 @@ public void testTopNOverHyperUniqueExpression()
         )
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -735,17 +734,23 @@ public void testTopNOverHyperUniqueExpression()
                     ImmutableMap.<String, Object>builder()
                         .put("market", "spot")
                         .put(QueryRunnerTestHelper.uniqueMetric, QueryRunnerTestHelper.UNIQUES_9)
-                        .put(QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric, QueryRunnerTestHelper.UNIQUES_9 + 1)
+                        .put(QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_9 + 1
+                        )
                         .build(),
                     ImmutableMap.<String, Object>builder()
                         .put("market", "total_market")
                         .put(QueryRunnerTestHelper.uniqueMetric, QueryRunnerTestHelper.UNIQUES_2)
-                        .put(QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric, QueryRunnerTestHelper.UNIQUES_2 + 1)
+                        .put(QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_2 + 1
+                        )
                         .build(),
                     ImmutableMap.<String, Object>builder()
                         .put("market", "upfront")
                         .put(QueryRunnerTestHelper.uniqueMetric, QueryRunnerTestHelper.UNIQUES_2)
-                        .put(QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric, QueryRunnerTestHelper.UNIQUES_2 + 1)
+                        .put(QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_2 + 1
+                        )
                         .build()
                 )
             )
@@ -765,7 +770,7 @@ public void testTopNOverHyperUniqueExpressionRounded()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.<AggregatorFactory>asList(QueryRunnerTestHelper.qualityUniquesRounded)
+            Collections.<AggregatorFactory>singletonList(QueryRunnerTestHelper.qualityUniquesRounded)
         )
         .postAggregators(
             Collections.singletonList(new ExpressionPostAggregator(
@@ -777,7 +782,7 @@ public void testTopNOverHyperUniqueExpressionRounded()
         )
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -815,7 +820,7 @@ public void testTopNOverFirstLastAggregator()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongFirstAggregatorFactory("first", "index"),
                 new LongLastAggregatorFactory("last", "index")
             )
@@ -926,12 +931,12 @@ public void testTopNOverFirstLastAggregatorChunkPeriod()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new LongFirstAggregatorFactory("first", "index"),
                 new LongLastAggregatorFactory("last", "index")
             )
         )
-        .context(ImmutableMap.<String, Object>of("chunkPeriod", "P1D"))
+        .context(ImmutableMap.of("chunkPeriod", "P1D"))
         .build();
 
     List<Result<TopNResultValue>> expectedResults = Arrays.asList(
@@ -1040,7 +1045,7 @@ public void testTopNOverFirstLastFloatAggregatorUsingDoubleColumn()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new FloatFirstAggregatorFactory("first", "index"),
                 new FloatLastAggregatorFactory("last", "index")
             )
@@ -1151,7 +1156,7 @@ public void testTopNOverFirstLastFloatAggregatorUsingFloatColumn()
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.<AggregatorFactory>asList(
+            Arrays.asList(
                 new FloatFirstAggregatorFactory("first", "indexFloat"),
                 new FloatLastAggregatorFactory("last", "indexFloat")
             )
@@ -1267,31 +1272,31 @@ public void testTopNBySegment()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .context(specialContext)
         .build();
 
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "addRowsIndexConstant", 5356.814783D,
                         "index", 5351.814783D,
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "uniques", QueryRunnerTestHelper.UNIQUES_2,
                         "rows", 4L
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "addRowsIndexConstant", 4880.669692D,
                         "index", 4875.669692D,
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "uniques", QueryRunnerTestHelper.UNIQUES_2,
                         "rows", 4L
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "addRowsIndexConstant", 2250.876812D,
                         "index", 2231.876812D,
                         QueryRunnerTestHelper.marketDimension, "spot",
@@ -1351,30 +1356,30 @@ public void testTopN()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
                         "addRowsIndexConstant", 4880.669692D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
@@ -1399,30 +1404,30 @@ public void testTopNByUniques()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "market", "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "market", "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "market", "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -1448,29 +1453,29 @@ public void testTopNWithOrFilter1()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
                         "addRowsIndexConstant", 4880.669692D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
@@ -1496,22 +1501,22 @@ public void testTopNWithOrFilter2()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -1537,15 +1542,15 @@ public void testTopNWithFilter1()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                Collections.<Map<String, Object>>singletonList(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -1571,29 +1576,29 @@ public void testTopNWithFilter2()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 2L,
                         "index", 2591.68359375D,
                         "addRowsIndexConstant", 2594.68359375D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_1
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 2L,
                         "index", 2508.39599609375D,
                         "addRowsIndexConstant", 2511.39599609375D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_1
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 2L,
                         "index", 220.63774871826172D,
@@ -1619,33 +1624,33 @@ public void testTopNWithFilter2OneDay()
         .threshold(4)
         .intervals(
             new MultipleIntervalSegmentSpec(
-                Arrays.asList(Intervals.of("2011-04-01T00:00:00.000Z/2011-04-02T00:00:00.000Z"))
+                Collections.singletonList(Intervals.of("2011-04-01T00:00:00.000Z/2011-04-02T00:00:00.000Z"))
             )
         )
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 1L,
                         "index", new Float(1447.341160).doubleValue(),
                         "addRowsIndexConstant", new Float(1449.341160).doubleValue(),
                         "uniques", QueryRunnerTestHelper.UNIQUES_1
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 1L,
                         "index", new Float(1314.839715).doubleValue(),
                         "addRowsIndexConstant", new Float(1316.839715).doubleValue(),
                         "uniques", QueryRunnerTestHelper.UNIQUES_1
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 1L,
                         "index", new Float(109.705815).doubleValue(),
@@ -1671,22 +1676,22 @@ public void testTopNWithNonExistentFilterInOr()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -1712,10 +1717,10 @@ public void testTopNWithNonExistentFilter()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
     assertExpectedResults(
-        Lists.<Result<TopNResultValue>>newArrayList(
+        Lists.newArrayList(
             new Result<TopNResultValue>(
                 DateTimes.of("2011-04-01T00:00:00.000Z"),
                 new TopNResultValue(Lists.<Map<String, Object>>newArrayList())
@@ -1741,10 +1746,10 @@ public void testTopNWithNonExistentFilterMultiDim()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
     assertExpectedResults(
-        Lists.<Result<TopNResultValue>>newArrayList(
+        Lists.newArrayList(
             new Result<TopNResultValue>(
                 DateTimes.of("2011-04-01T00:00:00.000Z"),
                 new TopNResultValue(Lists.<Map<String, Object>>newArrayList())
@@ -1765,7 +1770,7 @@ public void testTopNWithMultiValueDimFilter1()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     assertExpectedResults(
@@ -1779,7 +1784,7 @@ public void testTopNWithMultiValueDimFilter1()
                 .threshold(4)
                 .intervals(QueryRunnerTestHelper.firstToThird)
                 .aggregators(commonAggregators)
-                .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+                .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
                 .build()
         ).toList(),
         query
@@ -1798,7 +1803,7 @@ public void testTopNWithMultiValueDimFilter2()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     assertExpectedResults(
@@ -1817,7 +1822,7 @@ public void testTopNWithMultiValueDimFilter2()
                 .threshold(4)
                 .intervals(QueryRunnerTestHelper.firstToThird)
                 .aggregators(commonAggregators)
-                .postAggregators(Arrays.asList(QueryRunnerTestHelper.addRowsIndexConstant))
+                .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
                 .build()
         ).toList(),
         query
@@ -1836,7 +1841,7 @@ public void testTopNWithMultiValueDimFilter3()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     final ArrayList<Result<TopNResultValue>> expectedResults = Lists.newArrayList(
@@ -1844,14 +1849,14 @@ public void testTopNWithMultiValueDimFilter3()
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish", "a",
                         "rows", 2L,
                         "index", 283.31103515625D,
                         "addRowsIndexConstant", 286.31103515625D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_1
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish", "preferred",
                         "rows", 2L,
                         "index", 283.31103515625D,
@@ -1877,7 +1882,7 @@ public void testTopNWithMultiValueDimFilter4()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     final ArrayList<Result<TopNResultValue>> expectedResults = Lists.newArrayList(
@@ -1885,21 +1890,21 @@ public void testTopNWithMultiValueDimFilter4()
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish", "preferred",
                         "rows", 4L,
                         "index", 514.868408203125D,
                         "addRowsIndexConstant", 519.868408203125D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish",
                         "a", "rows", 2L,
                         "index", 283.31103515625D,
                         "addRowsIndexConstant", 286.31103515625D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_1
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish", "b",
                         "rows", 2L,
                         "index", 231.557373046875D,
@@ -1925,7 +1930,7 @@ public void testTopNWithMultiValueDimFilter5()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     final ArrayList<Result<TopNResultValue>> expectedResults = Lists.newArrayList(
@@ -1933,28 +1938,28 @@ public void testTopNWithMultiValueDimFilter5()
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish", "preferred",
                         "rows", 26L,
                         "index", 12459.361190795898D,
                         "addRowsIndexConstant", 12486.361190795898D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish", "p",
                         "rows", 6L,
                         "index", 5407.213653564453D,
                         "addRowsIndexConstant", 5414.213653564453D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_1
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish", "m",
                         "rows", 6L,
                         "index", 5320.717338562012D,
                         "addRowsIndexConstant", 5327.717338562012D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_1
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "placementish", "t",
                         "rows", 4L,
                         "index", 422.3440856933594D,
@@ -1979,14 +1984,14 @@ public void testTopNWithNonExistentDimension()
         .threshold(1)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Collections.<Map<String, Object>>singletonList(
+                Collections.singletonList(
                     QueryRunnerTestHelper.orderedMap(
                         "doesn't exist", null,
                         "rows", 26L,
@@ -2013,14 +2018,14 @@ public void testTopNWithNonExistentDimensionAndActualFilter()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Collections.<Map<String, Object>>singletonList(
+                Collections.singletonList(
                     QueryRunnerTestHelper.orderedMap(
                         "doesn't exist", null,
                         "rows", 4L,
@@ -2047,14 +2052,14 @@ public void testTopNWithNonExistentDimensionAndNonExistentFilter()
         .threshold(1)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Collections.<Map<String, Object>>singletonList(
+                Collections.singletonList(
                     QueryRunnerTestHelper.orderedMap(
                         "doesn't exist", null,
                         "rows", 26L,
@@ -2080,29 +2085,29 @@ public void testTopNLexicographic()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -2128,18 +2133,18 @@ public void testTopNLexicographicNoAggregators()
         .intervals(QueryRunnerTestHelper.firstToThird)
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot"
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market"
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront"
                     )
                 )
@@ -2160,22 +2165,22 @@ public void testTopNLexicographicWithPreviousStop()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -2200,22 +2205,22 @@ public void testTopNLexicographicWithNonExistingPreviousStop()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -2240,22 +2245,22 @@ public void testTopNInvertedLexicographicWithPreviousStop()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
@@ -2280,22 +2285,22 @@ public void testTopNInvertedLexicographicWithNonExistingPreviousStop()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
@@ -2327,15 +2332,15 @@ public void testTopNDimExtractionToOne()
         .threshold(10)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                Collections.<Map<String, Object>>singletonList(
+                    ImmutableMap.of(
                         "addRowsIndexConstant", 504542.5071372986D,
                         "index", 503332.5071372986D,
                         QueryRunnerTestHelper.marketDimension, "POTATO",
@@ -2373,21 +2378,21 @@ public void testTopNCollapsingDimExtraction()
                 QueryRunnerTestHelper.indexDoubleSum
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.qualityDimension, "e",
                         "rows", 558L,
                         "index", 246645.1204032898,
                         "addRowsIndexConstant", 247204.1204032898
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.qualityDimension, "r",
                         "rows", 372L,
                         "index", 222051.08961486816,
@@ -2407,13 +2412,13 @@ public void testTopNCollapsingDimExtraction()
         )
     );
 
-    expectedResults = Arrays.asList(
+    expectedResults = Collections.singletonList(
         TopNQueryRunnerTestHelper.createExpectedRows(
             "2011-01-12T00:00:00.000Z",
-            new String[]{QueryRunnerTestHelper.qualityDimension, "rows", "index", "addRowsIndexConstant"},
+            new String[] {QueryRunnerTestHelper.qualityDimension, "rows", "index", "addRowsIndexConstant"},
             Arrays.asList(
-                new Object[]{"n", 93L, -2786.4727909999997, -2692.4727909999997},
-                new Object[]{"u", 186L, -3949.824348000002, -3762.824348000002}
+                new Object[] {"n", 93L, -2786.4727909999997, -2692.4727909999997},
+                new Object[] {"u", 186L, -3949.824348000002, -3762.824348000002}
             )
         )
     );
@@ -2438,29 +2443,29 @@ public void testTopNDimExtraction()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "s",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "t",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "u",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -2492,18 +2497,18 @@ public void testTopNDimExtractionNoAggregators()
         .intervals(QueryRunnerTestHelper.firstToThird)
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "s"
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "t"
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "u"
                     )
                 )
@@ -2540,29 +2545,29 @@ public void testTopNDimExtractionFastTopNOptimalWithReplaceMissing()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "2spot0",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "1total_market0",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "3upfront0",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -2604,29 +2609,29 @@ public void testTopNDimExtractionFastTopNUnOptimalWithReplaceMissing()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "2spot0",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "1total_market0",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "3upfront0",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -2669,29 +2674,29 @@ public void testTopNDimExtractionFastTopNOptimal()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "2spot0",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "1total_market0",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "3upfront0",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -2736,29 +2741,29 @@ public void testTopNDimExtractionFastTopNUnOptimal()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot0",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market0",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront0",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -2802,29 +2807,29 @@ public void testTopNLexicographicDimExtractionOptimalNamespace()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "1upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
                         "addRowsIndexConstant", 4880.669692D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "2spot",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "3total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
@@ -2868,29 +2873,29 @@ public void testTopNLexicographicDimExtractionUnOptimalNamespace()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "1upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
                         "addRowsIndexConstant", 4880.669692D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "2spot",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "3total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
@@ -2935,29 +2940,29 @@ public void testTopNLexicographicDimExtractionOptimalNamespaceWithRunner()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "1upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
                         "addRowsIndexConstant", 4880.669692D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "2spot",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "3total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
@@ -2988,29 +2993,29 @@ public void testTopNLexicographicDimExtraction()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "s",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "t",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "u",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -3041,29 +3046,29 @@ public void testInvertedTopNLexicographicDimExtraction2()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "t",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "o",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "f",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -3094,22 +3099,22 @@ public void testTopNLexicographicDimExtractionWithPreviousStop()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "t",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "u",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -3164,22 +3169,22 @@ public ExtractionType getExtractionType()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "t",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "u",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -3211,22 +3216,22 @@ public void testInvertedTopNLexicographicDimExtractionWithPreviousStop()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "t",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "s",
                         "rows", 18L,
                         "index", 2231.876812D,
@@ -3257,22 +3262,22 @@ public void testInvertedTopNLexicographicDimExtractionWithPreviousStop2()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "o",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "f",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -3300,7 +3305,7 @@ public void testTopNWithNullProducingDimExtractionFn()
       @Override
       public String apply(String dimValue)
       {
-        return dimValue.equals("total_market") ? null : dimValue;
+        return "total_market".equals(dimValue) ? null : dimValue;
       }
 
       @Override
@@ -3323,7 +3328,7 @@ public ExtractionType getExtractionType()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .dimension(
             new ExtractionDimensionSpec(
                 QueryRunnerTestHelper.marketDimension,
@@ -3334,12 +3339,12 @@ public ExtractionType getExtractionType()
         .build();
 
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                Arrays.asList(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
@@ -3353,7 +3358,7 @@ public ExtractionType getExtractionType()
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -3388,7 +3393,7 @@ public void testTopNWithEmptyStringProducingDimExtractionFn()
       @Override
       public String apply(String dimValue)
       {
-        return dimValue.equals("total_market") ? "" : dimValue;
+        return "total_market".equals(dimValue) ? "" : dimValue;
       }
 
       @Override
@@ -3411,7 +3416,7 @@ public ExtractionType getExtractionType()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .dimension(
             new ExtractionDimensionSpec(
                 QueryRunnerTestHelper.marketDimension,
@@ -3422,12 +3427,12 @@ public ExtractionType getExtractionType()
         .build();
 
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                Arrays.asList(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
@@ -3441,7 +3446,7 @@ public ExtractionType getExtractionType()
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -3468,29 +3473,29 @@ public void testInvertedTopNQuery()
             .threshold(3)
             .intervals(QueryRunnerTestHelper.firstToThird)
             .aggregators(commonAggregators)
-            .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+            .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
             .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
                         "addRowsIndexConstant", 4880.669692D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
@@ -3507,7 +3512,7 @@ public void testInvertedTopNQuery()
   @Test
   public void testTopNQueryByComplexMetric()
   {
-    ImmutableList<DimensionSpec> aggregatorDimensionSpecs = ImmutableList.<DimensionSpec>of(new DefaultDimensionSpec(
+    ImmutableList<DimensionSpec> aggregatorDimensionSpecs = ImmutableList.of(new DefaultDimensionSpec(
         QueryRunnerTestHelper.qualityDimension,
         QueryRunnerTestHelper.qualityDimension
     ));
@@ -3531,15 +3536,15 @@ public void testTopNQueryByComplexMetric()
             new TopNResultValue(
                 withDuplicateResults(
                     Arrays.<Map<String, Object>>asList(
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "market", "spot",
                             "numVals", 9.019833517963864d
                         ),
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "market", "total_market",
                             "numVals", 2.000977198748901d
                         ),
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "market", "upfront",
                             "numVals", 2.000977198748901d
                         )
@@ -3563,7 +3568,7 @@ public void testTopNQueryCardinalityAggregatorWithExtractionFn()
                                                         QueryRunnerTestHelper.marketDimension,
                                                         helloFn);
 
-    ImmutableList<DimensionSpec> aggregatorDimensionSpecs = ImmutableList.<DimensionSpec>of(new ExtractionDimensionSpec(
+    ImmutableList<DimensionSpec> aggregatorDimensionSpecs = ImmutableList.of(new ExtractionDimensionSpec(
         QueryRunnerTestHelper.qualityDimension,
         QueryRunnerTestHelper.qualityDimension,
         helloFn
@@ -3588,7 +3593,7 @@ public void testTopNQueryCardinalityAggregatorWithExtractionFn()
             new TopNResultValue(
                 withDuplicateResults(
                     Collections.singletonList(
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "market", "hello",
                             "numVals", 1.0002442201269182d
                         )
@@ -3613,7 +3618,7 @@ public void testTopNDependentPostAgg()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -3624,7 +3629,7 @@ public void testTopNDependentPostAgg()
             )
         )
         .postAggregators(
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 QueryRunnerTestHelper.addRowsIndexConstant,
                 QueryRunnerTestHelper.dependentPostAgg,
                 QueryRunnerTestHelper.hyperUniqueFinalizingPostAgg
@@ -3632,53 +3637,53 @@ public void testTopNDependentPostAgg()
         )
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
                     ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "total_market")
-                                .put("rows", 186L)
-                                .put("index", 215679.82879638672D)
-                                .put("addRowsIndexConstant", 215866.82879638672D)
-                                .put(QueryRunnerTestHelper.dependentPostAggMetric, 216053.82879638672D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1743.92175D)
-                                .put("minIndex", 792.3260498046875D)
-                                .put(
-                                    QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
-                                    QueryRunnerTestHelper.UNIQUES_2 + 1.0
-                                )
-                                .build(),
-                    ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "upfront")
-                                .put("rows", 186L)
-                                .put("index", 192046.1060180664D)
-                                .put("addRowsIndexConstant", 192233.1060180664D)
-                                .put(QueryRunnerTestHelper.dependentPostAggMetric, 192420.1060180664D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1870.061029D)
-                                .put("minIndex", 545.9906005859375D)
-                                .put(
-                                    QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
-                                    QueryRunnerTestHelper.UNIQUES_2 + 1.0
-                                )
-                                .build(),
-                    ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "spot")
-                                .put("rows", 837L)
-                                .put("index", 95606.57232284546D)
-                                .put("addRowsIndexConstant", 96444.57232284546D)
-                                .put(QueryRunnerTestHelper.dependentPostAggMetric, 97282.57232284546D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
-                                .put(
-                                    QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
-                                    QueryRunnerTestHelper.UNIQUES_9 + 1.0
-                                )
-                                .put("maxIndex", 277.273533D)
-                                .put("minIndex", 59.02102279663086D)
-                                .build()
+                        .put(QueryRunnerTestHelper.marketDimension, "total_market")
+                        .put("rows", 186L)
+                        .put("index", 215679.82879638672D)
+                        .put("addRowsIndexConstant", 215866.82879638672D)
+                        .put(QueryRunnerTestHelper.dependentPostAggMetric, 216053.82879638672D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1743.92175D)
+                        .put("minIndex", 792.3260498046875D)
+                        .put(
+                            QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_2 + 1.0
+                        )
+                        .build(),
+                    ImmutableMap.<String, Object>builder()
+                        .put(QueryRunnerTestHelper.marketDimension, "upfront")
+                        .put("rows", 186L)
+                        .put("index", 192046.1060180664D)
+                        .put("addRowsIndexConstant", 192233.1060180664D)
+                        .put(QueryRunnerTestHelper.dependentPostAggMetric, 192420.1060180664D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1870.061029D)
+                        .put("minIndex", 545.9906005859375D)
+                        .put(
+                            QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_2 + 1.0
+                        )
+                        .build(),
+                    ImmutableMap.<String, Object>builder()
+                        .put(QueryRunnerTestHelper.marketDimension, "spot")
+                        .put("rows", 837L)
+                        .put("index", 95606.57232284546D)
+                        .put("addRowsIndexConstant", 96444.57232284546D)
+                        .put(QueryRunnerTestHelper.dependentPostAggMetric, 97282.57232284546D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
+                        .put(
+                            QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_9 + 1.0
+                        )
+                        .put("maxIndex", 277.273533D)
+                        .put("minIndex", 59.02102279663086D)
+                        .build()
                 )
             )
         )
@@ -3697,7 +3702,7 @@ public void testTopNBySegmentResults()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -3708,12 +3713,12 @@ public void testTopNBySegmentResults()
             )
         )
         .postAggregators(
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 QueryRunnerTestHelper.addRowsIndexConstant,
                 QueryRunnerTestHelper.dependentPostAgg
             )
         )
-        .context(ImmutableMap.<String, Object>of("finalize", true, "bySegment", true))
+        .context(ImmutableMap.of("finalize", true, "bySegment", true))
         .build();
     TopNResultValue topNResult = new TopNResultValue(
         Arrays.<Map<String, Object>>asList(
@@ -3791,12 +3796,12 @@ public void testTopNWithTimeColumn()
         .threshold(3)
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "market", "spot",
                         "rows",
                         18L,
@@ -3805,7 +3810,7 @@ public void testTopNWithTimeColumn()
                         "sumtime",
                         23429865600000L
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "market", "total_market",
                         "rows",
                         4L,
@@ -3814,7 +3819,7 @@ public void testTopNWithTimeColumn()
                         "sumtime",
                         5206636800000L
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "market", "upfront",
                         "rows",
                         4L,
@@ -3852,21 +3857,21 @@ public void testTopNTimeExtraction()
                 QueryRunnerTestHelper.indexDoubleSum
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "dayOfWeek", "Wednesday",
                         "rows", 182L,
                         "index", 76010.28100585938,
                         "addRowsIndexConstant", 76193.28100585938
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "dayOfWeek", "Thursday",
                         "rows", 182L,
                         "index", 75203.26300811768,
@@ -3900,7 +3905,7 @@ public void testTopNOverNullDimension()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     Map<String, Object> map = Maps.newHashMap();
@@ -3911,11 +3916,11 @@ public void testTopNOverNullDimension()
     map.put("uniques", QueryRunnerTestHelper.UNIQUES_9);
     map.put("maxIndex", 1870.061029D);
     map.put("minIndex", 59.02102279663086D);
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.asList(
+                Collections.singletonList(
                     map
                 )
             )
@@ -3948,7 +3953,7 @@ public void testTopNOverNullDimensionWithFilter()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     Map<String, Object> map = Maps.newHashMap();
@@ -3959,11 +3964,11 @@ public void testTopNOverNullDimensionWithFilter()
     map.put("uniques", QueryRunnerTestHelper.UNIQUES_9);
     map.put("maxIndex", 1870.061029D);
     map.put("minIndex", 59.02102279663086D);
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.asList(
+                Collections.singletonList(
                     map
                 )
             )
@@ -3990,7 +3995,7 @@ public void testTopNOverPartialNullDimension()
     map.put("rows", 22L);
     map.put("index", 7583.691513061523D);
     map.put("uniques", QueryRunnerTestHelper.UNIQUES_9);
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
@@ -4028,11 +4033,11 @@ public void testTopNOverPartialNullDimensionWithFilterOnNullValue()
     map.put("rows", 22L);
     map.put("index", 7583.691513061523D);
     map.put("uniques", QueryRunnerTestHelper.UNIQUES_9);
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.asList(
+                Collections.singletonList(
                     map
                 )
             )
@@ -4055,11 +4060,11 @@ public void testTopNOverPartialNullDimensionWithFilterOnNOTNullValue()
         .aggregators(commonAggregators)
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.asList(
+                Collections.singletonList(
                     ImmutableMap.<String, Object>of(
                         "partial_null_column", "value",
                         "rows", 4L,
@@ -4088,17 +4093,17 @@ public void testAlphaNumericTopNWithNullPreviousStop()
             new CountAggregatorFactory("rows1")
         ))
         .build();
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-02T00:00:00.000Z"),
             new TopNResultValue(
                 withDuplicateResults(
                     Arrays.asList(
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "market", "spot",
                             "rows", 9L
                         ),
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "market", "total_market",
                             "rows", 2L
                         )
@@ -4127,17 +4132,17 @@ public void testNumericDimensionTopNWithNullPreviousStop()
             new CountAggregatorFactory("rows1")
         ))
         .build();
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-02T00:00:00.000Z"),
             new TopNResultValue(
                 withDuplicateResults(
                     Arrays.asList(
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "market", "spot",
                             "rows", 9L
                         ),
-                        ImmutableMap.<String, Object>of(
+                        ImmutableMap.of(
                             "market", "total_market",
                             "rows", 2L
                         )
@@ -4167,7 +4172,8 @@ public void testTopNWithExtractionFilter()
                                             .threshold(3)
                                             .intervals(QueryRunnerTestHelper.firstToThird)
                                             .aggregators(commonAggregators)
-                                            .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+                                            .postAggregators(Collections.singletonList(
+                                                QueryRunnerTestHelper.addRowsIndexConstant))
                                             .filters(
                                                 new ExtractionDimFilter(
                                                     QueryRunnerTestHelper.marketDimension,
@@ -4178,12 +4184,12 @@ public void testTopNWithExtractionFilter()
                                             )
                                             .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                Collections.<Map<String, Object>>singletonList(
+                    ImmutableMap.of(
                         QueryRunnerTestHelper.marketDimension, "spot",
                         "rows", 18L,
                         "index", 2231.876812D,
@@ -4230,7 +4236,7 @@ public void testTopNWithExtractionFilterAndFilteredAggregatorCaseNoExistingValue
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant));
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant));
     TopNQuery topNQueryWithNULLValueExtraction = topNQueryBuilder
         .filters(extractionFilter)
         .build();
@@ -4243,11 +4249,11 @@ public void testTopNWithExtractionFilterAndFilteredAggregatorCaseNoExistingValue
     map.put("uniques", QueryRunnerTestHelper.UNIQUES_9);
     map.put("maxIndex", 1870.061029D);
     map.put("minIndex", 59.02102279663086D);
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.asList(
+                Collections.singletonList(
                     map
                 )
             )
@@ -4258,7 +4264,7 @@ public void testTopNWithExtractionFilterAndFilteredAggregatorCaseNoExistingValue
 
   private Sequence<Result<TopNResultValue>> runWithPreMergeAndMerge(TopNQuery query)
   {
-    return runWithPreMergeAndMerge(query, ImmutableMap.<String, Object>of());
+    return runWithPreMergeAndMerge(query, ImmutableMap.of());
   }
 
   private Sequence<Result<TopNResultValue>> runWithPreMergeAndMerge(TopNQuery query, Map<String, Object> context)
@@ -4295,7 +4301,7 @@ public void testTopNWithExtractionFilterNoExistingValue()
                                           extractionFilter),
             //new DoubleMaxAggregatorFactory("maxIndex", "index"),
             new DoubleMinAggregatorFactory("minIndex", "index")))))
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant));
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant));
     TopNQuery topNQueryWithNULLValueExtraction = topNQueryBuilder
         .filters(extractionFilter)
         .build();
@@ -4308,11 +4314,11 @@ public void testTopNWithExtractionFilterNoExistingValue()
     map.put("uniques", QueryRunnerTestHelper.UNIQUES_9);
     map.put("maxIndex", 1870.061029D);
     map.put("minIndex", 59.02102279663086D);
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.asList(
+                Collections.singletonList(
                     map
                 )
             )
@@ -4335,7 +4341,7 @@ public void testFullOnTopNFloatColumn()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4345,10 +4351,10 @@ public void testFullOnTopNFloatColumn()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -4410,7 +4416,7 @@ public void testFullOnTopNFloatColumnWithExFn()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4420,10 +4426,10 @@ public void testFullOnTopNFloatColumnWithExFn()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -4482,7 +4488,7 @@ public void testFullOnTopNFloatColumnAsString()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4492,10 +4498,10 @@ public void testFullOnTopNFloatColumnAsString()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -4554,7 +4560,7 @@ public void testFullOnTopNLongColumn()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4564,10 +4570,10 @@ public void testFullOnTopNLongColumn()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -4626,7 +4632,7 @@ public void testFullOnTopNLongVirtualColumn()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4636,11 +4642,11 @@ public void testFullOnTopNLongVirtualColumn()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .virtualColumns(new ExpressionVirtualColumn("ql_expr", "qualityLong", ValueType.LONG, ExprMacroTable.nil()))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -4707,29 +4713,29 @@ public void testTopNStringVirtualColumn()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.firstToThird)
         .aggregators(commonAggregators)
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-04-01T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "vc", "spot spot",
                         "rows", 18L,
                         "index", 2231.876812D,
                         "addRowsIndexConstant", 2250.876812D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_9
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "vc", "total_market total_market",
                         "rows", 4L,
                         "index", 5351.814783D,
                         "addRowsIndexConstant", 5356.814783D,
                         "uniques", QueryRunnerTestHelper.UNIQUES_2
                     ),
-                    ImmutableMap.<String, Object>of(
+                    ImmutableMap.of(
                         "vc", "upfront upfront",
                         "rows", 4L,
                         "index", 4875.669692D,
@@ -4757,7 +4763,7 @@ public void testFullOnTopNLongColumnWithExFn()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4767,10 +4773,10 @@ public void testFullOnTopNLongColumnWithExFn()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -4829,7 +4835,7 @@ public void testFullOnTopNLongColumnAsString()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4839,10 +4845,10 @@ public void testFullOnTopNLongColumnAsString()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -4901,7 +4907,7 @@ public void testFullOnTopNNumericStringColumnAsLong()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4911,10 +4917,10 @@ public void testFullOnTopNNumericStringColumnAsLong()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -4973,7 +4979,7 @@ public void testFullOnTopNNumericStringColumnAsFloat()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -4983,10 +4989,10 @@ public void testFullOnTopNNumericStringColumnAsFloat()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -5045,7 +5051,7 @@ public void testFullOnTopNLongTimeColumn()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -5055,10 +5061,10 @@ public void testFullOnTopNLongTimeColumn()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -5120,7 +5126,7 @@ public void testFullOnTopNLongTimeColumnWithExFn()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -5130,10 +5136,10 @@ public void testFullOnTopNLongTimeColumnWithExFn()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -5199,7 +5205,7 @@ public void testFullOnTopNDimExtractionAllNulls()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -5209,7 +5215,7 @@ public void testFullOnTopNDimExtractionAllNulls()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
     Map<String, Object> expectedMap = new HashMap<>();
@@ -5221,11 +5227,11 @@ public void testFullOnTopNDimExtractionAllNulls()
     expectedMap.put("maxIndex", 1870.061029D);
     expectedMap.put("minIndex", 59.02102279663086D);
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
+                Collections.singletonList(
                     expectedMap
                 )
             )
@@ -5247,7 +5253,7 @@ public void testFullOnTopNStringOutputAsLong()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -5257,10 +5263,10 @@ public void testFullOnTopNStringOutputAsLong()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -5325,7 +5331,7 @@ public void testFullOnTopNNumericStringColumnWithDecoration()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -5335,10 +5341,10 @@ public void testFullOnTopNNumericStringColumnWithDecoration()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -5394,7 +5400,7 @@ public void testFullOnTopNDecorationOnNumeric()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -5404,10 +5410,10 @@ public void testFullOnTopNDecorationOnNumeric()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(QueryRunnerTestHelper.addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(QueryRunnerTestHelper.addRowsIndexConstant))
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -5567,14 +5573,14 @@ public void testFullOnTopNBoundFilterAndLongSumMetric()
         .threshold(5)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Arrays.asList(new LongSumAggregatorFactory("Count", "qualityLong"))
+            Collections.singletonList(new LongSumAggregatorFactory("Count", "qualityLong"))
         )
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
-            new TopNResultValue(Arrays.asList())
+            new TopNResultValue(Collections.emptyList())
         )
     );
     assertExpectedResults(expectedResults, query);
diff --git a/processing/src/test/java/io/druid/query/topn/TopNQueryTest.java b/processing/src/test/java/io/druid/query/topn/TopNQueryTest.java
index 9486ca82239..d22de5c82f1 100644
--- a/processing/src/test/java/io/druid/query/topn/TopNQueryTest.java
+++ b/processing/src/test/java/io/druid/query/topn/TopNQueryTest.java
@@ -27,7 +27,6 @@
 import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.dimension.ExtractionDimensionSpec;
 import io.druid.query.dimension.LegacyDimensionSpec;
 import io.druid.query.extraction.MapLookupExtractor;
@@ -38,7 +37,7 @@
 import org.junit.Test;
 
 import java.io.IOException;
-import java.util.Arrays;
+import java.util.Collections;
 
 import static io.druid.query.QueryRunnerTestHelper.addRowsIndexConstant;
 import static io.druid.query.QueryRunnerTestHelper.allGran;
@@ -64,7 +63,7 @@ public void testQuerySerialization() throws IOException
         .threshold(4)
         .intervals(fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
@@ -74,7 +73,7 @@ public void testQuerySerialization() throws IOException
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
 
     String json = jsonMapper.writeValueAsString(query);
@@ -101,7 +100,7 @@ public void testQuerySerdeWithLookupExtractionFn() throws IOException
         .threshold(2)
         .intervals(fullOnInterval.getIntervals())
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
diff --git a/processing/src/test/java/io/druid/query/topn/TopNUnionQueryTest.java b/processing/src/test/java/io/druid/query/topn/TopNUnionQueryTest.java
index c8e3bc64250..c1507457c97 100644
--- a/processing/src/test/java/io/druid/query/topn/TopNUnionQueryTest.java
+++ b/processing/src/test/java/io/druid/query/topn/TopNUnionQueryTest.java
@@ -29,10 +29,8 @@
 import io.druid.query.QueryRunnerTestHelper;
 import io.druid.query.Result;
 import io.druid.query.TestQueryRunners;
-import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.segment.TestHelper;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -40,6 +38,7 @@
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -99,7 +98,7 @@ public void testTopNUnionQuery()
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     QueryRunnerTestHelper.commonDoubleAggregators,
                     Lists.newArrayList(
@@ -110,7 +109,7 @@ public void testTopNUnionQuery()
             )
         )
         .postAggregators(
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 QueryRunnerTestHelper.addRowsIndexConstant,
                 QueryRunnerTestHelper.dependentPostAgg,
                 QueryRunnerTestHelper.hyperUniqueFinalizingPostAgg
@@ -118,53 +117,53 @@ public void testTopNUnionQuery()
         )
         .build();
 
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
                 Arrays.<Map<String, Object>>asList(
                     ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "total_market")
-                                .put("rows", 744L)
-                                .put("index", 862719.3151855469D)
-                                .put("addRowsIndexConstant", 863464.3151855469D)
-                                .put(QueryRunnerTestHelper.dependentPostAggMetric, 864209.3151855469D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1743.9217529296875D)
-                                .put("minIndex", 792.3260498046875D)
-                                .put(
-                                    QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
-                                    QueryRunnerTestHelper.UNIQUES_2 + 1.0
-                                )
-                                .build(),
+                        .put(QueryRunnerTestHelper.marketDimension, "total_market")
+                        .put("rows", 744L)
+                        .put("index", 862719.3151855469D)
+                        .put("addRowsIndexConstant", 863464.3151855469D)
+                        .put(QueryRunnerTestHelper.dependentPostAggMetric, 864209.3151855469D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1743.9217529296875D)
+                        .put("minIndex", 792.3260498046875D)
+                        .put(
+                            QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_2 + 1.0
+                        )
+                        .build(),
                     ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "upfront")
-                                .put("rows", 744L)
-                                .put("index", 768184.4240722656D)
-                                .put("addRowsIndexConstant", 768929.4240722656D)
-                                .put(QueryRunnerTestHelper.dependentPostAggMetric, 769674.4240722656D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
-                                .put("maxIndex", 1870.06103515625D)
-                                .put("minIndex", 545.9906005859375D)
-                                .put(
-                                    QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
-                                    QueryRunnerTestHelper.UNIQUES_2 + 1.0
-                                )
-                                .build(),
+                        .put(QueryRunnerTestHelper.marketDimension, "upfront")
+                        .put("rows", 744L)
+                        .put("index", 768184.4240722656D)
+                        .put("addRowsIndexConstant", 768929.4240722656D)
+                        .put(QueryRunnerTestHelper.dependentPostAggMetric, 769674.4240722656D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_2)
+                        .put("maxIndex", 1870.06103515625D)
+                        .put("minIndex", 545.9906005859375D)
+                        .put(
+                            QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_2 + 1.0
+                        )
+                        .build(),
                     ImmutableMap.<String, Object>builder()
-                                .put(QueryRunnerTestHelper.marketDimension, "spot")
-                                .put("rows", 3348L)
-                                .put("index", 382426.28929138184D)
-                                .put("addRowsIndexConstant", 385775.28929138184D)
-                                .put(QueryRunnerTestHelper.dependentPostAggMetric, 389124.28929138184D)
-                                .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
-                                .put(
-                                    QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
-                                    QueryRunnerTestHelper.UNIQUES_9 + 1.0
-                                )
-                                .put("maxIndex", 277.2735290527344D)
-                                .put("minIndex", 59.02102279663086D)
-                                .build()
+                        .put(QueryRunnerTestHelper.marketDimension, "spot")
+                        .put("rows", 3348L)
+                        .put("index", 382426.28929138184D)
+                        .put("addRowsIndexConstant", 385775.28929138184D)
+                        .put(QueryRunnerTestHelper.dependentPostAggMetric, 389124.28929138184D)
+                        .put("uniques", QueryRunnerTestHelper.UNIQUES_9)
+                        .put(
+                            QueryRunnerTestHelper.hyperUniqueFinalizingPostAggMetric,
+                            QueryRunnerTestHelper.UNIQUES_9 + 1.0
+                        )
+                        .put("maxIndex", 277.2735290527344D)
+                        .put("minIndex", 59.02102279663086D)
+                        .build()
                 )
             )
         )
diff --git a/processing/src/test/java/io/druid/segment/AppendTest.java b/processing/src/test/java/io/druid/segment/AppendTest.java
index d1864dd0876..15a913395fe 100644
--- a/processing/src/test/java/io/druid/segment/AppendTest.java
+++ b/processing/src/test/java/io/druid/segment/AppendTest.java
@@ -38,7 +38,6 @@
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
 import io.druid.query.aggregation.DoubleSumAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.aggregation.hyperloglog.HyperUniquesAggregatorFactory;
 import io.druid.query.aggregation.post.ArithmeticPostAggregator;
 import io.druid.query.aggregation.post.ConstantPostAggregator;
@@ -65,6 +64,7 @@
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -104,7 +104,7 @@
   final List<AggregatorFactory> commonAggregators = Arrays.asList(rowsCount, indexDoubleSum, uniques);
 
   final QuerySegmentSpec fullOnInterval = new MultipleIntervalSegmentSpec(
-      Arrays.asList(Intervals.of("1970-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z"))
+      Collections.singletonList(Intervals.of("1970-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z"))
   );
 
   private Segment segment;
@@ -167,7 +167,7 @@ public void setUp()
   @Test
   public void testTimeBoundary()
   {
-    List<Result<TimeBoundaryResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeBoundaryResultValue>> expectedResults = Collections.singletonList(
         new Result<TimeBoundaryResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeBoundaryResultValue(
@@ -192,7 +192,7 @@ public void testTimeBoundary()
   @Test
   public void testTimeBoundary2()
   {
-    List<Result<TimeBoundaryResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeBoundaryResultValue>> expectedResults = Collections.singletonList(
         new Result<TimeBoundaryResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeBoundaryResultValue(
@@ -217,18 +217,18 @@ public void testTimeBoundary2()
   @Test
   public void testTimeSeries()
   {
-    List<Result<TimeseriesResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedResults = Collections.singletonList(
         new Result<TimeseriesResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 8L)
-                            .put("index", 700.0D)
-                            .put("addRowsIndexConstant", 709.0D)
-                            .put("uniques", 1.0002442201269182D)
-                            .put("maxIndex", 100.0D)
-                            .put("minIndex", 0.0D)
-                            .build()
+                    .put("rows", 8L)
+                    .put("index", 700.0D)
+                    .put("addRowsIndexConstant", 709.0D)
+                    .put("uniques", 1.0002442201269182D)
+                    .put("maxIndex", 100.0D)
+                    .put("minIndex", 0.0D)
+                    .build()
             )
         )
     );
@@ -242,18 +242,18 @@ public void testTimeSeries()
   @Test
   public void testTimeSeries2()
   {
-    List<Result<TimeseriesResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedResults = Collections.singletonList(
         new Result<TimeseriesResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 7L)
-                            .put("index", 500.0D)
-                            .put("addRowsIndexConstant", 508.0D)
-                            .put("uniques", 0.0D)
-                            .put("maxIndex", 100.0D)
-                            .put("minIndex", 0.0D)
-                            .build()
+                    .put("rows", 7L)
+                    .put("index", 500.0D)
+                    .put("addRowsIndexConstant", 508.0D)
+                    .put("uniques", 0.0D)
+                    .put("maxIndex", 100.0D)
+                    .put("minIndex", 0.0D)
+                    .build()
             )
         )
     );
@@ -267,18 +267,18 @@ public void testTimeSeries2()
   @Test
   public void testFilteredTimeSeries()
   {
-    List<Result<TimeseriesResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedResults = Collections.singletonList(
         new Result<TimeseriesResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 5L)
-                            .put("index", 500.0D)
-                            .put("addRowsIndexConstant", 506.0D)
-                            .put("uniques", 1.0002442201269182D)
-                            .put("maxIndex", 100.0D)
-                            .put("minIndex", 100.0D)
-                            .build()
+                    .put("rows", 5L)
+                    .put("index", 500.0D)
+                    .put("addRowsIndexConstant", 506.0D)
+                    .put("uniques", 1.0002442201269182D)
+                    .put("maxIndex", 100.0D)
+                    .put("minIndex", 100.0D)
+                    .build()
             )
         )
     );
@@ -292,18 +292,18 @@ public void testFilteredTimeSeries()
   @Test
   public void testFilteredTimeSeries2()
   {
-    List<Result<TimeseriesResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedResults = Collections.singletonList(
         new Result<TimeseriesResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 4L)
-                            .put("index", 400.0D)
-                            .put("addRowsIndexConstant", 405.0D)
-                            .put("uniques", 0.0D)
-                            .put("maxIndex", 100.0D)
-                            .put("minIndex", 100.0D)
-                            .build()
+                    .put("rows", 4L)
+                    .put("index", 400.0D)
+                    .put("addRowsIndexConstant", 405.0D)
+                    .put("uniques", 0.0D)
+                    .put("maxIndex", 100.0D)
+                    .put("minIndex", 100.0D)
+                    .build()
             )
         )
     );
@@ -317,20 +317,20 @@ public void testFilteredTimeSeries2()
   @Test
   public void testTopNSeries()
   {
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
+                Arrays.asList(
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "spot")
-                                .put("rows", 3L)
-                                .put("index", 300.0D)
-                                .put("addRowsIndexConstant", 304.0D)
-                                .put("uniques", 0.0D)
-                                .put("maxIndex", 100.0)
-                                .put("minIndex", 100.0)
-                                .build(),
+                        .put("market", "spot")
+                        .put("rows", 3L)
+                        .put("index", 300.0D)
+                        .put("addRowsIndexConstant", 304.0D)
+                        .put("uniques", 0.0D)
+                        .put("maxIndex", 100.0)
+                        .put("minIndex", 100.0)
+                        .build(),
                     QueryRunnerTestHelper.orderedMap(
                         "market", null,
                         "rows", 3L,
@@ -341,14 +341,14 @@ public void testTopNSeries()
                         "minIndex", 0.0
                     ),
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "total_market")
-                                .put("rows", 2L)
-                                .put("index", 200.0D)
-                                .put("addRowsIndexConstant", 203.0D)
-                                .put("uniques", 1.0002442201269182D)
-                                .put("maxIndex", 100.0D)
-                                .put("minIndex", 100.0D)
-                                .build()
+                        .put("market", "total_market")
+                        .put("rows", 2L)
+                        .put("index", 200.0D)
+                        .put("addRowsIndexConstant", 203.0D)
+                        .put("uniques", 1.0002442201269182D)
+                        .put("maxIndex", 100.0D)
+                        .put("minIndex", 100.0D)
+                        .build()
                 )
             )
         )
@@ -363,20 +363,20 @@ public void testTopNSeries()
   @Test
   public void testTopNSeries2()
   {
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
+                Arrays.asList(
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "total_market")
-                                .put("rows", 3L)
-                                .put("index", 300.0D)
-                                .put("addRowsIndexConstant", 304.0D)
-                                .put("uniques", 0.0D)
-                                .put("maxIndex", 100.0D)
-                                .put("minIndex", 100.0D)
-                                .build(),
+                        .put("market", "total_market")
+                        .put("rows", 3L)
+                        .put("index", 300.0D)
+                        .put("addRowsIndexConstant", 304.0D)
+                        .put("uniques", 0.0D)
+                        .put("maxIndex", 100.0D)
+                        .put("minIndex", 100.0D)
+                        .build(),
                     QueryRunnerTestHelper.orderedMap(
                         "market", null,
                         "rows", 3L,
@@ -387,14 +387,14 @@ public void testTopNSeries2()
                         "minIndex", 0.0
                     ),
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "spot")
-                                .put("rows", 1L)
-                                .put("index", 100.0D)
-                                .put("addRowsIndexConstant", 102.0D)
-                                .put("uniques", 0.0D)
-                                .put("maxIndex", 100.0)
-                                .put("minIndex", 100.0)
-                                .build()
+                        .put("market", "spot")
+                        .put("rows", 1L)
+                        .put("index", 100.0D)
+                        .put("addRowsIndexConstant", 102.0D)
+                        .put("uniques", 0.0D)
+                        .put("maxIndex", 100.0)
+                        .put("minIndex", 100.0)
+                        .build()
                 )
             )
         )
@@ -409,20 +409,20 @@ public void testTopNSeries2()
   @Test
   public void testFilteredTopNSeries()
   {
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
-                Arrays.<Map<String, Object>>asList(
+                Collections.<Map<String, Object>>singletonList(
                     ImmutableMap.<String, Object>builder()
-                                .put("market", "spot")
-                                .put("rows", 1L)
-                                .put("index", 100.0D)
-                                .put("addRowsIndexConstant", 102.0D)
-                                .put("uniques", 0.0D)
-                                .put("maxIndex", 100.0)
-                                .put("minIndex", 100.0)
-                                .build()
+                        .put("market", "spot")
+                        .put("rows", 1L)
+                        .put("index", 100.0D)
+                        .put("addRowsIndexConstant", 102.0D)
+                        .put("uniques", 0.0D)
+                        .put("maxIndex", 100.0)
+                        .put("minIndex", 100.0)
+                        .build()
                 )
             )
         )
@@ -437,7 +437,7 @@ public void testFilteredTopNSeries()
   @Test
   public void testFilteredTopNSeries2()
   {
-    List<Result<TopNResultValue>> expectedResults = Arrays.asList(
+    List<Result<TopNResultValue>> expectedResults = Collections.singletonList(
         new Result<TopNResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TopNResultValue(
@@ -455,11 +455,11 @@ public void testFilteredTopNSeries2()
   @Test
   public void testSearch()
   {
-    List<Result<SearchResultValue>> expectedResults = Arrays.asList(
+    List<Result<SearchResultValue>> expectedResults = Collections.singletonList(
         new Result<SearchResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SearchResultValue(
-                Arrays.<SearchHit>asList(
+                Arrays.asList(
                     new SearchHit(placementishDimension, "a"),
                     new SearchHit(qualityDimension, "automotive"),
                     new SearchHit(placementDimension, "mezzanine"),
@@ -478,11 +478,11 @@ public void testSearch()
   @Test
   public void testSearchWithOverlap()
   {
-    List<Result<SearchResultValue>> expectedResults = Arrays.asList(
+    List<Result<SearchResultValue>> expectedResults = Collections.singletonList(
         new Result<SearchResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SearchResultValue(
-                Arrays.<SearchHit>asList(
+                Arrays.asList(
                     new SearchHit(placementishDimension, "a"),
                     new SearchHit(placementDimension, "mezzanine"),
                     new SearchHit(marketDimension, "total_market")
@@ -500,11 +500,11 @@ public void testSearchWithOverlap()
   @Test
   public void testFilteredSearch()
   {
-    List<Result<SearchResultValue>> expectedResults = Arrays.asList(
+    List<Result<SearchResultValue>> expectedResults = Collections.singletonList(
         new Result<SearchResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SearchResultValue(
-                Arrays.<SearchHit>asList(
+                Arrays.asList(
                     new SearchHit(placementDimension, "mezzanine"),
                     new SearchHit(marketDimension, "total_market")
                 )
@@ -521,11 +521,11 @@ public void testFilteredSearch()
   @Test
   public void testFilteredSearch2()
   {
-    List<Result<SearchResultValue>> expectedResults = Arrays.asList(
+    List<Result<SearchResultValue>> expectedResults = Collections.singletonList(
         new Result<SearchResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new SearchResultValue(
-                Arrays.<SearchHit>asList(
+                Arrays.asList(
                     new SearchHit(placementishDimension, "a"),
                     new SearchHit(placementDimension, "mezzanine"),
                     new SearchHit(marketDimension, "total_market")
@@ -543,18 +543,18 @@ public void testFilteredSearch2()
   @Test
   public void testRowFiltering()
   {
-    List<Result<TimeseriesResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedResults = Collections.singletonList(
         new Result<TimeseriesResultValue>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 5L)
-                            .put("index", 500.0D)
-                            .put("addRowsIndexConstant", 506.0D)
-                            .put("uniques", 0.0D)
-                            .put("maxIndex", 100.0D)
-                            .put("minIndex", 100.0D)
-                            .build()
+                    .put("rows", 5L)
+                    .put("index", 500.0D)
+                    .put("addRowsIndexConstant", 506.0D)
+                    .put("uniques", 0.0D)
+                    .put("maxIndex", 100.0D)
+                    .put("minIndex", 100.0D)
+                    .build()
             )
         )
     );
@@ -565,7 +565,7 @@ public void testRowFiltering()
                                   .intervals(fullOnInterval)
                                   .filters(marketDimension, "breakstuff")
                                   .aggregators(
-                                      Lists.<AggregatorFactory>newArrayList(
+                                      Lists.newArrayList(
                                           Iterables.concat(
                                               commonAggregators,
                                               Lists.newArrayList(
@@ -589,7 +589,7 @@ private TimeseriesQuery makeTimeseriesQuery()
                  .granularity(allGran)
                  .intervals(fullOnInterval)
                  .aggregators(
-                     Lists.<AggregatorFactory>newArrayList(
+                     Lists.newArrayList(
                          Iterables.concat(
                              commonAggregators,
                              Lists.newArrayList(
@@ -616,7 +616,7 @@ private TimeseriesQuery makeFilteredTimeseriesQuery()
                      )
                  )
                  .aggregators(
-                     Lists.<AggregatorFactory>newArrayList(
+                     Lists.newArrayList(
                          Iterables.concat(
                              commonAggregators,
                              Lists.newArrayList(
@@ -640,7 +640,7 @@ private TopNQuery makeTopNQuery()
         .threshold(3)
         .intervals(fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -650,7 +650,7 @@ private TopNQuery makeTopNQuery()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
   }
 
@@ -670,7 +670,7 @@ private TopNQuery makeFilteredTopNQuery()
         )
         .intervals(fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonAggregators,
                     Lists.newArrayList(
@@ -680,7 +680,7 @@ private TopNQuery makeFilteredTopNQuery()
                 )
             )
         )
-        .postAggregators(Arrays.<PostAggregator>asList(addRowsIndexConstant))
+        .postAggregators(Collections.singletonList(addRowsIndexConstant))
         .build();
   }
 
diff --git a/processing/src/test/java/io/druid/segment/CloserRuleTest.java b/processing/src/test/java/io/druid/segment/CloserRuleTest.java
index 5515f5173ac..4482568969b 100644
--- a/processing/src/test/java/io/druid/segment/CloserRuleTest.java
+++ b/processing/src/test/java/io/druid/segment/CloserRuleTest.java
@@ -241,7 +241,7 @@ public void testClosesEverything()
     final AtomicLong counter = new AtomicLong(0L);
     final CloserRule closer = new CloserRule(true);
     final String ioExceptionMsg = "You can't triple stamp a double stamp!";
-    final List<IOException> ioExceptions = Arrays.<IOException>asList(
+    final List<IOException> ioExceptions = Arrays.asList(
         new IOException(ioExceptionMsg),
         null,
         new IOException(ioExceptionMsg),
diff --git a/processing/src/test/java/io/druid/segment/EmptyIndexTest.java b/processing/src/test/java/io/druid/segment/EmptyIndexTest.java
index 7df20b00b1e..0f096c4d14a 100644
--- a/processing/src/test/java/io/druid/segment/EmptyIndexTest.java
+++ b/processing/src/test/java/io/druid/segment/EmptyIndexTest.java
@@ -83,7 +83,7 @@ public void testEmptyIndex() throws Exception
           new ConciseBitmapFactory()
       );
       TestHelper.getTestIndexMergerV9(segmentWriteOutMediumFactory).merge(
-          Lists.<IndexableAdapter>newArrayList(emptyIndexAdapter),
+          Lists.newArrayList(emptyIndexAdapter),
           true,
           new AggregatorFactory[0],
           tmpDir,
diff --git a/processing/src/test/java/io/druid/segment/IndexIOTest.java b/processing/src/test/java/io/druid/segment/IndexIOTest.java
index a533d22c1aa..b005b10d608 100644
--- a/processing/src/test/java/io/druid/segment/IndexIOTest.java
+++ b/processing/src/test/java/io/druid/segment/IndexIOTest.java
@@ -87,12 +87,12 @@
   public static Iterable<Object[]> constructionFeeder()
   {
 
-    final Map<String, Object> map = ImmutableMap.<String, Object>of();
+    final Map<String, Object> map = ImmutableMap.of();
 
-    final Map<String, Object> map00 = ImmutableMap.<String, Object>of(
-        "dim0", ImmutableList.<String>of("dim00", "dim01")
+    final Map<String, Object> map00 = ImmutableMap.of(
+        "dim0", ImmutableList.of("dim00", "dim01")
     );
-    final Map<String, Object> map10 = ImmutableMap.<String, Object>of(
+    final Map<String, Object> map10 = ImmutableMap.of(
         "dim1", "dim10"
     );
     final Map<String, Object> map0null = new HashMap<>();
@@ -101,8 +101,8 @@
     final Map<String, Object> map1null = new HashMap<>();
     map1null.put("dim1", null);
 
-    final Map<String, Object> mapAll = ImmutableMap.<String, Object>of(
-        "dim0", ImmutableList.<String>of("dim00", "dim01"),
+    final Map<String, Object> mapAll = ImmutableMap.of(
+        "dim0", ImmutableList.of("dim00", "dim01"),
         "dim1", "dim10"
     );
 
@@ -110,9 +110,9 @@
         map, map00, map10, map0null, map1null, mapAll
     );
 
-    return Iterables.<Object[]>concat(
+    return Iterables.concat(
         // First iterable tests permutations of the maps which are expected to be equal
-        Iterables.<Object[]>concat(
+        Iterables.concat(
             new Iterable<Iterable<Object[]>>()
             {
               @Override
@@ -156,7 +156,7 @@ public void remove()
             }
         ),
         // Second iterable tests combinations of the maps which may or may not be equal
-        Iterables.<Object[]>concat(
+        Iterables.concat(
             new Iterable<Iterable<Object[]>>()
             {
               @Override
diff --git a/processing/src/test/java/io/druid/segment/IndexMergerTestBase.java b/processing/src/test/java/io/druid/segment/IndexMergerTestBase.java
index 6e3b7664424..94ef6204f2e 100644
--- a/processing/src/test/java/io/druid/segment/IndexMergerTestBase.java
+++ b/processing/src/test/java/io/druid/segment/IndexMergerTestBase.java
@@ -2120,7 +2120,7 @@ public void testDimensionWithEmptyName() throws Exception
     toPersist.add(new MapBasedInputRow(
         timestamp,
         Arrays.asList("", "dim2"),
-        ImmutableMap.<String, Object>of("", "1", "dim2", "2")
+        ImmutableMap.of("", "1", "dim2", "2")
     ));
 
     final File tempDir = temporaryFolder.newFolder();
diff --git a/processing/src/test/java/io/druid/segment/IndexMergerV9CompatibilityTest.java b/processing/src/test/java/io/druid/segment/IndexMergerV9CompatibilityTest.java
index 7e0cf9689b8..8537a008006 100644
--- a/processing/src/test/java/io/druid/segment/IndexMergerV9CompatibilityTest.java
+++ b/processing/src/test/java/io/druid/segment/IndexMergerV9CompatibilityTest.java
@@ -96,27 +96,27 @@ public IndexMergerV9CompatibilityTest(SegmentWriteOutMediumFactory segmentWriteO
     indexIO = TestHelper.getTestIndexIO(segmentWriteOutMediumFactory);
     events = new ArrayList<>();
 
-    final Map<String, Object> map1 = ImmutableMap.<String, Object>of(
-        DIMS.get(0), ImmutableList.<String>of("dim00", "dim01"),
+    final Map<String, Object> map1 = ImmutableMap.of(
+        DIMS.get(0), ImmutableList.of("dim00", "dim01"),
         DIMS.get(1), "dim10"
     );
 
     final List<String> nullList = Collections.singletonList(null);
 
-    final Map<String, Object> map2 = ImmutableMap.<String, Object>of(
+    final Map<String, Object> map2 = ImmutableMap.of(
         DIMS.get(0), nullList,
         DIMS.get(1), "dim10"
     );
 
 
-    final Map<String, Object> map3 = ImmutableMap.<String, Object>of(
+    final Map<String, Object> map3 = ImmutableMap.of(
         DIMS.get(0),
-        ImmutableList.<String>of("dim00", "dim01")
+        ImmutableList.of("dim00", "dim01")
     );
 
-    final Map<String, Object> map4 = ImmutableMap.<String, Object>of();
+    final Map<String, Object> map4 = ImmutableMap.of();
 
-    final Map<String, Object> map5 = ImmutableMap.<String, Object>of(DIMS.get(1), "dim10");
+    final Map<String, Object> map5 = ImmutableMap.of(DIMS.get(1), "dim10");
 
     final Map<String, Object> map6 = new HashMap<>();
     map6.put(DIMS.get(1), null); // ImmutableMap cannot take null
diff --git a/processing/src/test/java/io/druid/segment/IndexMergerV9WithSpatialIndexTest.java b/processing/src/test/java/io/druid/segment/IndexMergerV9WithSpatialIndexTest.java
index a974c806f58..3e4c02a04c7 100644
--- a/processing/src/test/java/io/druid/segment/IndexMergerV9WithSpatialIndexTest.java
+++ b/processing/src/test/java/io/druid/segment/IndexMergerV9WithSpatialIndexTest.java
@@ -60,6 +60,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.Random;
 
@@ -132,7 +133,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
         new MapBasedInputRow(
             DateTimes.of("2013-01-01").getMillis(),
             DIMS,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "timestamp", DateTimes.of("2013-01-01").toString(),
                 "dim", "foo",
                 "lat", 0.0f,
@@ -145,7 +146,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
         new MapBasedInputRow(
             DateTimes.of("2013-01-02").getMillis(),
             DIMS,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "timestamp", DateTimes.of("2013-01-02").toString(),
                 "dim", "foo",
                 "lat", 1.0f,
@@ -158,7 +159,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
         new MapBasedInputRow(
             DateTimes.of("2013-01-03").getMillis(),
             DIMS,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "timestamp", DateTimes.of("2013-01-03").toString(),
                 "dim", "foo",
                 "lat", 4.0f,
@@ -171,7 +172,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
         new MapBasedInputRow(
             DateTimes.of("2013-01-04").getMillis(),
             DIMS,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "timestamp", DateTimes.of("2013-01-04").toString(),
                 "dim", "foo",
                 "lat", 7.0f,
@@ -184,7 +185,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
         new MapBasedInputRow(
             DateTimes.of("2013-01-05").getMillis(),
             DIMS,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "timestamp", DateTimes.of("2013-01-05").toString(),
                 "dim", "foo",
                 "lat", 8.0f,
@@ -197,7 +198,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
         new MapBasedInputRow(
             DateTimes.of("2013-01-05").getMillis(),
             DIMS,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "timestamp", DateTimes.of("2013-01-05").toString(),
                 "dim", "foo",
                 "lat", "_mmx.unknown",
@@ -210,7 +211,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
         new MapBasedInputRow(
             DateTimes.of("2013-01-05").getMillis(),
             DIMS,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "timestamp", DateTimes.of("2013-01-05").toString(),
                 "dim", "foo",
                 "dim.geo", "_mmx.unknown",
@@ -222,7 +223,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
         new MapBasedInputRow(
             DateTimes.of("2013-01-05").getMillis(),
             DIMS,
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "timestamp", DateTimes.of("2013-01-05").toString(),
                 "lat2", 0.0f,
                 "long2", 0.0f,
@@ -238,7 +239,7 @@ private static IncrementalIndex makeIncrementalIndex() throws IOException
           new MapBasedInputRow(
               DateTimes.of("2013-01-01").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-01").toString(),
                   "dim", "boo",
                   "lat", (float) (rand.nextFloat() * 10 + 10.0),
@@ -364,7 +365,7 @@ private static QueryableIndex makeMergedQueryableIndex(
           new MapBasedInputRow(
               DateTimes.of("2013-01-01").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-01").toString(),
                   "dim", "foo",
                   "lat", 0.0f,
@@ -377,7 +378,7 @@ private static QueryableIndex makeMergedQueryableIndex(
           new MapBasedInputRow(
               DateTimes.of("2013-01-02").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-02").toString(),
                   "dim", "foo",
                   "lat", 1.0f,
@@ -390,7 +391,7 @@ private static QueryableIndex makeMergedQueryableIndex(
           new MapBasedInputRow(
               DateTimes.of("2013-01-03").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-03").toString(),
                   "dim", "foo",
                   "lat", 4.0f,
@@ -403,7 +404,7 @@ private static QueryableIndex makeMergedQueryableIndex(
           new MapBasedInputRow(
               DateTimes.of("2013-01-05").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-05").toString(),
                   "dim", "foo",
                   "lat", "_mmx.unknown",
@@ -416,7 +417,7 @@ private static QueryableIndex makeMergedQueryableIndex(
           new MapBasedInputRow(
               DateTimes.of("2013-01-05").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-05").toString(),
                   "dim", "foo",
                   "dim.geo", "_mmx.unknown",
@@ -428,7 +429,7 @@ private static QueryableIndex makeMergedQueryableIndex(
           new MapBasedInputRow(
               DateTimes.of("2013-01-04").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-04").toString(),
                   "dim", "foo",
                   "lat", 7.0f,
@@ -441,7 +442,7 @@ private static QueryableIndex makeMergedQueryableIndex(
           new MapBasedInputRow(
               DateTimes.of("2013-01-05").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-05").toString(),
                   "dim", "foo",
                   "lat", 8.0f,
@@ -454,7 +455,7 @@ private static QueryableIndex makeMergedQueryableIndex(
           new MapBasedInputRow(
               DateTimes.of("2013-01-05").getMillis(),
               DIMS,
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "timestamp", DateTimes.of("2013-01-05").toString(),
                   "lat2", 0.0f,
                   "long2", 0.0f,
@@ -470,7 +471,7 @@ private static QueryableIndex makeMergedQueryableIndex(
             new MapBasedInputRow(
                 DateTimes.of("2013-01-01").getMillis(),
                 DIMS,
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "timestamp", DateTimes.of("2013-01-01").toString(),
                     "dim", "boo",
                     "lat", (float) (rand.nextFloat() * 10 + 10.0),
@@ -543,7 +544,7 @@ public void testSpatialQuery()
     TimeseriesQuery query = Druids.newTimeseriesQueryBuilder()
                                   .dataSource("test")
                                   .granularity(Granularities.ALL)
-                                  .intervals(Arrays.asList(Intervals.of("2013-01-01/2013-01-07")))
+                                  .intervals(Collections.singletonList(Intervals.of("2013-01-01/2013-01-07")))
                                   .filters(
                                       new SpatialDimFilter(
                                           "dim.geo",
@@ -551,21 +552,21 @@ public void testSpatialQuery()
                                       )
                                   )
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           new CountAggregatorFactory("rows"),
                                           new LongSumAggregatorFactory("val", "val")
                                       )
                                   )
                                   .build();
 
-    List<Result<TimeseriesResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2013-01-01T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 3L)
-                            .put("val", 59L)
-                            .build()
+                    .put("rows", 3L)
+                    .put("val", 59L)
+                    .build()
             )
         )
     );
@@ -597,7 +598,7 @@ public void testSpatialQueryWithOtherSpatialDim()
     TimeseriesQuery query = Druids.newTimeseriesQueryBuilder()
                                   .dataSource("test")
                                   .granularity(Granularities.ALL)
-                                  .intervals(Arrays.asList(Intervals.of("2013-01-01/2013-01-07")))
+                                  .intervals(Collections.singletonList(Intervals.of("2013-01-01/2013-01-07")))
                                   .filters(
                                       new SpatialDimFilter(
                                           "spatialIsRad",
@@ -605,21 +606,21 @@ public void testSpatialQueryWithOtherSpatialDim()
                                       )
                                   )
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           new CountAggregatorFactory("rows"),
                                           new LongSumAggregatorFactory("val", "val")
                                       )
                                   )
                                   .build();
 
-    List<Result<TimeseriesResultValue>> expectedResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2013-01-01T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 1L)
-                            .put("val", 13L)
-                            .build()
+                    .put("rows", 1L)
+                    .put("val", 13L)
+                    .build()
             )
         )
     );
@@ -650,7 +651,7 @@ public void testSpatialQueryMorePoints()
     TimeseriesQuery query = Druids.newTimeseriesQueryBuilder()
                                   .dataSource("test")
                                   .granularity(Granularities.DAY)
-                                  .intervals(Arrays.asList(Intervals.of("2013-01-01/2013-01-07")))
+                                  .intervals(Collections.singletonList(Intervals.of("2013-01-01/2013-01-07")))
                                   .filters(
                                       new SpatialDimFilter(
                                           "dim.geo",
@@ -658,7 +659,7 @@ public void testSpatialQueryMorePoints()
                                       )
                                   )
                                   .aggregators(
-                                      Arrays.<AggregatorFactory>asList(
+                                      Arrays.asList(
                                           new CountAggregatorFactory("rows"),
                                           new LongSumAggregatorFactory("val", "val")
                                       )
diff --git a/processing/src/test/java/io/druid/segment/MergeIntIteratorTest.java b/processing/src/test/java/io/druid/segment/MergeIntIteratorTest.java
index f335944b18e..fbead54b340 100644
--- a/processing/src/test/java/io/druid/segment/MergeIntIteratorTest.java
+++ b/processing/src/test/java/io/druid/segment/MergeIntIteratorTest.java
@@ -45,14 +45,14 @@
   @Test(expected = NoSuchElementException.class)
   public void testNoIterators()
   {
-    IntIterator it = mergeAscending(Collections.<IntIterator>emptyList());
+    IntIterator it = mergeAscending(Collections.emptyList());
     assertEmpty(it);
   }
 
   @Test(expected = NoSuchElementException.class)
   public void testMergeEmptyIterators()
   {
-    IntIterator it = mergeAscending(Arrays.<IntIterator>asList(EMPTY_ITERATOR, EMPTY_ITERATOR));
+    IntIterator it = mergeAscending(Arrays.asList(EMPTY_ITERATOR, EMPTY_ITERATOR));
     assertEmpty(it);
   }
 
diff --git a/processing/src/test/java/io/druid/segment/MetadataTest.java b/processing/src/test/java/io/druid/segment/MetadataTest.java
index e568bafd5be..d85edb11b9b 100644
--- a/processing/src/test/java/io/druid/segment/MetadataTest.java
+++ b/processing/src/test/java/io/druid/segment/MetadataTest.java
@@ -67,7 +67,7 @@ public void testSerde() throws Exception
   public void testMerge()
   {
     Assert.assertNull(Metadata.merge(null, null));
-    Assert.assertNull(Metadata.merge(ImmutableList.<Metadata>of(), null));
+    Assert.assertNull(Metadata.merge(ImmutableList.of(), null));
 
     List<Metadata> metadataToBeMerged = new ArrayList<>();
 
diff --git a/processing/src/test/java/io/druid/segment/SchemalessIndexTest.java b/processing/src/test/java/io/druid/segment/SchemalessIndexTest.java
index a68b27fa27e..8ab373d45d4 100644
--- a/processing/src/test/java/io/druid/segment/SchemalessIndexTest.java
+++ b/processing/src/test/java/io/druid/segment/SchemalessIndexTest.java
@@ -58,6 +58,7 @@
 import java.io.IOException;
 import java.net.URL;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -70,7 +71,7 @@
 
   private static final String testFile = "druid.sample.json";
   private static final String TIMESTAMP = "timestamp";
-  private static final List<String> METRICS = Arrays.asList("index");
+  private static final List<String> METRICS = Collections.singletonList("index");
   private static final AggregatorFactory[] METRIC_AGGS = new AggregatorFactory[]{
       new DoubleSumAggregatorFactory("index", "index"),
       new CountAggregatorFactory("count"),
@@ -134,7 +135,7 @@ public static QueryableIndex getIncrementalIndex(int index1, int index2)
           return index;
         }
       } else {
-        entry = Maps.<Integer, QueryableIndex>newHashMap();
+        entry = Maps.newHashMap();
         incrementalIndexes.put(index1, entry);
       }
 
@@ -246,7 +247,7 @@ public QueryableIndex getMergedIncrementalIndex(int index1, int index2)
           return index;
         }
       } else {
-        entry = Maps.<Integer, QueryableIndex>newHashMap();
+        entry = Maps.newHashMap();
         mergedIndexes.put(index1, entry);
       }
 
@@ -322,7 +323,7 @@ public QueryableIndex getAppendedIncrementalIndex(
   public QueryableIndex getMergedIncrementalIndexDiffMetrics()
   {
     return getMergedIncrementalIndex(
-        Arrays.<Pair<String, AggregatorFactory[]>>asList(
+        Arrays.asList(
             new Pair<String, AggregatorFactory[]>("druid.sample.json.top", METRIC_AGGS_NO_UNIQ),
             new Pair<String, AggregatorFactory[]>("druid.sample.json.bottom", METRIC_AGGS)
         )
diff --git a/processing/src/test/java/io/druid/segment/SchemalessTestFullTest.java b/processing/src/test/java/io/druid/segment/SchemalessTestFullTest.java
index 2e08e2fef82..8f50947560b 100644
--- a/processing/src/test/java/io/druid/segment/SchemalessTestFullTest.java
+++ b/processing/src/test/java/io/druid/segment/SchemalessTestFullTest.java
@@ -40,7 +40,6 @@
 import io.druid.query.aggregation.DoubleMaxAggregatorFactory;
 import io.druid.query.aggregation.DoubleMinAggregatorFactory;
 import io.druid.query.aggregation.DoubleSumAggregatorFactory;
-import io.druid.query.aggregation.PostAggregator;
 import io.druid.query.aggregation.hyperloglog.HyperUniquesAggregatorFactory;
 import io.druid.query.aggregation.post.ArithmeticPostAggregator;
 import io.druid.query.aggregation.post.ConstantPostAggregator;
@@ -109,7 +108,7 @@
   final List<AggregatorFactory> commonAggregators = Arrays.asList(rowsCount, indexDoubleSum, uniques);
 
   final QuerySegmentSpec fullOnInterval = new MultipleIntervalSegmentSpec(
-      Arrays.asList(Intervals.of("1970-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z"))
+      Collections.singletonList(Intervals.of("1970-01-01T00:00:00.000Z/2020-01-01T00:00:00.000Z"))
   );
 
   public SchemalessTestFullTest(SegmentWriteOutMediumFactory segmentWriteOutMediumFactory)
@@ -120,90 +119,90 @@ public SchemalessTestFullTest(SegmentWriteOutMediumFactory segmentWriteOutMedium
   @Test
   public void testCompleteIntersectingSchemas()
   {
-    List<Result<TimeseriesResultValue>> expectedTimeSeriesResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedTimeSeriesResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 2L)
-                            .put("index", 200.0D)
-                            .put("addRowsIndexConstant", 203.0D)
-                            .put("uniques", UNIQUES_2)
-                            .put("maxIndex", 100.0D)
-                            .put("minIndex", 100.0D)
-                            .build()
+                    .put("rows", 2L)
+                    .put("index", 200.0D)
+                    .put("addRowsIndexConstant", 203.0D)
+                    .put("uniques", UNIQUES_2)
+                    .put("maxIndex", 100.0D)
+                    .put("minIndex", 100.0D)
+                    .build()
             )
         )
     );
 
-    List<Result<TimeseriesResultValue>> expectedFilteredTimeSeriesResults = Arrays.asList(
+    List<Result<TimeseriesResultValue>> expectedFilteredTimeSeriesResults = Collections.singletonList(
         new Result<>(
             DateTimes.of("2011-01-12T00:00:00.000Z"),
             new TimeseriesResultValue(
                 ImmutableMap.<String, Object>builder()
-                            .put("rows", 1L)

  (This diff was longer than 20,000 lines, and has been truncated...)


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

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