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

[incubator-druid] branch master updated: Remove redundant type parameters and enforce some other style and inspection rules (#5980)

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

leventov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 331a0af  Remove redundant type parameters and enforce some other style and inspection rules (#5980)
331a0af is described below

commit 331a0afb98c4377d6452f612b03b0083006d4ee4
Author: Benedict Jin <15...@qq.com>
AuthorDate: Sat Jul 28 05:56:49 2018 +0800

    Remove redundant type parameters and enforce some other style and inspection rules (#5980)
    
    * Various changes about druid-services module
    
    * Patch improvements from reviewer
    
    * Add ToArrayCallWithZeroLengthArrayArgument & ArraysAsListWithZeroOrOneArgument into inspection profile
    
    * Fix ArraysAsListWithZeroOrOneArgument
    
    * Fix conflict
    
    * Fix ToArrayCallWithZeroLengthArrayArgument
    
    * Fix AliEqualsAvoidNull
    
    * Remove blank line
    
    * Remove unused import clauses
    
    * Fix code style in TopNQueryRunnerTest
    
    * Fix conflict
    
    * Don't use Collections.singletonList when converting the type of array type
    
    * Add argLine into maven-surefire-plugin in druid-process module & increase the timeout value for testMoveSegment testcase
    
    * Roll back the latest commit
    
    * Add java.io.File#toURL() into druid-forbidden-apis
    
    * Using Boolean.parseBoolean instead of Boolean.valueOf for CliCoordinator#isOverlord
    
    * Add a new regexp element into stylecode xml file
    
    * Fix style error for new regexp
    
    * Set the level of ArraysAsListWithZeroOrOneArgument as WARNING
    
    * Fix style error for new regexp
    
    * Add option BY_LEVEL for ToArrayCallWithZeroLengthArrayArgument in inspection profile
    
    * Roll back the level as ToArrayCallWithZeroLengthArrayArgument as ERROR
    
    * Add toArray(new Object[0]) regexp into checkstyle config file & fix them
    
    * Set the level of ArraysAsListWithZeroOrOneArgument as ERROR & Roll back the level of ToArrayCallWithZeroLengthArrayArgument as WARNING until Youtrack fix it
    
    * Add a comment for string equals regexp in checkstyle config
    
    * Fix code format
    
    * Add RedundantTypeArguments as ERROR level inspection
    
    * Fix cannot resolve symbol datasource
---
 .idea/inspectionProfiles/Druid.xml                 |   7 +-
 .../io/druid/data/input/impl/DimensionsSpec.java   |   6 +-
 .../java/io/druid/guice/ConditionalMultibind.java  |   8 +-
 .../java/io/druid/guice/JsonConfigProvider.java    |   2 +-
 .../io/druid/data/input/impl/CSVParseSpecTest.java |   8 +-
 .../data/input/impl/DelimitedParseSpecTest.java    |  12 +-
 .../data/input/impl/InputRowParserSerdeTest.java   |   4 +-
 .../input/impl/JSONLowercaseParseSpecTest.java     |   4 +-
 .../druid/data/input/impl/JSONParseSpecTest.java   |   3 +-
 .../io/druid/data/input/impl/ParseSpecTest.java    |  10 +-
 .../druid/data/input/impl/TimestampSpecTest.java   |   6 +-
 .../io/druid/guice/ConditionalMultibindTest.java   |  16 +-
 .../java/io/druid/guice/JsonConfiguratorTest.java  |   8 +-
 .../java/io/druid/timeline/DataSegmentTest.java    |   2 +-
 .../druid/benchmark/FilterPartitionBenchmark.java  |  32 +-
 .../FloatCompressionBenchmarkFileGenerator.java    |   2 +-
 .../benchmark/GroupByTypeInterfaceBenchmark.java   |  13 +-
 .../LongCompressionBenchmarkFileGenerator.java     |   2 +-
 .../io/druid/benchmark/MergeSequenceBenchmark.java |   4 +-
 .../druid/benchmark/datagen/BenchmarkSchemas.java  |   8 +-
 .../io/druid/benchmark/query/GroupByBenchmark.java |  19 +-
 .../io/druid/benchmark/query/SearchBenchmark.java  |   4 +-
 .../io/druid/benchmark/query/SelectBenchmark.java  |   7 +-
 .../io/druid/benchmark/query/SqlBenchmark.java     |   7 +-
 .../druid/benchmark/query/TimeseriesBenchmark.java |   4 +-
 .../io/druid/benchmark/query/TopNBenchmark.java    |   4 +-
 .../CachingCostBalancerStrategyBenchmark.java      |   6 +-
 .../benchmark/BenchmarkDataGeneratorTest.java      |  12 +-
 codestyle/checkstyle.xml                           |  13 +
 codestyle/druid-forbidden-apis.txt                 |   3 +-
 .../druid/collections/CombiningIterableTest.java   |   2 +-
 .../collections/OrderedMergeIteratorTest.java      |  12 +-
 .../collections/OrderedMergeSequenceTest.java      |  38 +-
 .../druid/common/guava/CombiningSequenceTest.java  |   2 +-
 .../timeline/VersionedIntervalTimelineTest.java    |  26 +-
 .../io/druid/examples/ExamplesDruidModule.java     |   4 +-
 .../extendedset/intset/ImmutableConciseSet.java    |   4 +-
 .../ambari/metrics/AmbariMetricsEmitter.java       |   2 +-
 .../ambari/metrics/AmbariMetricsEmitterConfig.java |   2 +-
 ...ListBasedDruidToTimelineEventConverterTest.java |   2 +-
 .../storage/azure/AzureDataSegmentPusher.java      |   2 +-
 .../java/io/druid/storage/azure/AzureTaskLogs.java |   2 +-
 .../storage/azure/AzureDataSegmentKillerTest.java  |   2 +-
 .../storage/azure/AzureDataSegmentPusherTest.java  |   8 +-
 .../cassandra/CassandraDataSegmentPuller.java      |   2 +-
 .../cassandra/CassandraDataSegmentPusher.java      |   2 +-
 .../cloudfiles/CloudFilesDataSegmentPusher.java    |   2 +-
 .../cloudfiles/CloudFilesStorageDruidModule.java   |   4 +-
 .../CloudFilesDataSegmentPusherTest.java           |   9 +-
 .../DistinctCountAggregatorFactory.java            |   5 +-
 .../DistinctCountGroupByQueryTest.java             |  10 +-
 .../DistinctCountTimeseriesQueryTest.java          |   8 +-
 .../distinctcount/DistinctCountTopNQueryTest.java  |  10 +-
 .../storage/google/GoogleDataSegmentFinder.java    |   2 +-
 .../storage/google/GoogleDataSegmentPusher.java    |   2 +-
 .../io/druid/storage/google/GoogleTaskLogs.java    |   2 +-
 .../google/GoogleDataSegmentFinderTest.java        |   2 +-
 .../google/GoogleDataSegmentKillerTest.java        |   2 +-
 .../google/GoogleDataSegmentPusherTest.java        |   4 +-
 .../emitter/graphite/GraphiteEmitterConfig.java    |   4 +-
 .../graphite/WhiteListBasedConverterTest.java      |   2 +-
 .../MaterializedViewSupervisorTest.java            |  12 +-
 .../materializedview/DatasourceOptimizerTest.java  |   8 +-
 .../MaterializedViewQueryTest.java                 |   8 +-
 .../input/orc/OrcHadoopInputRowParserTest.java     |   5 +-
 .../data/input/orc/OrcIndexGeneratorJobTest.java   |   7 +-
 .../rabbitmq/RabbitMQFirehoseFactoryTest.java      |   2 +-
 .../input/thrift/ThriftInputRowParserTest.java     |   3 +-
 .../aggregation/TimestampAggregatorFactory.java    |   5 +-
 .../TimestampGroupByAggregationTest.java           |   6 +-
 .../io/druid/segment/MapVirtualColumnTest.java     |   2 +-
 .../data/input/AvroStreamInputRowParserTest.java   |   2 +-
 .../theta/SketchMergeAggregatorFactory.java        |   2 +-
 .../datasketches/theta/SketchModule.java           |   4 +-
 .../theta/oldapi/OldApiSketchModule.java           |   4 +-
 .../ArrayOfDoublesSketchAggregatorFactory.java     |   2 +-
 .../tuple/ArrayOfDoublesSketchModule.java          |   4 +-
 ...ouperUsingSketchMergeAggregatorFactoryTest.java |   4 +-
 .../datasketches/theta/SketchAggregationTest.java  |   6 +-
 .../theta/oldapi/OldApiSketchAggregationTest.java  |   4 +-
 .../io/druid/security/basic/BasicAuthUtils.java    |   2 +-
 .../DruidKerberosAuthenticationHandler.java        |   2 +-
 .../druid/security/kerberos/DruidKerberosUtil.java |   2 +-
 .../security/kerberos/KerberosHttpClient.java      |   2 +-
 .../RetryIfUnauthorizedResponseHandler.java        |   4 +-
 .../druid/storage/hdfs/HdfsDataSegmentPusher.java  |   2 +-
 .../druid/storage/hdfs/tasklog/HdfsTaskLogs.java   |   2 +-
 .../segment/loading/HdfsDataSegmentFinderTest.java |   4 +-
 .../storage/hdfs/HdfsDataSegmentKillerTest.java    |   2 +-
 .../storage/hdfs/HdfsDataSegmentPusherTest.java    |  20 +-
 .../ApproximateHistogramAggregatorFactory.java     |   3 +-
 .../ApproximateHistogramGroupByQueryTest.java      |   6 +-
 .../ApproximateHistogramTopNQueryTest.java         |   6 +-
 .../histogram/sql/QuantileSqlAggregatorTest.java   |   4 +-
 .../lookup/KafkaLookupExtractorFactoryTest.java    |  10 +-
 .../query/lookup/TestKafkaExtractionCluster.java   |   2 +-
 .../indexing/kafka/supervisor/KafkaSupervisor.java |   8 +-
 .../kafka/supervisor/KafkaSupervisorIOConfig.java  |   4 +-
 .../kafka/KafkaDataSourceMetadataTest.java         |   8 +-
 .../druid/indexing/kafka/KafkaIndexTaskTest.java   |  12 +-
 .../kafka/supervisor/KafkaSupervisorTest.java      |  66 +-
 .../io/druid/indexing/kafka/test/TestBroker.java   |   2 +-
 .../lookup/namespace/JSONFlatDataParserTest.java   |   6 +-
 .../StaticMapExtractionNamespaceTest.java          |   4 +-
 .../namespace/NamespacedExtractorModuleTest.java   |  15 +-
 .../namespace/StaticMapCacheGeneratorTest.java     |   4 +-
 .../lookup/namespace/UriCacheGeneratorTest.java    |   4 +-
 .../lookup/namespace/cache/CacheSchedulerTest.java |   3 +-
 .../cache/JdbcExtractionNamespaceTest.java         |   5 +-
 .../io/druid/server/lookup/LoadingLookupTest.java  |   2 +-
 .../input/protobuf/ProtobufExtensionsModule.java   |   4 +-
 .../input/protobuf/ProtobufInputRowParserTest.java |   3 +-
 .../druid/firehose/s3/StaticS3FirehoseFactory.java |   4 +-
 .../io/druid/storage/s3/S3DataSegmentArchiver.java |   4 +-
 .../io/druid/storage/s3/S3DataSegmentFinder.java   |   2 +-
 .../io/druid/storage/s3/S3DataSegmentMover.java    |   2 +-
 .../io/druid/storage/s3/S3DataSegmentPuller.java   |   2 +-
 .../io/druid/storage/s3/S3DataSegmentPusher.java   |   2 +-
 .../storage/s3/S3DataSegmentArchiverTest.java      |   8 +-
 .../druid/storage/s3/S3DataSegmentFinderTest.java  |   2 +-
 .../druid/storage/s3/S3DataSegmentMoverTest.java   |  16 +-
 .../druid/storage/s3/S3DataSegmentPusherTest.java  |   6 +-
 .../variance/VarianceAggregatorCollector.java      |   2 +-
 .../variance/VarianceAggregatorCollectorTest.java  |   2 +-
 .../variance/VarianceGroupByQueryTest.java         |  25 +-
 .../variance/VarianceTopNQueryTest.java            |  65 +-
 .../druid/hll/HyperLogLogSerdeBenchmarkTest.java   |   2 +-
 .../io/druid/indexer/DeterminePartitionsJob.java   |   2 +-
 .../io/druid/indexer/HadoopDruidIndexerConfig.java |   2 +-
 .../java/io/druid/indexer/HadoopTuningConfig.java  |   2 +-
 .../io/druid/indexer/IndexingHadoopModule.java     |   4 +-
 .../main/java/io/druid/indexer/InputRowSerde.java  |  12 +-
 .../indexer/hadoop/DatasourceInputFormat.java      |   2 +-
 .../updater/HadoopDruidConverterConfig.java        |   2 +-
 .../io/druid/indexer/BatchDeltaIngestionTest.java  |  38 +-
 .../indexer/DetermineHashedPartitionsJobTest.java  |   2 +-
 .../druid/indexer/DeterminePartitionsJobTest.java  |   2 +-
 .../indexer/HadoopDruidIndexerConfigTest.java      |  10 +-
 ...onSpecUpdateDatasourcePathSpecSegmentsTest.java |   8 +-
 .../druid/indexer/IndexGeneratorCombinerTest.java  |  18 +-
 .../io/druid/indexer/IndexGeneratorJobTest.java    |  16 +-
 .../java/io/druid/indexer/InputRowSerdeTest.java   |  14 +-
 .../test/java/io/druid/indexer/JobHelperTest.java  |   8 +-
 .../indexer/hadoop/DatasourceInputFormatTest.java  |  10 +-
 .../indexer/hadoop/DatasourceInputSplitTest.java   |   2 +-
 .../indexer/hadoop/DatasourceRecordReaderTest.java |   8 +-
 .../indexer/hadoop/WindowedDataSegmentTest.java    |   2 +-
 .../druid/indexer/path/DatasourcePathSpecTest.java |   8 +-
 .../druid/indexer/path/MultiplePathSpecTest.java   |   2 +-
 .../indexer/updater/HadoopConverterJobTest.java    |  16 +-
 .../updater/HadoopDruidConverterConfigTest.java    |   5 +-
 .../ActionBasedUsedSegmentChecker.java             |   2 +-
 .../io/druid/indexing/common/task/AppendTask.java  |   2 +-
 .../indexing/common/task/HadoopConverterTask.java  |   2 +-
 .../io/druid/indexing/common/task/HadoopTask.java  |   2 +-
 .../io/druid/indexing/common/task/MergeTask.java   |   2 +-
 .../indexing/common/tasklogs/FileTaskLogs.java     |   4 +-
 .../druid/indexing/overlord/ForkingTaskRunner.java |   4 +-
 .../druid/indexing/overlord/RemoteTaskRunner.java  |   2 +-
 .../overlord/RemoteTaskRunnerWorkItem.java         |   2 +-
 .../io/druid/indexing/overlord/TaskStorage.java    |   2 +-
 ...PendingTaskBasedWorkerProvisioningStrategy.java |   4 +-
 .../overlord/autoscaling/ec2/EC2AutoScaler.java    |   4 +-
 .../overlord/hrtr/HttpRemoteTaskRunner.java        |   2 +-
 .../http/security/SupervisorResourceFilter.java    |   2 +-
 .../overlord/http/security/TaskResourceFilter.java |   2 +-
 .../overlord/supervisor/SupervisorManager.java     |   2 +-
 .../common/actions/SegmentInsertActionTest.java    |  18 +-
 .../SegmentTransactionalInsertActionTest.java      |  20 +-
 .../AppenderatorDriverRealtimeIndexTaskTest.java   |   8 +-
 .../indexing/common/task/CompactionTaskTest.java   |   2 +-
 .../common/task/ConvertSegmentTaskTest.java        |   6 +-
 .../common/task/HadoopConverterTaskSerDeTest.java  |   2 +-
 .../druid/indexing/common/task/HadoopTaskTest.java |   4 +-
 .../druid/indexing/common/task/IndexTaskTest.java  |  54 +-
 .../common/task/RealtimeIndexTaskTest.java         |   7 +-
 .../common/task/SameIntervalMergeTaskTest.java     |   6 +-
 .../druid/indexing/common/task/TaskSerdeTest.java  |  16 +-
 .../firehose/IngestSegmentFirehoseFactoryTest.java |   9 +-
 .../IngestSegmentFirehoseFactoryTimelineTest.java  |   4 +-
 .../druid/indexing/overlord/TaskLifecycleTest.java |  10 +-
 .../overlord/autoscaling/EC2AutoScalerTest.java    |   2 +-
 .../PendingTaskBasedProvisioningStrategyTest.java  | 105 ++-
 .../SimpleProvisioningStrategyTest.java            |  43 +-
 .../overlord/autoscaling/ec2/EC2NodeDataTest.java  |   4 +-
 .../druid/indexing/overlord/http/OverlordTest.java |  10 +-
 .../OverlordSecurityResourceFilterTest.java        |   6 +-
 ...butionWithAffinityWorkerSelectStrategyTest.java |  28 +-
 .../EqualDistributionWorkerSelectStrategyTest.java |  48 +-
 ...pacityWithAffinityWorkerSelectStrategyTest.java |  20 +-
 .../setup/JavaScriptWorkerSelectStrategyTest.java  |   2 +-
 .../overlord/setup/WorkerBehaviorConfigTest.java   |   4 +-
 .../overlord/supervisor/SupervisorManagerTest.java |  16 +-
 .../supervisor/SupervisorResourceTest.java         | 124 +--
 .../indexing/worker/WorkerTaskManagerTest.java     |   2 +-
 .../indexing/worker/WorkerTaskMonitorTest.java     |   2 +-
 .../server/initialization/IndexerZkConfigTest.java |   8 +-
 .../io/druid/testing/DockerConfigProvider.java     |   2 +-
 .../clients/OverlordResourceTestClient.java        |   2 +-
 .../io/druid/testing/utils/TestQueryHelper.java    |   3 +-
 .../security/ITBasicAuthConfigurationTest.java     |   4 +-
 .../java/io/druid/java/util/common/FileUtils.java  |   2 +-
 .../java/io/druid/java/util/common/JodaUtils.java  |   4 +-
 .../java/util/common/lifecycle/Lifecycle.java      |  10 +-
 .../java/util/common/parsers/JSONPathSpec.java     |   2 +-
 .../java/util/common/parsers/TimestampParser.java  |  16 +-
 .../java/util/emitter/service/AlertEvent.java      |   2 +-
 .../java/util/emitter/service/ServiceEmitter.java  |   2 +-
 .../io/druid/java/util/http/client/Request.java    |   6 +-
 .../response/InputStreamResponseHandler.java       |   2 +-
 .../SequenceInputStreamResponseHandler.java        |   4 +-
 .../io/druid/java/util/metrics/JvmCpuMonitor.java  |   2 +-
 .../io/druid/java/util/metrics/SysMonitor.java     |   6 +-
 .../java/util/common/CompressionUtilsTest.java     |   6 +-
 .../java/util/common/guava/BaseSequenceTest.java   |   3 +-
 .../java/util/common/guava/ConcatSequenceTest.java |  13 +-
 .../util/common/guava/FunctionalIterableTest.java  |  13 +-
 .../util/common/guava/FunctionalIteratorTest.java  |  13 +-
 .../java/util/common/guava/MergeIteratorTest.java  |   4 +-
 .../java/util/common/guava/MergeSequenceTest.java  |  25 +-
 .../common/guava/nary/SortedMergeIteratorTest.java |   2 +-
 .../java/util/common/parsers/RegexParserTest.java  |   7 +-
 .../java/util/emitter/service/AlertEventTest.java  |   4 +-
 .../emitter/service/ServiceMetricEventTest.java    |  41 +-
 .../java/util/http/client/FriendlyServersTest.java |   2 +-
 .../io/druid/java/util/metrics/MonitorsTest.java   |   4 +-
 .../druid/collections/spatial/ImmutableRTree.java  |   2 +-
 .../java/io/druid/collections/spatial/Node.java    |   2 +-
 .../java/io/druid/collections/spatial/Point.java   |   4 +-
 .../main/java/io/druid/guice/GuiceInjectors.java   |  16 +-
 .../src/main/java/io/druid/query/DruidMetrics.java |   3 +-
 .../io/druid/query/FinalizeResultsQueryRunner.java |   2 +-
 .../java/io/druid/query/QueryRunnerHelper.java     |   2 +-
 .../main/java/io/druid/query/TimewarpOperator.java |   5 +-
 .../druid/query/aggregation/AggregatorFactory.java |   2 +-
 .../query/aggregation/CountAggregatorFactory.java  |   4 +-
 .../aggregation/HistogramAggregatorFactory.java    |   8 +-
 .../query/aggregation/JavaScriptAggregator.java    |   2 +-
 .../aggregation/JavaScriptBufferAggregator.java    |   2 +-
 .../cardinality/CardinalityAggregator.java         |   2 +-
 .../first/DoubleFirstAggregatorFactory.java        |   3 +-
 .../first/FloatFirstAggregatorFactory.java         |   3 +-
 .../first/LongFirstAggregatorFactory.java          |   3 +-
 .../hyperloglog/HyperUniquesAggregatorFactory.java |   3 +-
 .../last/DoubleLastAggregatorFactory.java          |   3 +-
 .../last/FloatLastAggregatorFactory.java           |   3 +-
 .../last/LongLastAggregatorFactory.java            |   3 +-
 .../java/io/druid/query/groupby/GroupByQuery.java  |   4 +-
 .../io/druid/query/groupby/GroupByQueryEngine.java |   2 +-
 .../io/druid/query/groupby/GroupByQueryHelper.java |   2 +-
 .../query/groupby/GroupByQueryQueryToolChest.java  |   2 +-
 .../groupby/RowBasedColumnSelectorFactory.java     |   2 +-
 .../groupby/epinephelinae/BufferHashGrouper.java   |   2 +-
 .../epinephelinae/GroupByMergingQueryRunnerV2.java |   2 +-
 .../epinephelinae/GroupByQueryEngineV2.java        |  10 +-
 .../epinephelinae/LimitedBufferHashGrouper.java    |   2 +-
 .../epinephelinae/RowBasedGrouperHelper.java       |   2 +-
 .../druid/query/groupby/having/AndHavingSpec.java  |   2 +-
 .../druid/query/groupby/having/OrHavingSpec.java   |   2 +-
 .../query/groupby/orderby/DefaultLimitSpec.java    |   2 +-
 .../query/groupby/strategy/GroupByStrategyV1.java  |   5 +-
 .../query/groupby/strategy/GroupByStrategyV2.java  |   2 +-
 .../SegmentMetadataQueryQueryToolChest.java        |   4 +-
 .../java/io/druid/query/scan/ScanQueryEngine.java  |   2 +-
 .../io/druid/query/search/CursorOnlyStrategy.java  |   2 +-
 .../query/search/FragmentSearchQuerySpec.java      |   6 +-
 .../query/search/SearchQueryQueryToolChest.java    |   6 +-
 .../java/io/druid/query/select/PagingSpec.java     |   2 +-
 .../query/select/SelectQueryQueryToolChest.java    |   4 +-
 .../main/java/io/druid/query/topn/TopNQuery.java   |   4 +-
 .../java/io/druid/query/topn/TopNQueryEngine.java  |   2 +-
 .../java/io/druid/query/topn/TopNResultValue.java  |   2 +-
 .../io/druid/segment/DoubleDimensionIndexer.java   |   2 +-
 .../io/druid/segment/FloatDimensionIndexer.java    |   2 +-
 .../main/java/io/druid/segment/IndexMerger.java    |   2 +-
 .../main/java/io/druid/segment/IndexMergerV9.java  |   5 +-
 .../main/java/io/druid/segment/VirtualColumns.java |   2 +-
 .../main/java/io/druid/segment/column/Column.java  |   2 +-
 .../segment/incremental/IncrementalIndex.java      |   6 +-
 .../writeout/SegmentWriteOutMediumFactory.java     |   2 +-
 .../druid/collections/CombiningIterableTest.java   |   3 +-
 .../bitmap/WrappedRoaringBitmapTest.java           |  10 +-
 .../io/druid/granularity/QueryGranularityTest.java |   2 +-
 .../guice/MetadataStorageTablesConfigTest.java     |   4 +-
 .../guice/SegmentMetadataQueryConfigTest.java      |   4 +-
 .../java/io/druid/query/AsyncQueryRunnerTest.java  |   3 +-
 .../query/ChainedExecutionQueryRunnerTest.java     |  14 +-
 .../test/java/io/druid/query/DataSourceTest.java   |   6 +-
 .../java/io/druid/query/DoubleStorageTest.java     |   8 +-
 .../query/IntervalChunkingQueryRunnerTest.java     |   7 +-
 .../io/druid/query/MultiValuedDimensionTest.java   |  25 +-
 .../src/test/java/io/druid/query/QueriesTest.java  |  29 +-
 .../java/io/druid/query/QueryRunnerTestHelper.java |  15 +-
 .../java/io/druid/query/RetryQueryRunnerTest.java  |  21 +-
 .../java/io/druid/query/SchemaEvolutionTest.java   |  19 +-
 .../java/io/druid/query/TimewarpOperatorTest.java  |  57 +-
 .../java/io/druid/query/UnionQueryRunnerTest.java  |   4 +-
 .../query/aggregation/AggregationTestHelper.java   |   2 +-
 .../query/aggregation/AggregatorFactoryTest.java   |   2 +-
 .../query/aggregation/AggregatorUtilTest.java      |  24 +-
 .../query/aggregation/FilteredAggregatorTest.java  |  11 +-
 .../CardinalityAggregatorBenchmark.java            |   2 +-
 .../cardinality/CardinalityAggregatorTest.java     |  14 +-
 .../HyperUniqueFinalizingPostAggregatorTest.java   |   4 +-
 .../post/ArithmeticPostAggregatorTest.java         |  20 +-
 .../FinalizingFieldAccessPostAggregatorTest.java   |   4 +-
 .../io/druid/query/cache/CacheKeyBuilderTest.java  |  10 +-
 .../DataSourceMetadataQueryTest.java               |   6 +-
 .../query/extraction/MapLookupExtractorTest.java   |   2 +-
 .../query/filter/GetDimensionRangeSetTest.java     |   4 +-
 .../druid/query/filter/InDimFilterSerDesrTest.java |   5 +-
 .../druid/query/filter/SelectorDimFilterTest.java  |   7 +-
 .../groupby/DefaultGroupByQueryMetricsTest.java    |   5 +-
 ...GroupByLimitPushDownInsufficientBufferTest.java |  15 +-
 .../GroupByLimitPushDownMultiNodeMergeTest.java    |   9 +-
 .../query/groupby/GroupByMultiSegmentTest.java     |   7 +-
 .../query/groupby/GroupByQueryConfigTest.java      |   2 +-
 .../query/groupby/GroupByQueryMergeBufferTest.java |  36 +-
 .../groupby/GroupByQueryRunnerFactoryTest.java     |   3 +-
 .../groupby/GroupByQueryRunnerFailureTest.java     |  24 +-
 .../query/groupby/GroupByQueryRunnerTest.java      | 582 +++++++------
 .../io/druid/query/groupby/GroupByQueryTest.java   |   8 +-
 .../groupby/GroupByTimeseriesQueryRunnerTest.java  |   2 +-
 .../epinephelinae/BufferHashGrouperTest.java       |  14 +-
 .../ByteBufferMinMaxOffsetHeapTest.java            |  10 +-
 .../LimitedBufferHashGrouperTest.java              |   8 +-
 .../groupby/having/DimFilterHavingSpecTest.java    |  10 +-
 .../having/DimensionSelectorHavingSpecTest.java    |   2 +-
 .../druid/query/groupby/having/HavingSpecTest.java |  16 +-
 .../groupby/orderby/DefaultLimitSpecTest.java      |  43 +-
 .../io/druid/query/lookup/LookupExtractorTest.java |   8 +-
 .../druid/query/metadata/SegmentAnalyzerTest.java  |   2 +-
 .../SegmentMetadataQueryQueryToolChestTest.java    |  26 +-
 .../query/metadata/SegmentMetadataQueryTest.java   |  41 +-
 .../query/scan/MultiSegmentScanQueryTest.java      |   3 +-
 .../io/druid/query/scan/ScanQueryRunnerTest.java   |   7 +-
 .../io/druid/query/scan/ScanQuerySpecTest.java     |   2 +-
 .../io/druid/query/search/SearchBinaryFnTest.java  |  30 +-
 .../druid/query/search/SearchQueryRunnerTest.java  |   8 +-
 .../search/SearchQueryRunnerWithCaseTest.java      |   7 +-
 .../query/select/MultiSegmentSelectQueryTest.java  |   5 +-
 .../io/druid/query/select/SelectBinaryFnTest.java  |  40 +-
 .../druid/query/select/SelectQueryRunnerTest.java  |  68 +-
 .../io/druid/query/select/SelectQuerySpecTest.java |   9 +-
 .../io/druid/query/spec/QuerySegmentSpecTest.java  |   6 +-
 .../query/spec/SpecificSegmentQueryRunnerTest.java |   5 +-
 .../query/timeboundary/TimeBoundaryQueryTest.java  |   4 +-
 .../timeseries/TimeSeriesUnionQueryRunnerTest.java |  27 +-
 .../query/timeseries/TimeseriesBinaryFnTest.java   |  20 +-
 .../TimeseriesQueryQueryToolChestTest.java         |   3 +-
 .../timeseries/TimeseriesQueryRunnerBonusTest.java |   4 +-
 .../timeseries/TimeseriesQueryRunnerTest.java      | 166 ++--
 .../java/io/druid/query/topn/TopNBinaryFnTest.java |  81 +-
 .../topn/TopNMetricSpecOptimizationsTest.java      |  24 +-
 .../query/topn/TopNQueryQueryToolChestTest.java    |  31 +-
 .../druid/query/topn/TopNQueryRunnerBenchmark.java |   8 +-
 .../io/druid/query/topn/TopNQueryRunnerTest.java   | 906 +++++++++++----------
 .../java/io/druid/query/topn/TopNQueryTest.java    |   9 +-
 .../io/druid/query/topn/TopNUnionQueryTest.java    |  87 +-
 .../src/test/java/io/druid/segment/AppendTest.java | 212 ++---
 .../test/java/io/druid/segment/CloserRuleTest.java |   2 +-
 .../test/java/io/druid/segment/EmptyIndexTest.java |   2 +-
 .../test/java/io/druid/segment/IndexIOTest.java    |  18 +-
 .../java/io/druid/segment/IndexMergerTestBase.java |   2 +-
 .../segment/IndexMergerV9CompatibilityTest.java    |  14 +-
 .../segment/IndexMergerV9WithSpatialIndexTest.java |  65 +-
 .../io/druid/segment/MergeIntIteratorTest.java     |   4 +-
 .../test/java/io/druid/segment/MetadataTest.java   |   2 +-
 .../java/io/druid/segment/SchemalessIndexTest.java |   9 +-
 .../io/druid/segment/SchemalessTestFullTest.java   | 813 +++++++++---------
 .../io/druid/segment/SchemalessTestSimpleTest.java |  84 +-
 .../src/test/java/io/druid/segment/TestIndex.java  |   2 +-
 .../segment/data/BenchmarkIndexibleWrites.java     |   2 +-
 .../segment/data/BitmapCreationBenchmark.java      |   7 +-
 .../druid/segment/data/IncrementalIndexTest.java   |  37 +-
 .../io/druid/segment/filter/AndFilterTest.java     |  49 +-
 .../io/druid/segment/filter/BaseFilterTest.java    |  11 +-
 .../io/druid/segment/filter/BoundFilterTest.java   |  50 +-
 .../segment/filter/ColumnComparisonFilterTest.java |  53 +-
 .../segment/filter/ExtractionDimFilterTest.java    |   8 +-
 .../druid/segment/filter/FilterPartitionTest.java  | 156 ++--
 .../filter/FloatAndDoubleFilteringTest.java        |  80 +-
 .../java/io/druid/segment/filter/InFilterTest.java |  36 +-
 .../druid/segment/filter/InvalidFilteringTest.java |  20 +-
 .../druid/segment/filter/JavaScriptFilterTest.java |  36 +-
 .../io/druid/segment/filter/LikeFilterTest.java    |  12 +-
 .../io/druid/segment/filter/LongFilteringTest.java | 116 +--
 .../io/druid/segment/filter/NotFilterTest.java     |  12 +-
 .../io/druid/segment/filter/RegexFilterTest.java   |  38 +-
 .../segment/filter/SearchQueryFilterTest.java      |  38 +-
 .../druid/segment/filter/SelectorFilterTest.java   |  40 +-
 .../segment/filter/SpatialFilterBonusTest.java     |  57 +-
 .../io/druid/segment/filter/SpatialFilterTest.java |  65 +-
 .../io/druid/segment/filter/TimeFilteringTest.java |  79 +-
 .../IncrementalIndexMultiValueSpecTest.java        |   6 +-
 .../IncrementalIndexStorageAdapterTest.java        |  26 +-
 .../segment/incremental/IncrementalIndexTest.java  |  23 +-
 .../OnheapIncrementalIndexBenchmark.java           |   2 +-
 .../incremental/OnheapIncrementalIndexTest.java    |   4 +-
 .../virtual/ExpressionVirtualColumnTest.java       |   4 +-
 .../druid/segment/virtual/VirtualColumnsTest.java  |  16 +-
 .../client/BatchServerInventoryViewProvider.java   |   5 +-
 .../java/io/druid/client/CachingQueryRunner.java   |   2 +-
 .../java/io/druid/client/DirectDruidClient.java    |   6 +-
 .../FilteredBatchServerInventoryViewProvider.java  |   5 +-
 .../FilteredHttpServerInventoryViewProvider.java   |   5 +-
 .../FilteredSingleServerInventoryViewProvider.java |   5 +-
 .../client/HttpServerInventoryViewProvider.java    |   5 +-
 .../client/SingleServerInventoryProvider.java      |   5 +-
 .../java/io/druid/client/cache/MemcachedCache.java |   4 +-
 .../main/java/io/druid/guice/FirehoseModule.java   |   4 +-
 .../main/java/io/druid/guice/ParsersModule.java    |   4 +-
 .../main/java/io/druid/guice/QueryableModule.java  |   4 +-
 .../java/io/druid/guice/StorageNodeModule.java     |   2 +-
 .../IndexerSQLMetadataStorageCoordinator.java      |   4 +-
 .../io/druid/metadata/SQLMetadataRuleManager.java  |  13 +-
 .../metadata/SQLMetadataStorageActionHandler.java  |  16 +-
 .../metadata/SQLMetadataSupervisorManager.java     |   8 +-
 .../io/druid/query/LocatedSegmentDescriptor.java   |   2 +-
 .../granularity/ArbitraryGranularitySpec.java      |   2 +-
 .../granularity/UniformGranularitySpec.java        |   2 +-
 .../segment/loading/LocalDataSegmentFinder.java    |   2 +-
 .../segment/loading/LocalDataSegmentPusher.java    |   2 +-
 .../segment/realtime/RealtimeMetricsMonitor.java   |   2 +-
 .../realtime/appenderator/AppenderatorPlumber.java |   6 +-
 .../segment/realtime/appenderator/Committed.java   |   2 +-
 .../realtime/appenderator/SegmentWithState.java    |   4 +-
 .../realtime/firehose/HttpFirehoseFactory.java     |   2 +-
 .../io/druid/segment/realtime/plumber/Sink.java    |   4 +-
 .../druid/server/AsyncQueryForwardingServlet.java  |   6 +-
 .../java/io/druid/server/ClientInfoResource.java   |   4 +-
 .../main/java/io/druid/server/QueryManager.java    |   4 +-
 .../druid/server/coordination/ServerManager.java   |   4 +-
 .../server/coordination/broker/DruidBroker.java    |   5 +-
 .../server/coordinator/SegmentReplicantLookup.java |   2 +-
 .../helper/DruidCoordinatorSegmentCompactor.java   |   2 +-
 .../helper/DruidCoordinatorSegmentMerger.java      |   2 +-
 .../druid/server/http/HostAndPortWithScheme.java   |   2 +-
 .../http/security/DatasourceResourceFilter.java    |   2 +-
 .../server/http/security/RulesResourceFilter.java  |   2 +-
 .../initialization/jetty/JettyServerModule.java    |  10 +-
 .../jetty/TaskIdResponseHeaderFilterHolder.java    |   2 +-
 .../listener/resource/AbstractListenerHandler.java |   2 +-
 .../io/druid/server/log/LoggingRequestLogger.java  |   2 +-
 .../lookup/cache/LookupCoordinatorManager.java     |   2 +-
 .../io/druid/server/metrics/DruidSysMonitor.java   |   2 +-
 .../java/io/druid/client/BrokerServerViewTest.java |  12 +-
 .../CachingClusteredClientFunctionalityTest.java   |  11 +-
 .../druid/client/CachingClusteredClientTest.java   |  65 +-
 .../io/druid/client/CachingQueryRunnerTest.java    |   6 +-
 .../io/druid/client/CoordinatorServerViewTest.java |  12 +-
 .../io/druid/client/DirectDruidClientTest.java     |  18 +-
 .../io/druid/client/cache/CaffeineCacheTest.java   |  13 +-
 .../client/cache/MemcachedCacheBenchmark.java      |   3 +-
 .../io/druid/client/cache/MemcachedCacheTest.java  |   5 +-
 .../client/BatchServerInventoryViewTest.java       |   8 +-
 .../client/indexing/ClientAppendQueryTest.java     |   2 +-
 .../client/selector/TierSelectorStrategyTest.java  |   6 +-
 .../java/io/druid/guice/JsonConfigTesterBase.java  |   2 +-
 .../druid/initialization/InitializationTest.java   |   6 +-
 .../IndexerSQLMetadataStorageCoordinatorTest.java  |  24 +-
 .../druid/metadata/SQLMetadataRuleManagerTest.java |  14 +-
 .../metadata/SQLMetadataSegmentManagerTest.java    |   4 +-
 .../lookup/LookupIntrospectionResourceTest.java    |   6 +-
 .../query/lookup/LookupReferencesManagerTest.java  |   2 +-
 .../firehose/CombiningFirehoseFactoryTest.java     |   5 +-
 .../io/druid/segment/loading/LoadSpecTest.java     |   2 +-
 .../loading/LocalDataSegmentFinderTest.java        |   2 +-
 .../loading/LocalDataSegmentKillerTest.java        |   2 +-
 .../SegmentLoaderLocalCacheManagerTest.java        |  18 +-
 .../druid/segment/loading/StorageLocationTest.java |   8 +-
 .../segment/realtime/RealtimeManagerTest.java      |  29 +-
 .../appenderator/AppenderatorPlumberTest.java      |   2 +-
 .../realtime/appenderator/AppenderatorTest.java    |  37 +-
 .../realtime/appenderator/AppenderatorTester.java  |   4 +-
 .../appenderator/BatchAppenderatorDriverTest.java  |   8 +-
 .../appenderator/StreamAppenderatorDriverTest.java |   8 +-
 .../firehose/IngestSegmentFirehoseTest.java        |   4 +-
 .../plumber/RealtimePlumberSchoolTest.java         |  17 +-
 .../druid/segment/realtime/plumber/SinkTest.java   |  10 +-
 .../io/druid/server/ClientInfoResourceTest.java    |  18 +-
 .../java/io/druid/server/QueryResourceTest.java    |   3 +-
 .../coordination/SegmentChangeRequestDropTest.java |   2 +-
 .../coordination/SegmentChangeRequestLoadTest.java |   2 +-
 .../coordination/SegmentLoadDropHandlerTest.java   |   2 +-
 .../server/coordination/ServerManagerTest.java     |  27 +-
 .../server/coordination/ZkCoordinatorTest.java     |   2 +-
 .../BatchDataSegmentAnnouncerTest.java             |   6 +-
 .../coordinator/CostBalancerStrategyBenchmark.java |   8 +-
 .../coordinator/CostBalancerStrategyTest.java      |   4 +-
 .../DiskNormalizedCostBalancerStrategyTest.java    |   4 +-
 .../DruidCoordinatorBalancerProfiler.java          |  40 +-
 .../DruidCoordinatorRuleRunnerTest.java            | 160 ++--
 .../server/coordinator/DruidCoordinatorTest.java   |   4 +-
 .../server/coordinator/LoadQueuePeonTest.java      |  12 +-
 .../coordinator/ReservoirSegmentSamplerTest.java   |  40 +-
 .../coordinator/cost/SegmentsCostCacheTest.java    |   4 +-
 .../DruidCoordinatorCleanupOvershadowedTest.java   |   2 +-
 .../helper/DruidCoordinatorSegmentKillerTest.java  |  16 +-
 .../coordinator/rules/ForeverLoadRuleTest.java     |   2 +-
 .../coordinator/rules/IntervalLoadRuleTest.java    |   2 +-
 .../server/coordinator/rules/LoadRuleTest.java     |  12 +-
 .../coordinator/rules/PeriodLoadRuleTest.java      |   6 +-
 .../server/http/LookupCoordinatorResourceTest.java |   4 +-
 .../http/security/ResourceFilterTestHelper.java    |   8 +-
 .../listener/resource/ListenerResourceTest.java    |   6 +-
 .../server/log/FilteredRequestLoggerTest.java      |   6 +-
 .../druid/server/log/LoggingRequestLoggerTest.java |   4 +-
 .../lookup/cache/LookupCoordinatorManagerTest.java |  92 +--
 .../LookupExtractorFactoryMapContainerTest.java    |   2 +-
 .../metrics/HistoricalMetricsMonitorTest.java      |   6 +-
 ...JavaScriptTieredBrokerSelectorStrategyTest.java |   2 +-
 .../druid/server/router/QueryHostFinderTest.java   |   5 +-
 .../router/TieredBrokerHostSelectorTest.java       |  46 +-
 .../druid/server/shard/NumberedShardSpecTest.java  |   2 +-
 .../server/shard/SingleDimensionShardSpecTest.java |   2 +-
 .../java/io/druid/timeline/DataSegmentTest.java    |   2 +-
 .../partition/HashBasedNumberedShardSpecTest.java  |   4 +-
 services/src/main/java/io/druid/cli/CliBroker.java | 100 ++-
 .../src/main/java/io/druid/cli/CliCoordinator.java |   2 +-
 .../main/java/io/druid/cli/CliHadoopIndexer.java   |   2 +-
 .../src/main/java/io/druid/cli/CliHistorical.java  |  62 +-
 .../io/druid/cli/CliInternalHadoopIndexer.java     |  42 +-
 .../main/java/io/druid/cli/CliMiddleManager.java   |   4 +-
 .../src/main/java/io/druid/cli/CliOverlord.java    |   7 +-
 services/src/main/java/io/druid/cli/CliPeon.java   |  18 +-
 .../src/main/java/io/druid/cli/CliRealtime.java    |  14 +-
 .../main/java/io/druid/cli/CliRealtimeExample.java |  22 +-
 .../src/main/java/io/druid/cli/CreateTables.java   |  64 +-
 .../src/main/java/io/druid/cli/DumpSegment.java    |  17 +-
 .../src/main/java/io/druid/cli/InsertSegment.java  |  18 +-
 .../cli/MiddleManagerJettyServerInitializer.java   |   3 +-
 .../main/java/io/druid/cli/PullDependencies.java   |   8 +-
 .../src/main/java/io/druid/cli/ResetCluster.java   |  20 +-
 .../io/druid/cli/validate/DruidJsonValidator.java  |  26 +-
 .../java/io/druid/cli/PullDependenciesTest.java    |   2 +-
 .../sql/calcite/expression/ExtractionFns.java      |   2 +-
 .../druid/sql/calcite/filtration/Filtration.java   |   2 +-
 .../filtration/MoveMarkerFiltersToIntervals.java   |   3 +-
 .../druid/sql/calcite/planner/PlannerContext.java  |   2 +-
 .../sql/calcite/schema/InformationSchema.java      |   2 +-
 sql/src/main/java/io/druid/sql/http/SqlQuery.java  |   2 +-
 .../io/druid/sql/avatica/DruidStatementTest.java   |   6 +-
 .../io/druid/sql/calcite/CalciteQueryTest.java     |  18 +-
 .../io/druid/sql/calcite/http/SqlResourceTest.java |   6 +-
 .../io/druid/sql/calcite/util/CalciteTests.java    |   2 +-
 546 files changed, 4317 insertions(+), 4459 deletions(-)

diff --git a/.idea/inspectionProfiles/Druid.xml b/.idea/inspectionProfiles/Druid.xml
index 4960474..81f67f0 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 1381382..837a482 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 class 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 7a6ae9d..6ac9a09 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 class ConditionalMultibind<T>
    */
   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 @@ public class ConditionalMultibind<T>
       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 class ConditionalMultibind<T>
    */
   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 @@ public class ConditionalMultibind<T>
       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 15a8e64..b1b94e6 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 @@ public class JsonConfigProvider<T> implements Provider<Supplier<T>>
       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 d059868..3649ec7 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 class CSVParseSpecTest
         ),
         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 class CSVParseSpecTest
         ),
         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 afb1bb3..219db55 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 class DelimitedParseSpecTest
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "b")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         " ",
@@ -93,8 +93,8 @@ public class DelimitedParseSpecTest
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a,", "b")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         null,
@@ -116,8 +116,8 @@ public class DelimitedParseSpecTest
         ),
         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 e812aa3..75cd6ed 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 class InputRowParserSerdeTest
         InputRowParser.class
     );
     final InputRow parsed = parser2.parseBatch(
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "foo", "x",
             "bar", "y",
             "qux", "z",
@@ -139,7 +139,7 @@ public class InputRowParserSerdeTest
         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 e9da6f6..c8a1560 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 class JSONLowercaseParseSpecTest
         ),
         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 3c5a2fc..243dcc0 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 org.junit.Test;
 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 class JSONParseSpecTest
 
     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 eb81ded..f8e667e 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 class ParseSpecTest
         ),
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "b", "a")),
-            Lists.<String>newArrayList(),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList(),
+            Lists.newArrayList()
         ),
         ",",
         " ",
@@ -69,7 +69,7 @@ public class ParseSpecTest
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Arrays.asList("a", "B")),
             Lists.newArrayList("B"),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList()
         ),
         ",",
         null,
@@ -92,7 +92,7 @@ public class ParseSpecTest
         new DimensionsSpec(
             DimensionsSpec.getDefaultSchemas(Collections.singletonList("a")),
             Lists.newArrayList("B", "B"),
-            Lists.<SpatialDimensionSchema>newArrayList()
+            Lists.newArrayList()
         ),
         ",",
         null,
@@ -113,7 +113,7 @@ public class ParseSpecTest
         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 79fa718..953a020 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 class TimestampSpecTest
     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 class TimestampSpecTest
     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 class TimestampSpecTest
     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 3a2d8f2..f7017fd 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 class ConditionalMultibindTest
     }));
 
     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 class ConditionalMultibindTest
     }));
 
     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 class ConditionalMultibindTest
     }));
 
     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 class ConditionalMultibindTest
     {
     }, 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 class ConditionalMultibindTest
     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 class ConditionalMultibindTest
   {
     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 fece707..9796db6 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 class JsonConfiguratorTest
   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 @@ class 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 30a97ba..fc5bd28 100644
--- a/api/src/test/java/io/druid/timeline/DataSegmentTest.java
+++ b/api/src/test/java/io/druid/timeline/DataSegmentTest.java
@@ -108,7 +108,7 @@ public class DataSegmentTest
   {
 
     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 c29414e..bcf0f36 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 class FilterPartitionBenchmark
   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 class FilterPartitionBenchmark
   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 class FilterPartitionBenchmark
   @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 class FilterPartitionBenchmark
   @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 24da6a6..0e29700 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 class FloatCompressionBenchmarkFileGenerator
     }
 
     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 3928dc4..a3e3865 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.AggregatorFactory;
 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 @@ public class GroupByTypeInterfaceBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null)
           ))
           .setAggregatorSpecs(
@@ -195,7 +194,7 @@ public class GroupByTypeInterfaceBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("metLongUniform", null),
               new DefaultDimensionSpec("metFloatNormal", null)
           ))
@@ -209,7 +208,7 @@ public class GroupByTypeInterfaceBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("metLongUniform", null)
           ))
           .setAggregatorSpecs(
@@ -222,7 +221,7 @@ public class GroupByTypeInterfaceBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("metFloatNormal", null)
           ))
           .setAggregatorSpecs(
@@ -249,7 +248,7 @@ public class GroupByTypeInterfaceBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null),
               new DefaultDimensionSpec("dimZipf", null)
           ))
@@ -263,7 +262,7 @@ public class GroupByTypeInterfaceBenchmark
           .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 6b2cc94..52a34d3 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 class LongCompressionBenchmarkFileGenerator
     }
 
     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 4f923ac..f9ef049 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 class MergeSequenceBenchmark
     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 05da360..d50c1a0 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 @@ public class BenchmarkSchemas
             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 @@ public class BenchmarkSchemas
             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 931bcd7..ad98f5b 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.DoubleSumAggregatorFactory;
 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 @@ public class GroupByBenchmark
           .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 @@ public class GroupByBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null),
               new DefaultDimensionSpec("dimZipf", null)
           ))
@@ -233,7 +232,7 @@ public class GroupByBenchmark
           .builder()
           .setDataSource(subqueryA)
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", null)
           ))
           .setAggregatorSpecs(
@@ -309,7 +308,7 @@ public class GroupByBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", "dimSequential", ValueType.STRING)
           ))
           .setAggregatorSpecs(
@@ -336,7 +335,7 @@ public class GroupByBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", "dimSequential", ValueType.LONG)
           ))
           .setAggregatorSpecs(
@@ -363,7 +362,7 @@ public class GroupByBenchmark
           .builder()
           .setDataSource("blah")
           .setQuerySegmentSpec(intervalSpec)
-          .setDimensions(Lists.<DimensionSpec>newArrayList(
+          .setDimensions(Lists.newArrayList(
               new DefaultDimensionSpec("dimSequential", "dimSequential", ValueType.FLOAT)
           ))
           .setAggregatorSpecs(
@@ -575,7 +574,7 @@ public class GroupByBenchmark
         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 class GroupByBenchmark
     );
 
     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 class GroupByBenchmark
         (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 b2ff59e..7210779 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 @@ public class SearchBenchmark
         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 class SearchBenchmark
 
     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 e563efa..3a55aac 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 org.openjdk.jmh.infra.Blackhole;
 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 @@ public class SelectBenchmark
       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 @@ public class SelectBenchmark
         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 038c6ae..014d1c8 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.guava.Sequence;
 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 org.openjdk.jmh.infra.Blackhole;
 
 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 class SqlBenchmark
         .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 06f61d8..00f82f2 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 @@ public class TimeseriesBenchmark
         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 class TimeseriesBenchmark
 
     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 e13c137..a67ab8e 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 @@ public class TopNBenchmark
         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 class TopNBenchmark
 
     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 a87eb60..ea1f32e 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 @@ public class CachingCostBalancerStrategyBenchmark
         "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 315e8db..a1b122f 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 class BenchmarkDataGeneratorTest
             false,
             1,
             null,
-            Arrays.<Object>asList("Hello", "World", "Foo", "Bar")
+            Arrays.asList("Hello", "World", "Foo", "Bar")
         )
     );
 
@@ -111,7 +111,7 @@ public class BenchmarkDataGeneratorTest
             false,
             4,
             null,
-            Arrays.<Object>asList("Hello", "World", "Foo", "Bar")
+            Arrays.asList("Hello", "World", "Foo", "Bar")
         )
     );
 
@@ -233,7 +233,7 @@ public class BenchmarkDataGeneratorTest
             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 class BenchmarkDataGeneratorTest
             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 class BenchmarkDataGeneratorTest
             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 c756fa1..1a41308 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 c50619d..7f56d9a 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 6bc0561..cca4164 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 class CombiningIterableTest
     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 e6a49d8..ba5dbb8 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 class OrderedMergeIteratorTest
     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 class OrderedMergeIteratorTest
     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 class OrderedMergeIteratorTest
     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 class OrderedMergeIteratorTest
     );
 
     OrderedMergeIterator<Integer> iter = new OrderedMergeIterator<Integer>(
-        Ordering.<Integer>natural(),
+        Ordering.natural(),
         iterators.iterator()
     );
 
@@ -172,7 +172,7 @@ public class OrderedMergeIteratorTest
   {
     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 class OrderedMergeIteratorTest
   {
     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 803e28a..da97d02 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 class OrderedMergeSequenceTest
         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 class OrderedMergeSequenceTest
   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 class OrderedMergeSequenceTest
     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 class OrderedMergeSequenceTest
   {
     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 class OrderedMergeSequenceTest
         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 class OrderedMergeSequenceTest
         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 class OrderedMergeSequenceTest
   {
     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 class OrderedMergeSequenceTest
   {
     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 class OrderedMergeSequenceTest
   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 class OrderedMergeSequenceTest
   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 class OrderedMergeSequenceTest
   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 19486d9..46c2ff2 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 class CombiningSequenceTest
   @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 0c50032..650225d 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 class VersionedIntervalTimelineTest
             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 class VersionedIntervalTimelineTest
             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 class VersionedIntervalTimelineTest
     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 class VersionedIntervalTimelineTest
     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 class VersionedIntervalTimelineTest
     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 class VersionedIntervalTimelineTest
     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 class VersionedIntervalTimelineTest
     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 class VersionedIntervalTimelineTest
     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 class VersionedIntervalTimelineTest
     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 class VersionedIntervalTimelineTest
     return createExpected(
         intervalString,
         version,
-        Arrays.<PartitionChunk<Integer>>asList(makeSingle(value))
+        Collections.singletonList(makeSingle(value))
     );
   }
 
@@ -1808,7 +1808,7 @@ public class VersionedIntervalTimelineTest
 
   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 5eedfbd..ae53687 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 com.google.inject.Binder;
 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 @@ public class ExamplesDruidModule implements DruidModule
   @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 6e98929..f4e5a07 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 class ImmutableConciseSet
     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 class ImmutableConciseSet
     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 a5af4f4..16b2aa0 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 class AmbariMetricsEmitter extends AbstractTimelineMetricsSink implements
     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 c0ac3b2..a7df750 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 class 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 cf4f26d..9cf39c9 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 class WhiteListBasedDruidToTimelineEventConverterTest
     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 68f9e98..969e267 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 class AzureDataSegmentPusher implements DataSegmentPusher
   @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 3db2aaa..ba81327 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 @@ public class AzureTaskLogs implements TaskLogs
         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 b774b3e..ffce597 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 @@ public class AzureDataSegmentKillerTest extends EasyMockSupport
       "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 bbd18e5..ad7c432 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 @@ public class AzureDataSegmentPusherTest extends EasyMockSupport
       "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 @@ public class AzureDataSegmentPusherTest extends EasyMockSupport
         "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 311758d..199dc68 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 class CassandraDataSegmentPuller extends CassandraStorage
             }
             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 c98631d..0230161 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 class CassandraDataSegmentPusher extends CassandraStorage implements Data
     }
 
     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 2d9b5f2..9905202 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 class CloudFilesDataSegmentPusher implements DataSegmentPusher
   @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 9e38a3f..24ba067 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 class CloudFilesStorageDruidModule implements DruidModule
     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 dec4b41..3558d0f 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.java.util.common.Intervals;
 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 class CloudFilesDataSegmentPusherTest
   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 class CloudFilesDataSegmentPusherTest
         "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 23c9e56..c638987 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.ColumnSelectorFactory;
 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 class DistinctCountAggregatorFactory extends AggregatorFactory
   @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 7a12d2e..c18e14d 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.java.util.common.granularity.Granularities;
 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 io.druid.segment.incremental.IncrementalIndexSchema;
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 public class DistinctCountGroupByQueryTest
@@ -73,21 +73,21 @@ public class DistinctCountGroupByQueryTest
         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 class DistinctCountGroupByQueryTest
         .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 65da665..2126191 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 class DistinctCountTimeseriesQueryTest
         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 class DistinctCountTimeseriesQueryTest
         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 c822b14..1669aee 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 class DistinctCountTopNQueryTest
         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 class DistinctCountTopNQueryTest
             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 9e372fb..f3a60ed 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 class GoogleDataSegmentFinder implements DataSegmentFinder
         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 58b400e..0e739f5 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 @@ public class GoogleDataSegmentPusher implements DataSegmentPusher
 
   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 d8fe241..ecfebbb 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 @@ public class GoogleTaskLogs implements TaskLogs
 
       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 2a4c21e..d0f7e3d 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 @@ public class GoogleDataSegmentFinderTest extends EasyMockSupport
       .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 7408c91..b28e50c 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 @@ public class GoogleDataSegmentKillerTest extends EasyMockSupport
       "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 9ff23c3..331df73 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 class GoogleDataSegmentPusherTest extends EasyMockSupport
         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 38b71dc..8013027 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 class 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 5f9ead1..6fe27d9 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 class WhiteListBasedConverterTest
     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 c6563f1..ef4e881 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 com.google.common.collect.Sets;
 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 class MaterializedViewSupervisorTest
             "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 class MaterializedViewSupervisorTest
             "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 class MaterializedViewSupervisorTest
     );
     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 class MaterializedViewSupervisorTest
                 "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 1459592..f4ef066 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 class DatasourceOptimizerTest extends CuratorTestBase
     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 class DatasourceOptimizerTest extends CuratorTestBase
     );
     // 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 @@ public class DatasourceOptimizerTest extends CuratorTestBase
         .dataSource(name)
         .interval(Intervals.of(intervalStr))
         .loadSpec(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "type",
                 "local",
                 "path",
@@ -257,7 +257,7 @@ public class DatasourceOptimizerTest extends CuratorTestBase
         )
         .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 21f518c..848236c 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.fullOnInterval;
 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.Before;
 import org.junit.Test;
 
 import java.io.IOException;
-import java.util.Arrays;
+import java.util.Collections;
 
 public class MaterializedViewQueryTest 
 {
@@ -78,7 +76,7 @@ public class MaterializedViewQueryTest
         .threshold(4)
         .intervals(fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     commonDoubleAggregators,
                     Lists.newArrayList(
@@ -88,7 +86,7 @@ public class MaterializedViewQueryTest
                 )
             )
         )
-        .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 2798956..d2da70c 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.Injector;
 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 class OrcHadoopInputRowParserTest
                 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 class OrcHadoopInputRowParserTest
             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 90d0d18..adc839d 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.HadoopTuningConfig;
 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 class OrcIndexGeneratorJobTest
 
   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 @@ public class OrcIndexGeneratorJobTest
         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 a657f70..1685c7c 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 class RabbitMQFirehoseFactoryTest
         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 12a4f96..649e3f8 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 @@ package io.druid.data.input.thrift;
 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 class ThriftInputRowParserTest
   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 96d1cb9..df497e8 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 org.joda.time.DateTime;
 
 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 class TimestampAggregatorFactory extends AggregatorFactory
   @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 ea846c2..f90a945 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 @@ public class TimestampGroupByAggregationTest
   {
     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 62d3471..05c20e1 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 class MapVirtualColumnTest
   {
     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 dd9bfaf..2cc8026 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 class AvroStreamInputRowParserTest
   );
   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 855cd67..766b9d6 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 class SketchMergeAggregatorFactory extends SketchAggregatorFactory
   @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 c8f90f3..2164b48 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 com.google.inject.Binder;
 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 class SketchModule implements DruidModule
   @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 da3aeaa..925128c 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.SketchMergeComplexMetricSer
 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 class OldApiSketchModule implements DruidModule
   @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 7401752..2610084 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 class ArrayOfDoublesSketchAggregatorFactory extends AggregatorFactory
   @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 fe8a57e..4d99d6f 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 class ArrayOfDoublesSketchModule implements DruidModule
   @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 99ed190..f5978d4 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 class BufferHashGrouperUsingSketchMergeAggregatorFactoryTest
       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 6dac475..3d20546 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 class SketchAggregationTest
             "name",
             "INTERSECT",
             null,
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new FieldAccessPostAggregator("name1", "fieldName1"),
                 new FieldAccessPostAggregator("name2", "fieldName2")
             )
@@ -307,7 +307,7 @@ public class SketchAggregationTest
             "name",
             "INTERSECT",
             null,
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new FieldAccessPostAggregator("name1", "fieldName1"),
                 new SketchConstantPostAggregator("name2", "AgMDAAAazJMCAAAAAACAPzz9j7pWTMdROWGf15uY1nI=")
             )
@@ -419,7 +419,7 @@ public class SketchAggregationTest
     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 eb20e93..92e1fa9 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 class OldApiSketchAggregationTest
             "name",
             "INTERSECT",
             null,
-            Lists.<PostAggregator>newArrayList(
+            Lists.newArrayList(
                 new FieldAccessPostAggregator("name1", "fieldName1"),
                 new FieldAccessPostAggregator("name2", "fieldName2")
             )
@@ -206,7 +206,7 @@ public class OldApiSketchAggregationTest
     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 4491137..b4cae8c 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 class BasicAuthUtils
       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 ac02658..a8e4cad 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 class DruidKerberosAuthenticationHandler extends KerberosAuthenticationHa
       // 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 d2f9de4..b8de70b 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 class DruidKerberosUtil
     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 803814e..2e97748 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 class KerberosHttpClient extends AbstractHttpClient
       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 8aef657..a99ac86 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 class RetryIfUnauthorizedResponseHandler<Intermediate, Final>
     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 class RetryIfUnauthorizedResponseHandler<Intermediate, Final>
   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 3f7c630..c9656c5 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 class HdfsDataSegmentPusher implements DataSegmentPusher
   @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 27e39b7e..10ced89 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 @@ public class HdfsTaskLogs implements TaskLogs
   {
     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 53e4644..0d6cc0f 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 @@ public class HdfsDataSegmentFinderTest
       .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 @@ public class HdfsDataSegmentFinderTest
       .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 7fe9adb..a64a950 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 @@ public class HdfsDataSegmentKillerTest
         "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 5954066..3a211ea 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 class HdfsDataSegmentPusherTest
         "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 @@ public class HdfsDataSegmentPusherTest
           "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 @@ public class HdfsDataSegmentPusherTest
         "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 class HdfsDataSegmentPusherTest
   {
 
     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 eb45ef8..54716e7 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 org.apache.commons.codec.binary.Base64;
 
 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 class ApproximateHistogramAggregatorFactory extends AggregatorFactory
   @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 776c465..2a2b902 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.java.util.common.StringUtils;
 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.Test;
 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 class ApproximateHistogramGroupByQueryTest
         .setDataSource(QueryRunnerTestHelper.dataSource)
         .setGranularity(QueryRunnerTestHelper.allGran)
         .setDimensions(
-            Arrays.<DimensionSpec>asList(
+            Collections.singletonList(
                 new DefaultDimensionSpec(
                     QueryRunnerTestHelper.marketDimension,
                     "marketalias"
@@ -228,7 +226,7 @@ public class ApproximateHistogramGroupByQueryTest
         .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 9564ae6..aa383b1 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.QueryRunner;
 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 class ApproximateHistogramTopNQueryTest
         .threshold(4)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     QueryRunnerTestHelper.commonDoubleAggregators,
                     Lists.newArrayList(
@@ -127,7 +125,7 @@ public class ApproximateHistogramTopNQueryTest
             )
         )
         .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 85c368c..56f25e8 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 class QuantileSqlAggregatorTest extends CalciteTestBase
                     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 class QuantileSqlAggregatorTest extends CalciteTestBase
                     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 2e4e7c0..bd580cc 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 class KafkaLookupExtractorFactoryTest
         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 class KafkaLookupExtractorFactoryTest
         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 class KafkaLookupExtractorFactoryTest
 
     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 class KafkaLookupExtractorFactoryTest
     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 7f9f1dd..a000679 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 class TestKafkaExtractionCluster
     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 046331e..e511b00 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 @@ public class KafkaSupervisor implements Supervisor
     // 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 @@ public class KafkaSupervisor implements Supervisor
 
         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 be40344..ce2b55d 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 class 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 09d0212..41e242d 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 @@ import java.util.Map;
 
 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 class KafkaDataSourceMetadataTest
     );
 
     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 class KafkaDataSourceMetadataTest
     );
 
     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 411fff9..f0abd4d 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.StringUtils;
 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.Druids;
 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 class KafkaIndexTaskTest
                       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 @@ public class KafkaIndexTaskTest
       }
     };
     return new DefaultQueryRunnerFactoryConglomerate(
-        ImmutableMap.<Class<? extends Query>, QueryRunnerFactory>of(
+        ImmutableMap.of(
             TimeseriesQuery.class,
             new TimeseriesQueryRunnerFactory(
                 new TimeseriesQueryQueryToolChest(queryRunnerDecorator),
@@ -2215,7 +2213,7 @@ public class KafkaIndexTaskTest
     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 class KafkaIndexTaskTest
     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 f0f6033..b49af37 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.DateTimes;
 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.EasyMock;
 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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
 
     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 class KafkaSupervisorTest extends EasyMockSupport
 
     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 class KafkaSupervisorTest extends EasyMockSupport
 
     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 class KafkaSupervisorTest extends EasyMockSupport
 
     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 class KafkaSupervisorTest extends EasyMockSupport
 
     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 class KafkaSupervisorTest extends EasyMockSupport
 
     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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
       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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
         .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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
             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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
     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 class KafkaSupervisorTest extends EasyMockSupport
     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 @@ public class KafkaSupervisorTest extends EasyMockSupport
                         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 @@ public class KafkaSupervisorTest extends EasyMockSupport
         new UniformGranularitySpec(
             Granularities.HOUR,
             Granularities.NONE,
-            ImmutableList.<Interval>of()
+            ImmutableList.of()
         ),
         null,
         objectMapper
@@ -2336,7 +2334,7 @@ public class KafkaSupervisorTest extends EasyMockSupport
             "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 bea7abf..2c22d12 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 class TestBroker implements Closeable
     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 8b7506d..ca638b5 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 @@ public class JSONFlatDataParserTest
   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 82fb5a7..c60971b 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 class StaticMapExtractionNamespaceTest
     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 6c06c26..780f2ac 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 @@ package io.druid.server.lookup.namespace;
 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 class NamespacedExtractorModuleTest
   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 class NamespacedExtractorModuleTest
   {
     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 class NamespacedExtractorModuleTest
   {
     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 class NamespacedExtractorModuleTest
   {
     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 class NamespacedExtractorModuleTest
   {
     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 0ba2645..562d350 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 @@ package io.druid.server.lookup.namespace;
 
 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 class StaticMapCacheGeneratorTest
     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 2e665be..1c5c7b6 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 @@ import java.util.zip.GZIPOutputStream;
 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 class UriCacheGeneratorTest
     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 b032c7e..9eb8fe3 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.StringUtils;
 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 class CacheSchedulerTest
     };
     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 b1336d3..ed3b695 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.lifecycle.Lifecycle;
 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 class JdbcExtractionNamespaceTest
             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 class JdbcExtractionNamespaceTest
         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 26cd8fe..d5bff2e 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 class LoadingLookupTest
             .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 d88163e..ed97295 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.fasterxml.jackson.databind.module.SimpleModule;
 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 @@ public class ProtobufExtensionsModule implements DruidModule
   @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 852f147..93d6e95 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 @@ package io.druid.data.input.protobuf;
 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 class ProtobufInputRowParserTest
   {
     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 a55807f..b1266a6 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 class StaticS3FirehoseFactory extends PrefetchableTextFilesFirehoseFactor
     }
 
     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 22268ff..21db377 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 class S3DataSegmentArchiver extends S3DataSegmentMover implements DataSeg
 
     final DataSegment archived = move(
         segment,
-        ImmutableMap.<String, Object>of(
+        ImmutableMap.of(
             "bucket", targetS3Bucket,
             "baseKey", targetS3BaseKey
         )
@@ -77,7 +77,7 @@ public class S3DataSegmentArchiver extends S3DataSegmentMover implements DataSeg
 
     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 21ce688..6001678 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 class S3DataSegmentFinder implements DataSegmentFinder
       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 5abb36a..f3fb37b 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 class S3DataSegmentMover implements DataSegmentMover
                         @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 3d7c56c..d6eb226 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 class S3DataSegmentPuller implements URIDataPuller
   {
     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 9d18853..c2a4431 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 class S3DataSegmentPusher implements DataSegmentPusher
   @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 ce4d703..0cb2851 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 class S3DataSegmentArchiverTest
       .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 class S3DataSegmentArchiverTest
   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 class S3DataSegmentArchiverTest
   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 a44ca1f..73cc109 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 @@ public class S3DataSegmentFinderTest
       .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 ba0db09..5ee8309 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 @@ public class S3DataSegmentMoverTest
       "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 class S3DataSegmentMoverTest
 
     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 class S3DataSegmentMoverTest
 
     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 class S3DataSegmentMoverTest
 
     mover.move(
         sourceSegment,
-        ImmutableMap.<String, Object>of("baseKey", "targetBaseKey", "bucket", "archive")
+        ImmutableMap.of("baseKey", "targetBaseKey", "bucket", "archive")
     );
   }
   
@@ -143,7 +143,7 @@ public class S3DataSegmentMoverTest
         "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 class S3DataSegmentMoverTest
         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 class S3DataSegmentMoverTest
         "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 class S3DataSegmentMoverTest
         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 7499922..eabac57 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 class S3DataSegmentPusherTest
         "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 4c5cce1..021adcb 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 class VarianceAggregatorCollector
 {
   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 4636d14..b3fd3cb 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 class VarianceAggregatorCollectorTest
         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 19bc5a1..1b1c3da 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.data.input.Row;
 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 org.junit.runners.Parameterized;
 
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -72,7 +69,7 @@ public class VarianceGroupByQueryTest
     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 class VarianceGroupByQueryTest
         .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 class VarianceGroupByQueryTest
         .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 class VarianceGroupByQueryTest
             )
         )
         .setPostAggregatorSpecs(
-            Arrays.<PostAggregator>asList(VarianceTestHelper.stddevOfIndexPostAggr)
+            Collections.singletonList(VarianceTestHelper.stddevOfIndexPostAggr)
         )
         .setGranularity(QueryRunnerTestHelper.dayGran)
         .build();
@@ -184,7 +181,7 @@ public class VarianceGroupByQueryTest
         .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 class VarianceGroupByQueryTest
                 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 class VarianceGroupByQueryTest
 
     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 a526f09..0ff49ee 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.QueryPlus;
 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.runner.RunWith;
 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 class VarianceTopNQueryTest
         .threshold(3)
         .intervals(QueryRunnerTestHelper.fullOnInterval)
         .aggregators(
-            Lists.<AggregatorFactory>newArrayList(
+            Lists.newArrayList(
                 Iterables.concat(
                     VarianceTestHelper.commonPlusVarAggregators,
                     Lists.newArrayList(
@@ -86,44 +85,44 @@ public class VarianceTopNQueryTest
                 )
             )
         )
-        .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 class VarianceTopNQueryTest
     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 91514d7..7cce157 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 class HyperLogLogSerdeBenchmarkTest extends AbstractBenchmark
   @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 55c9a3d..9d61d98 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 @@ public class DeterminePartitionsJob implements Jobby
       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 e803893..d4fcdbf 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 @@ public class HadoopDruidIndexerConfig
   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 88dfce2..35dbcc7 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 class HadoopTuningConfig implements TuningConfig
     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 61f137b..c9d62e7 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.fasterxml.jackson.databind.module.SimpleModule;
 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 @@ public class IndexingHadoopModule implements DruidModule
   @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 01d1ec2..9d28296 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 class InputRowSerde
 
           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 class InputRowSerde
       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 82ee2c1..36bb08e 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 @@ public class DatasourceInputFormat extends InputFormat<NullWritable, InputRow>
             // 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 9675e17..0ae1835 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 class 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 e13c577..2251008 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 @@ public class BatchDeltaIngestionTest
               DataSegment.class
           )
           .withLoadSpec(
-              ImmutableMap.<String, Object>of(
+              ImmutableMap.of(
                   "type",
                   "local",
                   "path",
@@ -113,7 +113,7 @@ public class BatchDeltaIngestionTest
     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 class BatchDeltaIngestionTest
     );
 
     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 class BatchDeltaIngestionTest
         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 class BatchDeltaIngestionTest
     );
 
     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 class BatchDeltaIngestionTest
     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 class BatchDeltaIngestionTest
     );
 
     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 class BatchDeltaIngestionTest
     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 class BatchDeltaIngestionTest
     );
 
     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 @@ public class BatchDeltaIngestionTest
   ) 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 @@ public class BatchDeltaIngestionTest
     );
 
     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 0706fe8..e698453 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 class 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 1ee018c..548cbdf 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 class 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 a07209d..f1dceb1 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 class HadoopDruidIndexerConfigTest
             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 class HadoopDruidIndexerConfigTest
     );
     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 class HadoopDruidIndexerConfigTest
             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 class HadoopDruidIndexerConfigTest
     );
     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 c28c9de..e1a89ec 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 class HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest
       testDatasource,
       Intervals.of("2000/3000"),
       "ver",
-      ImmutableMap.<String, Object>of(
+      ImmutableMap.of(
           "type", "local",
           "path", "/tmp/index1.zip"
       ),
@@ -88,7 +88,7 @@ public class HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest
       testDatasource2,
       Intervals.of("2000/3000"),
       "ver2",
-      ImmutableMap.<String, Object>of(
+      ImmutableMap.of(
           "type", "local",
           "path", "/tmp/index2.zip"
       ),
@@ -137,7 +137,7 @@ public class HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest
             testDatasource,
             testDatasourceInterval,
             null,
-            ImmutableList.<DataSegment>of(SEGMENT),
+            ImmutableList.of(SEGMENT),
             null,
             null,
             null,
@@ -167,7 +167,7 @@ public class HadoopIngestionSpecUpdateDatasourcePathSpecSegmentsTest
             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 fa15878..555ee76 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 class IndexGeneratorCombinerTest
                 HadoopDruidIndexerConfig.JSON_MAPPER
             ),
             new HadoopIOConfig(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "paths",
                     "/tmp/dummy",
                     "type",
@@ -158,8 +158,8 @@ public class IndexGeneratorCombinerTest
 
     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 class IndexGeneratorCombinerTest
     );
     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 class IndexGeneratorCombinerTest
 
     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 class IndexGeneratorCombinerTest
     );
     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 83a8e75..05421b4 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 class IndexGeneratorJobTest
   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 class IndexGeneratorJobTest
 
   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 @@ public class IndexGeneratorJobTest
         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 @@ public class IndexGeneratorJobTest
           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 e035483..3b50841 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 class InputRowSerdeTest
         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 class InputRowSerdeTest
     };
 
     DimensionsSpec dimensionsSpec = new DimensionsSpec(
-        Arrays.asList(
+        Collections.singletonList(
             new LongDimensionSchema("d1")
         ),
         null,
@@ -206,12 +206,12 @@ public class InputRowSerdeTest
     );
     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 class InputRowSerdeTest
     );
     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 class InputRowSerdeTest
     );
     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 d137eef..ec45edb 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 class JobHelperTest
                 HadoopDruidIndexerConfig.JSON_MAPPER
             ),
             new HadoopIOConfig(
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "paths",
                     dataFile.getCanonicalPath(),
                     "type",
@@ -167,13 +167,13 @@ public class JobHelperTest
         "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 0093305..0beb639 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 class DatasourceInputFormatTest
                 "test1",
                 Intervals.of("2000/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "local",
                     "path", "/tmp/index1.zip"
                 ),
@@ -97,7 +97,7 @@ public class DatasourceInputFormatTest
                 "test1",
                 Intervals.of("2050/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "hdfs",
                     "path", "/tmp/index2.zip"
                 ),
@@ -113,7 +113,7 @@ public class DatasourceInputFormatTest
                 "test1",
                 Intervals.of("2030/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "hdfs",
                     "path", "/tmp/index3.zip"
                 ),
@@ -132,7 +132,7 @@ public class DatasourceInputFormatTest
                 "test2",
                 Intervals.of("2000/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "local",
                     "path", "/tmp/index4.zip"
                 ),
@@ -373,7 +373,7 @@ public class DatasourceInputFormatTest
                 "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 ae9dd47..d579876 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 class DatasourceInputSplitTest
                     "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 2a1cab0..75e9b12 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 class DatasourceRecordReaderTest
     DataSegment segment = HadoopDruidIndexerConfig.JSON_MAPPER
         .readValue(segmentDesciptor, DataSegment.class)
         .withLoadSpec(
-            ImmutableMap.<String, Object>of(
+            ImmutableMap.of(
                 "type",
                 "local",
                 "path",
@@ -100,19 +100,19 @@ public class DatasourceRecordReaderTest
   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 6eed0be..5274b41 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 @@ public class WindowedDataSegmentTest
       "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 e714f57..ecc3e99 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 class 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 class 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 class DatasourcePathSpecTest
                 ingestionSpec2.getDataSource(),
                 Intervals.of("2000/3000"),
                 "ver",
-                ImmutableMap.<String, Object>of(
+                ImmutableMap.of(
                     "type", "local",
                     "path", "/tmp2/index.zip"
                 ),
@@ -348,7 +348,7 @@ public class DatasourcePathSpecTest
                 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 69fb1b9..44908a4 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 class MultiplePathSpecTest
   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 41d32b2..95fa048 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 class HadoopConverterJobTest
                 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 class HadoopConverterJobTest
             oldSemgments,
             true,
             tmpDir.toURI(),
-            ImmutableMap.<String, String>of(),
+            ImmutableMap.of(),
             null,
             tmpSegmentDir.toURI().toString()
         )
@@ -351,12 +351,12 @@ public class HadoopConverterJobTest
       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 class HadoopConverterJobTest
             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 7762587..b6ca3fa 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 com.google.common.collect.ImmutableMap;
 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 class HadoopDruidConverterConfigTest
         "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 e0f359a..75dcc39 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 class ActionBasedUsedSegmentChecker implements UsedSegmentChecker
     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 f69ef8b..af3bfd8 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 class AppendTask extends MergeTaskBase
     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 ad29a1d..a53c6d4 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 class HadoopConverterTask extends ConvertSegmentTask
       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 9935162..0d5b57f 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 abstract class HadoopTask extends AbstractTask
     }
 
     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 d150c6d..0741e1d 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 class MergeTask extends MergeTaskBase
             }
         ),
         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 61d4175..5f0efcb 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 class FileTaskLogs implements TaskLogs
   {
     final File file = fileForTask(taskid, "log");
     if (file.exists()) {
-      return Optional.<ByteSource>of(
+      return Optional.of(
           new ByteSource()
           {
             @Override
@@ -98,7 +98,7 @@ public class FileTaskLogs implements TaskLogs
   {
     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 27b0690..c31173e 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 class ForkingTaskRunner implements TaskRunner, TaskLogStreamer
   public Collection<TaskRunnerWorkItem> getKnownTasks()
   {
     synchronized (tasks) {
-      return Lists.<TaskRunnerWorkItem>newArrayList(tasks.values());
+      return Lists.newArrayList(tasks.values());
     }
   }
 
@@ -692,7 +692,7 @@ public class ForkingTaskRunner implements TaskRunner, TaskLogStreamer
       }
     }
 
-    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 b3e08b6..a4c14f9 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 class RemoteTaskRunner implements WorkerTaskRunner, TaskLogStreamer
     } 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 4db6ea1..4813607 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 class RemoteTaskRunnerWorkItem extends TaskRunnerWorkItem
       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 b24dd35..141e08d 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 @@ public interface TaskStorage
    * 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 c2847ea..26326c1 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 @@ public class PendingTaskBasedWorkerProvisioningStrategy extends AbstractWorkerPr
     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 895764b..b438ec6 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 class EC2AutoScaler implements AutoScaler<EC2EnvironmentConfig>
   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 class EC2AutoScaler implements AutoScaler<EC2EnvironmentConfig>
   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 08ec371..0e72e9d 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 class HttpRemoteTaskRunner implements WorkerTaskRunner, TaskLogStreamer
     } 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 dc0fc6d..23f2cac 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 class SupervisorResourceFilter extends AbstractResourceFilter
                          @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 ba9b0a1..c5d937d 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 class TaskResourceFilter extends AbstractResourceFilter
                          @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 f9a5564..355465c 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 class SupervisorManager
   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 394b84d..f9d7079 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 @@ public class SegmentInsertActionTest
       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 @@ public class SegmentInsertActionTest
       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 @@ public class SegmentInsertActionTest
       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 b9717d6..a8acbe8 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 @@ public class SegmentTransactionalInsertActionTest
       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 @@ public class SegmentTransactionalInsertActionTest
       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 @@ public class SegmentTransactionalInsertActionTest
       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 class SegmentTransactionalInsertActionTest
         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 0264a57..b0b8ca3 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.IntervalChunkingQueryRunnerDecorator;
 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.io.IOException;
 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 class AppenderatorDriverRealtimeIndexTaskTest
 
     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 class AppenderatorDriverRealtimeIndexTaskTest
       }
     };
     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 class AppenderatorDriverRealtimeIndexTaskTest
                                   .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 0300dc8..846e14d 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 @@ public class CompactionTaskTest
         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 0549481..1276506 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 class ConvertSegmentTaskTest
         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 13a2129..5d4052b 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 @@ public class HadoopConverterTaskSerDeTest
   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 95dedaa..73d7571 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 class HadoopTaskTest
     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 9d1b7b3..c05d2dc 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.FloatDimensionSchema;
 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 class IndexTaskTest
                 ),
                 new DimensionsSpec(
                     null,
-                    Lists.<String>newArrayList(),
-                    Lists.<SpatialDimensionSchema>newArrayList()
+                    Lists.newArrayList(),
+                    Lists.newArrayList()
                 ),
                 null,
                 null,
@@ -558,8 +557,8 @@ public class IndexTaskTest
 
     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 class IndexTaskTest
                 ),
                 new DimensionsSpec(
                     null,
-                    Lists.<String>newArrayList(),
-                    Lists.<SpatialDimensionSchema>newArrayList()
+                    Lists.newArrayList(),
+                    Lists.newArrayList()
                 ),
                 null,
                 Arrays.asList("time", "dim", "val"),
@@ -610,8 +609,8 @@ public class IndexTaskTest
 
     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 class IndexTaskTest
             ),
             new DimensionsSpec(
                 null,
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             Arrays.asList("time", "dim", "val"),
@@ -822,8 +821,8 @@ public class IndexTaskTest
 
     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 class IndexTaskTest
             ),
             new DimensionsSpec(
                 null,
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             Arrays.asList("time", "dim", "val"),
@@ -881,7 +880,7 @@ public class IndexTaskTest
         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 class IndexTaskTest
                     new LongDimensionSchema("dimLong"),
                     new FloatDimensionSchema("dimFloat")
                 ),
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             null
@@ -1062,8 +1061,8 @@ public class IndexTaskTest
                     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 class IndexTaskTest
                     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 class IndexTaskTest
           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 class IndexTaskTest
             ),
             new DimensionsSpec(
                 null,
-                Lists.<String>newArrayList(),
-                Lists.<SpatialDimensionSchema>newArrayList()
+                Lists.newArrayList(),
+                Lists.newArrayList()
             ),
             null,
             Arrays.asList("time", "", ""),
@@ -1379,7 +1378,8 @@ public class IndexTaskTest
         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 class IndexTaskTest
             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 f258f51..8583643 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.IntervalChunkingQueryRunnerDecorator;
 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 class RealtimeIndexTaskTest
 
     // 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 @@ public class RealtimeIndexTaskTest
       }
     };
     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 class RealtimeIndexTaskTest
                                   .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 44ac75f..2e816f5 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 org.junit.rules.TemporaryFolder;
 
 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 class 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 class SameIntervalMergeTaskTest
               {
                 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 3a6c4fc..1a844ce 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 class TaskSerdeTest
   @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 class TaskSerdeTest
   @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 class TaskSerdeTest
         null,
         "foo",
         segments,
-        ImmutableList.<AggregatorFactory>of(
+        ImmutableList.of(
             new CountAggregatorFactory("cnt")
         ),
         indexSpec,
@@ -713,7 +713,7 @@ public class TaskSerdeTest
             "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 class TaskSerdeTest
         "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 class TaskSerdeTest
         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 class TaskSerdeTest
             ),
                 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 cb670f1..35a23eb 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.DimensionsSpec;
 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 class IngestSegmentFirehoseFactoryTest
             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 class 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 @@ public class IngestSegmentFirehoseFactoryTest
         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 eb7c45d..c8149e3 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 @@ public class IngestSegmentFirehoseFactoryTimelineTest
     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 @@ public class IngestSegmentFirehoseFactoryTimelineTest
       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 ee8b336..6319a86 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 @@ public class TaskLifecycleTest
     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 class TaskLifecycleTest
     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 class TaskLifecycleTest
                                 .dataSource("test_kill_task")
                                 .interval(interval)
                                 .loadSpec(
-                                    ImmutableMap.<String, Object>of(
+                                    ImmutableMap.of(
                                         "type",
                                         "local",
                                         "path",
@@ -821,8 +821,8 @@ public class TaskLifecycleTest
                                     )
                                 )
                                 .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 76b93e9..d34c966 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 @@ public class EC2AutoScalerTest
   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 779668d..e2e2748 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.indexer.TaskStatus;
 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 org.junit.Test;
 
 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 class PendingTaskBasedProvisioningStrategyTest
   {
     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 class PendingTaskBasedProvisioningStrategyTest
   {
     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 class PendingTaskBasedProvisioningStrategyTest
   {
     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 class PendingTaskBasedProvisioningStrategyTest
   {
     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 class PendingTaskBasedProvisioningStrategyTest
 
     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 class PendingTaskBasedProvisioningStrategyTest
   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 class PendingTaskBasedProvisioningStrategyTest
         )
     ).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 class PendingTaskBasedProvisioningStrategyTest
   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 class PendingTaskBasedProvisioningStrategyTest
   {
     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 class PendingTaskBasedProvisioningStrategyTest
     ).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 class PendingTaskBasedProvisioningStrategyTest
     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 class PendingTaskBasedProvisioningStrategyTest
     // 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 class PendingTaskBasedProvisioningStrategyTest
     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 class PendingTaskBasedProvisioningStrategyTest
     // 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 class PendingTaskBasedProvisioningStrategyTest
 
     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 9e5e117..ffd5aad 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.indexer.TaskStatus;
 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 org.junit.Test;
 
 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 class SimpleProvisioningStrategyTest
   {
     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 class SimpleProvisioningStrategyTest
   {
     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 class SimpleProvisioningStrategyTest
 
     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 class SimpleProvisioningStrategyTest
   {
     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 class SimpleProvisioningStrategyTest
             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 class SimpleProvisioningStrategyTest
   {
     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 class SimpleProvisioningStrategyTest
             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 class SimpleProvisioningStrategyTest
     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 class SimpleProvisioningStrategyTest
             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 class SimpleProvisioningStrategyTest
     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 class SimpleProvisioningStrategyTest
     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 class SimpleProvisioningStrategyTest
     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 class SimpleProvisioningStrategyTest
     // 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 611f4bc..dc42b33 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 io.druid.jackson.DefaultObjectMapper;
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.util.Arrays;
+import java.util.Collections;
 
 public class EC2NodeDataTest
 {
@@ -41,7 +41,7 @@ public class EC2NodeDataTest
     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 ca3eda8..f947bb2 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
@@ -141,19 +141,19 @@ public class OverlordTest
     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 c99a7b5..7f587a9 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 @@ public class OverlordSecurityResourceFilterTest extends ResourceFilterTestHelper
   {
     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 9a8dded..76fa66e 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 class EqualDistributionWithAffinityWorkerSelectStrategyTest
                     "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 class EqualDistributionWithAffinityWorkerSelectStrategyTest
                     "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 class EqualDistributionWithAffinityWorkerSelectStrategyTest
                     "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 b9a8aee..a23b8f1 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 @@ public class EqualDistributionWorkerSelectStrategyTest
           "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 class EqualDistributionWorkerSelectStrategyTest
             "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 class EqualDistributionWorkerSelectStrategyTest
             "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 class EqualDistributionWorkerSelectStrategyTest
             "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 class EqualDistributionWorkerSelectStrategyTest
             "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 4b145c6..31ba7b9 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 class FillCapacityWithAffinityWorkerSelectStrategyTest
             "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 class FillCapacityWithAffinityWorkerSelectStrategyTest
             "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 class FillCapacityWithAffinityWorkerSelectStrategyTest
             "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 9e0a57f..b67be28 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 class JavaScriptWorkerSelectStrategyTest
     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 2229a10..1181275 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 io.druid.jackson.DefaultObjectMapper;
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.util.Arrays;
+import java.util.Collections;
 
 public class WorkerBehaviorConfigTest
 {
@@ -57,7 +57,7 @@ public class WorkerBehaviorConfigTest
                     "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 e98e7b1..9e95769 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 class SupervisorManagerTest extends EasyMockSupport
   {
     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 class SupervisorManagerTest extends EasyMockSupport
   @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 class SupervisorManagerTest extends EasyMockSupport
   @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 class SupervisorManagerTest extends EasyMockSupport
   @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 class SupervisorManagerTest extends EasyMockSupport
   {
     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 class SupervisorManagerTest extends EasyMockSupport
   @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 class SupervisorManagerTest extends EasyMockSupport
   @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 class SupervisorManagerTest extends EasyMockSupport
   @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 6819038..614585b 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 org.junit.runner.RunWith;
 
 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 class SupervisorResourceTest extends EasyMockSupport
     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 class SupervisorResourceTest extends EasyMockSupport
     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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
   {
     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 class SupervisorResourceTest extends EasyMockSupport
             "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 class SupervisorResourceTest extends EasyMockSupport
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource3")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource3")),
             "v3"
         )
     );
@@ -343,8 +343,8 @@ public class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
   {
     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 class SupervisorResourceTest extends EasyMockSupport
             "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 class SupervisorResourceTest extends EasyMockSupport
             "tombstone"
         ),
         new VersionedSupervisorSpec(
-            new TestSupervisorSpec("id2", null, Arrays.asList("datasource2")),
+            new TestSupervisorSpec("id2", null, Collections.singletonList("datasource2")),
             "v3"
         )
     );
@@ -456,8 +456,8 @@ public class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
         "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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
   {
     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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
   {
     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 class SupervisorResourceTest extends EasyMockSupport
             "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 class SupervisorResourceTest extends EasyMockSupport
             "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 class SupervisorResourceTest extends EasyMockSupport
     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 class SupervisorResourceTest extends EasyMockSupport
                 "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 class SupervisorResourceTest extends EasyMockSupport
 
     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 class SupervisorResourceTest extends EasyMockSupport
 
     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 9d1e878..cd7e85e 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 @@ public class WorkerTaskManagerTest
     );
     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 30d01c6..2b5374b 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 @@ public class WorkerTaskMonitorTest
     );
     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 598e2ef..a5d4b20 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 class IndexerZkConfigTest
 
     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 class IndexerZkConfigTest
   {
     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 class IndexerZkConfigTest
     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 class IndexerZkConfigTest
   {
     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 be4656a..c63c2e5 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 class DockerConfigProvider implements IntegrationTestingConfigProvider
       @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 d97cccd..d0e9b4e 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 class OverlordResourceTestClient
             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 140cb7a..688719f 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.StringUtils;
 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 class TestQueryHelper
     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 d972498..ff8a97f 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.Connection;
 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 class ITBasicAuthConfigurationTest
         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 cb0b800..7f13797 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 class FileUtils
 
     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 85cd9e3..01c04a3 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 class JodaUtils
       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 0196f4c..419da82 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 class Lifecycle
       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 class Lifecycle
       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 8a73544..d757ab1 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 class 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 0c65ae2..7019a55 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 @@ public class TimestampParser
       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 @@ public class TimestampParser
 
         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 @@ public class TimestampParser
   )
   {
     // 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 2c851b0..9b19a1a 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 class AlertEvent implements Event
       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 ecce486..33b8715 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 class ServiceEmitter implements Emitter
 
   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 72c328a..7393673 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 org.jboss.netty.handler.codec.http.HttpMethod;
 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 @@ public class Request
   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 class Request
 
   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 f31a616..75c5bd5 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 @@ public class InputStreamResponseHandler implements HttpResponseHandler<Appendabl
   {
     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 fa19978..8330432 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 @@ public class SequenceInputStreamResponseHandler implements HttpResponseHandler<I
       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 class SequenceInputStreamResponseHandler implements HttpResponseHandler<I
         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 9a45fa1..5d4dd5b 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 class JvmCpuMonitor extends FeedDefiningMonitor
 
   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 c45ebfb..940430a 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 class SysMonitor extends FeedDefiningMonitor
 
   public SysMonitor()
   {
-    this(ImmutableMap.<String, String[]>of());
+    this(ImmutableMap.of());
   }
 
   public SysMonitor(Map<String, String[]> dimensions)
@@ -485,7 +485,7 @@ public class SysMonitor extends FeedDefiningMonitor
       }
 
       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 class SysMonitor extends FeedDefiningMonitor
       }
 
       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 9daaab9..26d3d79 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 class CompressionUtilsTest
     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 class CompressionUtilsTest
               }
             };
           }
-        }, 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 class CompressionUtilsTest
     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 b2fd86d..6786d68 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 @@ package io.druid.java.util.common.guava;
 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 class BaseSequenceTest
   @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 bd8b5f1..b14c16f 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 org.junit.Test;
 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 class ConcatSequenceTest
   public void testAccumulationSingle() throws Exception
   {
     testAll(
-        Arrays.asList(
+        Collections.singletonList(
             Arrays.asList(1, 2, 3, 4, 5)
         )
     );
@@ -66,7 +67,7 @@ public class ConcatSequenceTest
     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 class ConcatSequenceTest
     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 class ConcatSequenceTest
   {
     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 5cf06e9..139cc78 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.Assert;
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 
 /**
  */
@@ -36,7 +37,7 @@ public class FunctionalIterableTest
   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 class FunctionalIterableTest
   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 class FunctionalIterableTest
   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 class FunctionalIterableTest
   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 class FunctionalIterableTest
   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 940fda5..4b439b7 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.Assert;
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Iterator;
 
 /**
@@ -37,7 +38,7 @@ public class FunctionalIteratorTest
   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 class FunctionalIteratorTest
   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 class FunctionalIteratorTest
   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 class FunctionalIteratorTest
   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 class FunctionalIteratorTest
   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 37e9c8e..dce4618 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 class MergeIteratorTest
   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 class MergeIteratorTest
   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 68408d3..359d05a 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 org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 
 /**
  */
@@ -70,7 +71,7 @@ public class MergeSequenceTest
   {
     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 class MergeSequenceTest
   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 class MergeSequenceTest
     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 class MergeSequenceTest
   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 4ff5f22..c5e800f 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 class SortedMergeIteratorTest
     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 1eb0bba..090c64d 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 junit.framework.Assert;
 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 class RegexParserTest
 
     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 class RegexParserTest
 
     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 class RegexParserTest
   {
     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 ac01e2c..c112dac 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 class AlertEventTest
 
       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 class AlertEventTest
       @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 418078c..c851830 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.Assert;
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 
 /**
  */
@@ -127,16 +128,16 @@ public class ServiceMetricEventTest
                     .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 class ServiceMetricEventTest
                     .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 1482914..e6ce9a1 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 class FriendlyServersTest
                 // 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 07b9c71..ebbd725 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 class MonitorsTest
   {
     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 class MonitorsTest
   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 dfe5088..bc63ce1 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 final class ImmutableRTree
       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 b5f6b52..a3e270b 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 class Node
     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 1ac282d..223197a 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 class Point extends Node
     super(
         coords,
         Arrays.copyOf(coords, coords.length),
-        Lists.<Node>newArrayList(),
+        Lists.newArrayList(),
         true,
         null,
         makeBitmap(entry, bitmapFactory)
@@ -51,7 +51,7 @@ public class Point extends Node
 
   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 918ec5e..203bdc0 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 @@ package io.druid.guice;
 
 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 class GuiceInjectors
 {
   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 80a28e8..052037d 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 class DruidMetrics
     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 3241494..b4b1dc2 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 class FinalizeResultsQueryRunner<T> implements QueryRunner<T>
     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 e1118f0..aa99442 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 @@ public class QueryRunnerHelper
               }
             }
         ),
-        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 db2bdb2..e1a1155 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.DateTimeZone;
 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 class TimewarpOperator<T> implements PostProcessingOperator<T>
         );
         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 f285389..65858c5 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 abstract class AggregatorFactory implements Cacheable
 
     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 297a958..0e5385e 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.base.Preconditions;
 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 class CountAggregatorFactory extends AggregatorFactory
   @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 2ad1fd5..336f5c1 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 org.apache.commons.codec.binary.Base64;
 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 class HistogramAggregatorFactory extends AggregatorFactory
 
     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 class HistogramAggregatorFactory extends AggregatorFactory
   @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 class HistogramAggregatorFactory extends AggregatorFactory
   @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 7f9d72e..453f1d5 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 class JavaScriptAggregator implements Aggregator
 
   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 6fe30f9..7170f49 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 class JavaScriptBufferAggregator implements BufferAggregator
       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 8e66022..70e18df 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 @@ public class CardinalityAggregator implements Aggregator
       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 8ded9ed..7da5379 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 io.druid.segment.column.Column;
 
 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 class DoubleFirstAggregatorFactory extends AggregatorFactory
   @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 8cc45dc..1ae510b 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 io.druid.segment.column.Column;
 
 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 class FloatFirstAggregatorFactory extends AggregatorFactory
   @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 cd646a7..56d8aed 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 io.druid.segment.column.Column;
 
 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 class LongFirstAggregatorFactory extends AggregatorFactory
   @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 78e19b9..3719496 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 io.druid.segment.NilColumnValueSelector;
 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 class HyperUniquesAggregatorFactory extends AggregatorFactory
   @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 134319c..9cf9bf1 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 io.druid.segment.column.Column;
 
 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 class DoubleLastAggregatorFactory extends AggregatorFactory
   @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 a76c4f0..e06c3fc 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 io.druid.segment.column.Column;
 
 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 class FloatLastAggregatorFactory extends AggregatorFactory
   @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 91b43dd..ff33195 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 io.druid.segment.column.Column;
 
 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 class LongLastAggregatorFactory extends AggregatorFactory
   @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 80d0eed..66d9ded 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 @@ public class GroupByQuery extends BaseQuery<Row>
       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 148fc92..d3543cd 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 class GroupByQueryEngine
       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 e8cc495..9bcf61e 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 class GroupByQueryHelper
 
     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 498b924..ffdb951 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 class GroupByQueryQueryToolChest extends QueryToolChest<Row, GroupByQuery
       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 99c9ce4..2074bad 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 @@ public class RowBasedColumnSelectorFactory implements ColumnSelectorFactory
   )
   {
     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 f1168cf..9a29d8f 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 class BufferHashGrouper<KeyType> extends AbstractBufferHashGrouper<KeyTyp
     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 b1c7e8c..db9e389 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 class GroupByMergingQueryRunnerV2 implements QueryRunner<Row>
     );
     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 d26c2a0..ab20570 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 @@ public class GroupByQueryEngineV2
         && 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 class GroupByQueryEngineV2
           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 @@ public class GroupByQueryEngineV2
           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 fe52bc6..aaa1fcf 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 class LimitedBufferHashGrouper<KeyType> extends AbstractBufferHashGrouper
       // 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 a5ed90d..fb04dbe 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 @@ public class RowBasedGrouperHelper
         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 ba563dd..e86d034 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 @@ public class AndHavingSpec extends BaseHavingSpec
   @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 41db7a8..3ef24a9 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 @@ public class OrHavingSpec extends BaseHavingSpec
   @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 3cf749d..fb53c65 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 class DefaultLimitSpec implements LimitSpec
       @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 38863fe..af3b505 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.QueryPlus;
 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 class GroupByStrategyV1 implements GroupByStrategy
     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 class GroupByStrategyV1 implements GroupByStrategy
 
     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 23580bb..d50e2c2 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 class GroupByStrategyV2 implements GroupByStrategy
         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 34de6e4..ec62e68 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 class SegmentMetadataQueryQueryToolChest extends QueryToolChest<SegmentAn
       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 4cb6187..7706ca6 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 @@ public class ScanQueryEngine
                         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 5de858c..73e2270 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 @@ public class CursorOnlyStrategy extends SearchStrategy
   {
     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 62b3b31..cdf7a7d 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 class FragmentSearchQuerySpec implements SearchQuerySpec
     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 1eede43..6f6dfe8 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 class SearchQueryQueryToolChest extends QueryToolChest<Result<SearchResul
     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 class SearchQueryQueryToolChest extends QueryToolChest<Result<SearchResul
         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 class SearchQueryQueryToolChest extends QueryToolChest<Result<SearchResul
               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 df550aa..c7d82c3 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 class 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 2eff16a..fd268e9 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 class SelectQueryQueryToolChest extends QueryToolChest<Result<SelectResul
     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 class SelectQueryQueryToolChest extends QueryToolChest<Result<SelectResul
         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 d600532..3726b7b 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 class TopNQuery extends BaseQuery<Result<TopNResultValue>>
     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 5434ad2..ffdb07e 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 class TopNQueryEngine
               }
             }
         ),
-        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 5da225f..3fab4e3 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 class TopNResultValue implements Iterable<DimensionAndMetricValueExtracto
       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 8a23c31..6745a11 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 @@ import java.util.Objects;
 
 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 b84b65b..8783b7b 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 @@ import java.util.Objects;
 
 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 79bacc3..1e7cbfb 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 @@ public interface IndexMerger
 
   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 eb065a7..7ba0c0f 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.ByteBuffer;
 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 @@ public class IndexMergerV9 implements IndexMerger
 
     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 class IndexMergerV9 implements IndexMerger
 
     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 7a78a07..1acb84d 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 class VirtualColumns implements Cacheable
   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 d162163..95e223f 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 @@ public interface Column
   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 d2522bf..cdf8957 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 abstract class IncrementalIndex<AggregatorType> extends AbstractIndex imp
 
       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 18a18f1..d42daad 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 @@ public interface SegmentWriteOutMediumFactory
 {
   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 4da9175..886cd1f 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.Assert;
 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 class CombiningIterableTest
         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 f396af3..ed4722b 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 class WrappedRoaringBitmapTest
   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 b06553d..649aa4f 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 class QueryGranularityTest
   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 71c91f0..fad4c87 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 io.druid.metadata.MetadataStorageTablesConfig;
 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 class MetadataStorageTablesConfigTest
           @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 c6f45bd..8557f7e 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 io.druid.query.metadata.metadata.SegmentMetadataQuery;
 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 class SegmentMetadataQueryConfigTest
           @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 489010b..737c7d1 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.collect.Lists;
 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 class 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 fcaab8d..9a1b79a 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 class ChainedExecutionQueryRunnerTest
     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 class ChainedExecutionQueryRunnerTest
     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 class ChainedExecutionQueryRunnerTest
     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 class ChainedExecutionQueryRunnerTest
     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 b69de4e..29b2dc9 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 @@ package io.druid.query;
 
 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 class DataSourceTest
         .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 588d8d1..66f94bc 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.DimensionsSpec;
 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.File;
 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 @@ public class DoubleStorageTest
   {
     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 @@ public class DoubleStorageTest
           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 class DoubleStorageTest
                                                       .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 8a38b4f..258de5e 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 com.google.common.collect.Lists;
 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 class 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 class IntervalChunkingQueryRunnerTest
   @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 class IntervalChunkingQueryRunnerTest
   @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 546799b..a8d0a2c 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.java.util.common.guava.Sequence;
 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.IncrementalIndexSegment;
 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 class MultiValuedDimensionTest
   public MultiValuedDimensionTest(final GroupByQueryConfig config, SegmentWriteOutMediumFactory segmentWriteOutMediumFactory)
   {
     helper = AggregationTestHelper.createGroupByQueryAggregationTestHelper(
-        ImmutableList.<Module>of(),
+        ImmutableList.of(),
         config,
         null
     );
@@ -156,12 +153,12 @@ public class MultiValuedDimensionTest
         .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 class MultiValuedDimensionTest
         .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 class MultiValuedDimensionTest
         .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 class MultiValuedDimensionTest
         .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 class MultiValuedDimensionTest
     );
     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 38d37b7..b6cdde2 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.Assert;
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -40,17 +41,17 @@ public class QueriesTest
   @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 class QueriesTest
   @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 class QueriesTest
   @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 class QueriesTest
         new ArithmeticPostAggregator(
             "addStuff",
             "+",
-            Arrays.<PostAggregator>asList(
+            Arrays.asList(
                 new FieldAccessPostAggregator("divideStuff", "divideStuff"),
                 new FieldAccessPostAggregator("count", "count")
             )
@@ -158,17 +159,17 @@ public class QueriesTest
   @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 class QueriesTest
         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 add0d07..4ffb8da 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.ArithmeticPostAggregator;
 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 class QueryRunnerTestHelper
   );
   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 class QueryRunnerTestHelper
   );
   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 class QueryRunnerTestHelper
   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 class QueryRunnerTestHelper
   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 2b9ee1f..bb519fd 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.Assert;
 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 class RetryQueryRunnerTest
               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 class RetryQueryRunnerTest
               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 class RetryQueryRunnerTest
               );
               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 class RetryQueryRunnerTest
               );
               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 class RetryQueryRunnerTest
               // 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 141d722..6fcfc2c 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.DateTimes;
 import io.druid.java.util.common.ISE;
 import io.druid.java.util.common.guava.FunctionalIterable;
... 21287 lines suppressed ...


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