http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
index df72f24..5545ea2 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java
@@ -43,8 +43,8 @@ public class ConvolutionCPInstruction extends 
UnaryCPInstruction {
        private CPOperand _in3;
        private ArrayList<CPOperand> _input_shape;
        private ArrayList<CPOperand> _filter_shape;
-       private ArrayList<CPOperand> _stride = new ArrayList<CPOperand>();
-       private ArrayList<CPOperand> _padding = new ArrayList<CPOperand>();
+       private ArrayList<CPOperand> _stride = new ArrayList<>();
+       private ArrayList<CPOperand> _padding = new ArrayList<>();
        private int _numThreads = -1;   private double 
_intermediateMemoryBudget = 0;
        private static final Log LOG = 
LogFactory.getLog(ConvolutionCPInstruction.class.getName());
        private static boolean warnedUnderUtilitization = false;
@@ -120,10 +120,10 @@ public class ConvolutionCPInstruction extends 
UnaryCPInstruction {
                        CPOperand in = new CPOperand(parts[1]);
                        CPOperand out = new CPOperand(parts[14]);
 
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[2]));
                        stride.add(new CPOperand(parts[3]));
                        padding.add(new CPOperand(parts[4]));
@@ -153,10 +153,10 @@ public class ConvolutionCPInstruction extends 
UnaryCPInstruction {
                        CPOperand in2 = new CPOperand(parts[2]);
                        CPOperand out = new CPOperand(parts[15]);
 
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[3]));
                        stride.add(new CPOperand(parts[4]));
                        padding.add(new CPOperand(parts[5]));
@@ -184,10 +184,10 @@ public class ConvolutionCPInstruction extends 
UnaryCPInstruction {
                        CPOperand in3 = new CPOperand(parts[3]);
                        CPOperand out = new CPOperand(parts[16]);
 
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[4]));
                        stride.add(new CPOperand(parts[5]));
                        padding.add(new CPOperand(parts[6]));

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
index d774c8d..3e0ecf9 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java
@@ -79,9 +79,9 @@ public class FunctionCallCPInstruction extends CPInstruction {
                String functionName = parts[2];
                int numInputs = Integer.valueOf(parts[3]);
                int numOutputs = Integer.valueOf(parts[4]);
-               ArrayList<CPOperand> boundInParamOperands = new 
ArrayList<CPOperand>();
-               ArrayList<String> boundInParamNames = new ArrayList<String>();
-               ArrayList<String> boundOutParamNames = new ArrayList<String>();
+               ArrayList<CPOperand> boundInParamOperands = new ArrayList<>();
+               ArrayList<String> boundInParamNames = new ArrayList<>();
+               ArrayList<String> boundOutParamNames = new ArrayList<>();
                for (int i = 0; i < numInputs; i++) {
                        CPOperand operand = new CPOperand(parts[5 + i]);
                        boundInParamOperands.add(operand);
@@ -188,8 +188,8 @@ public class FunctionCallCPInstruction extends 
CPInstruction {
                LocalVariableMap retVars = fn_ec.getVariables();  
                
                // cleanup all returned variables w/o binding 
-               Collection<String> retVarnames = new 
LinkedList<String>(retVars.keySet());
-               HashSet<String> probeVars = new HashSet<String>();
+               Collection<String> retVarnames = new 
LinkedList<>(retVars.keySet());
+               HashSet<String> probeVars = new HashSet<>();
                for(DataIdentifier di : fpb.getOutputParams())
                        probeVars.add(di.getName());
                for( String var : retVarnames ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java
index c60b088..d69f08c 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java
@@ -56,7 +56,7 @@ public class MultiReturnBuiltinCPInstruction extends 
ComputationCPInstruction {
                throws DMLRuntimeException 
        {
                String[] parts = 
InstructionUtils.getInstructionPartsWithValueType(str);
-               ArrayList<CPOperand> outputs = new ArrayList<CPOperand>();
+               ArrayList<CPOperand> outputs = new ArrayList<>();
                // first part is always the opcode
                String opcode = parts[0];
                

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java
index e59bb3a..27013a7 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java
@@ -50,7 +50,7 @@ public class MultiReturnParameterizedBuiltinCPInstruction 
extends ComputationCPI
                throws DMLRuntimeException 
        {
                String[] parts = 
InstructionUtils.getInstructionPartsWithValueType(str);
-               ArrayList<CPOperand> outputs = new ArrayList<CPOperand>();
+               ArrayList<CPOperand> outputs = new ArrayList<>();
                String opcode = parts[0];
                
                if ( opcode.equalsIgnoreCase("transformencode") ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java
index 9252915..021ab34 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java
@@ -53,7 +53,7 @@ public class SpoofCPInstruction extends 
ComputationCPInstruction {
        {
                String[] parts = 
InstructionUtils.getInstructionPartsWithValueType(str);
                
-               ArrayList<CPOperand> inlist = new ArrayList<CPOperand>();
+               ArrayList<CPOperand> inlist = new ArrayList<>();
                Class<?> cla = CodegenUtils.getClass(parts[1]);
                SpoofOperator op = CodegenUtils.createInstance(cla);
                String opcode =  parts[0] + op.getSpoofType();
@@ -71,8 +71,8 @@ public class SpoofCPInstruction extends 
ComputationCPInstruction {
                throws DMLRuntimeException 
        {
                //get input matrices and scalars, incl pinning of matrices
-               ArrayList<MatrixBlock> inputs = new ArrayList<MatrixBlock>();
-               ArrayList<ScalarObject> scalars = new ArrayList<ScalarObject>();
+               ArrayList<MatrixBlock> inputs = new ArrayList<>();
+               ArrayList<ScalarObject> scalars = new ArrayList<>();
                for (CPOperand input : _in) {
                        if(input.getDataType()==DataType.MATRIX)
                                inputs.add(ec.getMatrixInput(input.getName(), 
getExtendedOpcode()));

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
index 1ac046a..9525d2a 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java
@@ -122,7 +122,7 @@ public class VariableCPInstruction extends CPInstruction {
                super(sopcode, istr);
                _cptype = CPINSTRUCTION_TYPE.Variable;
                opcode = op;
-               inputs = new ArrayList<CPOperand>();
+               inputs = new ArrayList<>();
                addInput(in1);
                addInput(in2);
                addInput(in3);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
index 6383906..64a2b5f 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
@@ -273,7 +273,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                        informat.configure(job);
                        InputSplit[] splits = informat.getSplits(job, 1);
                
-                       LinkedList<Cell> buffer = new LinkedList<Cell>();
+                       LinkedList<Cell> buffer = new LinkedList<>();
                        
                        LongWritable key = new LongWritable();
                        Text value = new Text();
@@ -323,7 +323,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                        if( !fs.exists(path) )  
                                throw new IOException("File "+fnameOld+" does 
not exist on HDFS.");
                        
-                       LinkedList<Cell> buffer = new LinkedList<Cell>();
+                       LinkedList<Cell> buffer = new LinkedList<>();
                        
                        MatrixIndexes key = new MatrixIndexes();
                        MatrixCell value = new MatrixCell();
@@ -396,7 +396,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                                if( !value.isEmptyBlock() ) 
//skip empty blocks (important for diag)
                                                {
                                                        String fname = 
stagingDir +"/"+key.getRowIndex()+"_"+key.getColumnIndex();
-                                                       
LocalFileUtils.writeMatrixBlockToLocal(fname, value);                           
                        
+                                                       
LocalFileUtils.writeMatrixBlockToLocal(fname, value);
                                                        diagBlocks &= 
(key.getRowIndex()==key.getColumnIndex());
                                                }
                                        }       
@@ -412,7 +412,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                private void appendCellBufferToStagingArea( String dir, 
LinkedList<Cell> buffer, int brlen, int bclen ) 
                        throws DMLRuntimeException, IOException
                {
-                       HashMap<String,LinkedList<Cell>> sortedBuffer = new 
HashMap<String,LinkedList<Cell>>();
+                       HashMap<String,LinkedList<Cell>> sortedBuffer = new 
HashMap<>();
                        
                        //sort cells in buffer wrt key
                        String key = null;
@@ -474,7 +474,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                        } 
                        
                                        //create and append key mapping
-                                       LinkedList<long[]> keyMapping = new 
LinkedList<long[]>();
+                                       LinkedList<long[]> keyMapping = new 
LinkedList<>();
                                        for( int i = 0; i<flags.length; i++ )
                                                if( !flags[i] )
                                                        keyMapping.add(new 
long[]{blockRow*brlen+i, lastKey++});
@@ -514,7 +514,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                        } 
                        
                                        //create and append key mapping
-                                       LinkedList<long[]> keyMapping = new 
LinkedList<long[]>();
+                                       LinkedList<long[]> keyMapping = new 
LinkedList<>();
                                        for( int i = 0; i<flags.length; i++ )
                                                if( !flags[i] )
                                                        keyMapping.add(new 
long[]{blockCol*bclen+i, lastKey++});
@@ -568,7 +568,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                         
                        
                                        //create and append key mapping
-                                       LinkedList<long[]> keyMapping = new 
LinkedList<long[]>();
+                                       LinkedList<long[]> keyMapping = new 
LinkedList<>();
                                        for( int i = 0; i<flags.length; i++ )
                                                if( !flags[i] )
                                                        keyMapping.add(new 
long[]{blockRow*brlen+i, lastKey++});
@@ -606,7 +606,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                         
                        
                                        //create and append key mapping
-                                       LinkedList<long[]> keyMapping = new 
LinkedList<long[]>();
+                                       LinkedList<long[]> keyMapping = new 
LinkedList<>();
                                        for( int i = 0; i<flags.length; i++ )
                                                if( !flags[i] )
                                                        keyMapping.add(new 
long[]{blockCol*bclen+i, lastKey++});
@@ -646,7 +646,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                        MatrixIndexes key = new MatrixIndexes();
                        MatrixCell value = new MatrixCell();
 
-                       HashMap<Integer,HashMap<Long,Long>> keyMap = new 
HashMap<Integer, HashMap<Long,Long>>();
+                       HashMap<Integer,HashMap<Long,Long>> keyMap = new 
HashMap<>();
                        BufferedReader fkeyMap = 
StagingFileUtils.openKeyMap(metaOut);
                        try
                        {
@@ -748,7 +748,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                        
                                        for(int blockCol = 0; blockCol < 
(int)Math.ceil(clen/(double)bclen); blockCol++)
                                        {
-                                               
HashMap<Integer,HashMap<Long,Long>> keyMap = new HashMap<Integer, 
HashMap<Long,Long>>();
+                                               
HashMap<Integer,HashMap<Long,Long>> keyMap = new HashMap<>();
                                                BufferedReader fkeyMap = 
StagingFileUtils.openKeyMap(metaOut);
                                                int maxCol = 
(int)(((long)blockCol*bclen + bclen < clen) ? bclen : clen - 
(long)blockCol*bclen);
                                                
@@ -812,7 +812,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                        
                                        for(int blockRow = 0; blockRow < 
(int)Math.ceil(rlen/(double)brlen); blockRow++)
                                        {
-                                               
HashMap<Integer,HashMap<Long,Long>> keyMap = new HashMap<Integer, 
HashMap<Long,Long>>();
+                                               
HashMap<Integer,HashMap<Long,Long>> keyMap = new HashMap<>();
                                                BufferedReader fkeyMap = 
StagingFileUtils.openKeyMap(metaOut);
                                                int maxRow = 
(int)(((long)blockRow*brlen + brlen < rlen) ? brlen : rlen - 
(long)blockRow*brlen);
                                                
@@ -888,7 +888,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                        //prepare output
                        SequenceFile.Writer writer = new 
SequenceFile.Writer(fs, job, path, MatrixIndexes.class, MatrixBlock.class);
                        MatrixIndexes key = new MatrixIndexes(); 
-                       HashSet<Long> writtenBlocks = new HashSet<Long>();
+                       HashSet<Long> writtenBlocks = new HashSet<>();
                        
                        try
                        {
@@ -896,7 +896,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                {
                                        MatrixBlock[] blocks = 
MatrixWriter.createMatrixBlocksForReuse(newlen, clen, brlen, bclen, 
                                                                               
MatrixBlock.evalSparseFormatInMemory(rlen, clen, nnz), nnz);  
-                                       HashMap<Integer,HashMap<Long,Long>> 
keyMap = new HashMap<Integer, HashMap<Long,Long>>();
+                                       HashMap<Integer,HashMap<Long,Long>> 
keyMap = new HashMap<>();
                                        BufferedReader fkeyMap = 
StagingFileUtils.openKeyMap(metaOut);
                                        int currentSize = -1;
                                        int blockRowOut = 0;
@@ -954,7 +954,7 @@ public class ParameterizedBuiltinCPFileInstruction extends 
ParameterizedBuiltinC
                                {
                                        MatrixBlock[] blocks = 
MatrixWriter.createMatrixBlocksForReuse(rlen, newlen, brlen, bclen, 
                                                                             
MatrixBlock.evalSparseFormatInMemory(rlen, clen, nnz), nnz);  
-                                       HashMap<Integer,HashMap<Long,Long>> 
keyMap = new HashMap<Integer, HashMap<Long,Long>>();
+                                       HashMap<Integer,HashMap<Long,Long>> 
keyMap = new HashMap<>();
                                        BufferedReader fkeyMap = 
StagingFileUtils.openKeyMap(metaOut);
                                        int currentSize = -1;
                                        int blockColOut = 0;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
index b25f787..d841e69 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ConvolutionGPUInstruction.java
@@ -39,8 +39,8 @@ public class ConvolutionGPUInstruction extends GPUInstruction 
{
        private CPOperand _output;
        private ArrayList<CPOperand> _input_shape;
        private ArrayList<CPOperand> _filter_shape;
-       private ArrayList<CPOperand> _stride = new ArrayList<CPOperand>();
-       private ArrayList<CPOperand> _padding = new ArrayList<CPOperand>();
+       private ArrayList<CPOperand> _stride = new ArrayList<>();
+       private ArrayList<CPOperand> _padding = new ArrayList<>();
        private double _intermediateMemoryBudget = 0;
        
        public ConvolutionGPUInstruction(CPOperand in1, CPOperand in2, 
CPOperand out, String opcode, String istr, double intermediateMemoryBudget) 
throws DMLRuntimeException {
@@ -99,10 +99,10 @@ public class ConvolutionGPUInstruction extends 
GPUInstruction {
                        CPOperand in2 = new CPOperand(parts[2]);
                        CPOperand out = new CPOperand(parts[15]);
                
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[3]));
                        stride.add(new CPOperand(parts[4]));
                        padding.add(new CPOperand(parts[5]));
@@ -126,10 +126,10 @@ public class ConvolutionGPUInstruction extends 
GPUInstruction {
                        CPOperand in3 = new CPOperand(parts[3]);
                        CPOperand out = new CPOperand(parts[16]);
                
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[4]));
                        stride.add(new CPOperand(parts[5]));
                        padding.add(new CPOperand(parts[6]));
@@ -151,10 +151,10 @@ public class ConvolutionGPUInstruction extends 
GPUInstruction {
                        CPOperand in1 = new CPOperand(parts[1]);
                        CPOperand out = new CPOperand(parts[14]);
                
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[2]));
                        stride.add(new CPOperand(parts[3]));
                        padding.add(new CPOperand(parts[4]));

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/gpu/GPUInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/gpu/GPUInstruction.java 
b/src/main/java/org/apache/sysml/runtime/instructions/gpu/GPUInstruction.java
index 108a622..ed2a4a2 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/gpu/GPUInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/gpu/GPUInstruction.java
@@ -48,7 +48,7 @@ public abstract class GPUInstruction extends Instruction {
                BuiltinBinary,
                Builtin,
                MatrixIndexing
-       };
+       }
        
        private static final Log LOG = 
LogFactory.getLog(GPUInstruction.class.getName());
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/mr/MRInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/MRInstruction.java 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/MRInstruction.java
index 0fd160a..e0a97bf 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/MRInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/MRInstruction.java
@@ -35,7 +35,7 @@ public abstract class MRInstruction extends Instruction {
                PickByCount, Partition, Ternary, Quaternary, CM_N_COV, 
MapGroupedAggregate, GroupedAggregate, RightIndex,
                ZeroOut, MMTSJ, PMMJ, MatrixReshape, ParameterizedBuiltin, 
Sort, MapMultChain, CumsumAggregate, CumsumSplit,
                CumsumOffset, BinUaggChain, UaggOuterChain, RemoveEmpty
-       };
+       }
 
        protected MRINSTRUCTION_TYPE mrtype;
        protected Operator optr;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
index 5206f9f..7bb15cb 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/ConvolutionSPInstruction.java
@@ -56,8 +56,8 @@ public class ConvolutionSPInstruction extends 
UnarySPInstruction {
        private CPOperand _in3;
        private ArrayList<CPOperand> _input_shape;
        private ArrayList<CPOperand> _filter_shape;
-       private ArrayList<CPOperand> _stride = new ArrayList<CPOperand>();
-       private ArrayList<CPOperand> _padding = new ArrayList<CPOperand>();
+       private ArrayList<CPOperand> _stride = new ArrayList<>();
+       private ArrayList<CPOperand> _padding = new ArrayList<>();
 
        private ConvolutionSPInstruction(CPOperand in, CPOperand out, String 
opcode, String istr,
                        ArrayList<CPOperand> stride, ArrayList<CPOperand> 
padding, ArrayList<CPOperand> input_shape,
@@ -115,10 +115,10 @@ public class ConvolutionSPInstruction extends 
UnarySPInstruction {
                        in.split(parts[1]);
                        out.split(parts[14]);
 
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[2]));
                        stride.add(new CPOperand(parts[3]));
                        padding.add(new CPOperand(parts[4]));
@@ -148,10 +148,10 @@ public class ConvolutionSPInstruction extends 
UnarySPInstruction {
                        in2.split(parts[2]);
                        out.split(parts[15]);
 
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[3]));
                        stride.add(new CPOperand(parts[4]));
                        padding.add(new CPOperand(parts[5]));
@@ -180,10 +180,10 @@ public class ConvolutionSPInstruction extends 
UnarySPInstruction {
                        in3.split(parts[3]);
                        out.split(parts[16]);
 
-                       ArrayList<CPOperand> stride = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> padding = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> input_shape = new 
ArrayList<CPOperand>();
-                       ArrayList<CPOperand> filter_shape = new 
ArrayList<CPOperand>();
+                       ArrayList<CPOperand> stride = new ArrayList<>();
+                       ArrayList<CPOperand> padding = new ArrayList<>();
+                       ArrayList<CPOperand> input_shape = new ArrayList<>();
+                       ArrayList<CPOperand> filter_shape = new ArrayList<>();
                        stride.add(new CPOperand(parts[4]));
                        stride.add(new CPOperand(parts[5]));
                        padding.add(new CPOperand(parts[6]));
@@ -396,10 +396,9 @@ public class ConvolutionSPInstruction extends 
UnarySPInstruction {
                                        throw new RuntimeException("Expected 
the inputs to be reblocked as rectangular RDD");
                                }
                                MatrixBlock out = 
processRectangularBlock(arg._2);
-                               if(out.getNumRows() != 1) {
+                               if(out.getNumRows() != 1)
                                        throw new RuntimeException("Expected 
the output to have 1 row");
-                               }
-                               return new Tuple2<MatrixIndexes, 
MatrixBlock>(arg._1, out);
+                               return new Tuple2<>(arg._1, out);
                        }
                }
                

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
index 6436389..19b0732 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.java
@@ -81,7 +81,7 @@ public class MultiReturnParameterizedBuiltinSPInstruction 
extends ComputationSPI
                throws DMLRuntimeException 
        {
                String[] parts = 
InstructionUtils.getInstructionPartsWithValueType(str);
-               ArrayList<CPOperand> outputs = new ArrayList<CPOperand>();
+               ArrayList<CPOperand> outputs = new ArrayList<>();
                String opcode = parts[0];
                
                if ( opcode.equalsIgnoreCase("transformencode") ) {
@@ -265,11 +265,11 @@ public class MultiReturnParameterizedBuiltinSPInstruction 
extends ComputationSPI
                        }
                        
                        //output recode maps as columnID - token pairs
-                       ArrayList<Tuple2<Integer,Object>> ret = new 
ArrayList<Tuple2<Integer,Object>>();
+                       ArrayList<Tuple2<Integer,Object>> ret = new 
ArrayList<>();
                        HashMap<Integer,HashSet<Object>> tmp = 
_raEncoder.getCPRecodeMapsPartial();
                        for( Entry<Integer,HashSet<Object>> e1 : tmp.entrySet() 
)
                                for( Object token : e1.getValue() )
-                                       ret.add(new 
Tuple2<Integer,Object>(e1.getKey(), token));
+                                       ret.add(new Tuple2<>(e1.getKey(), 
token));
                        _raEncoder.getCPRecodeMapsPartial().clear();
                
                        return ret.iterator();
@@ -301,7 +301,7 @@ public class MultiReturnParameterizedBuiltinSPInstruction 
extends ComputationSPI
                        String colID = String.valueOf(arg0._1());
                        Iterator<Object> iter = arg0._2().iterator();
                        
-                       ArrayList<String> ret = new ArrayList<String>();
+                       ArrayList<String> ret = new ArrayList<>();
                        StringBuilder sb = new StringBuilder();
                        long rowID = 1;
                        while( iter.hasNext() ) {
@@ -342,21 +342,21 @@ public class MultiReturnParameterizedBuiltinSPInstruction 
extends ComputationSPI
                        }
                        
                        //extract meta data
-                       ArrayList<Tuple2<Integer,ColumnMetadata>> ret = new 
ArrayList<Tuple2<Integer,ColumnMetadata>>();
+                       ArrayList<Tuple2<Integer,ColumnMetadata>> ret = new 
ArrayList<>();
                        int[] collist = _encoder.getColList();
                        for( int j=0; j<collist.length; j++ ) {
                                if( _encoder.getMethod(collist[j]) == 
MVMethod.GLOBAL_MODE ) {
                                        HashMap<String,Long> hist = 
_encoder.getHistogram(collist[j]);
                                        for( Entry<String,Long> e : 
hist.entrySet() )
-                                               ret.add(new 
Tuple2<Integer,ColumnMetadata>(collist[j], 
+                                               ret.add(new 
Tuple2<>(collist[j], 
                                                                new 
ColumnMetadata(e.getValue(), e.getKey())));
                                }
                                else if( _encoder.getMethod(collist[j]) == 
MVMethod.GLOBAL_MEAN ) {
-                                       ret.add(new 
Tuple2<Integer,ColumnMetadata>(collist[j], 
+                                       ret.add(new Tuple2<>(collist[j], 
                                                        new 
ColumnMetadata(_encoder.getNonMVCount(collist[j]), 
String.valueOf(_encoder.getMeans()[j]._sum))));
                                }
                                else if( _encoder.getMethod(collist[j]) == 
MVMethod.CONSTANT ) {
-                                       ret.add(new 
Tuple2<Integer,ColumnMetadata>(collist[j],
+                                       ret.add(new Tuple2<>(collist[j],
                                                        new ColumnMetadata(0, 
_encoder.getReplacement(collist[j]))));
                                }
                        }
@@ -381,11 +381,11 @@ public class MultiReturnParameterizedBuiltinSPInstruction 
extends ComputationSPI
                {
                        int colix = arg0._1();
                        Iterator<ColumnMetadata> iter = arg0._2().iterator();
-                       ArrayList<String> ret = new ArrayList<String>();
+                       ArrayList<String> ret = new ArrayList<>();
                        
                        //compute global mode of categorical feature, i.e., 
value with highest frequency
                        if( _encoder.getMethod(colix) == MVMethod.GLOBAL_MODE ) 
{
-                               HashMap<String, Long> hist = new 
HashMap<String,Long>();
+                               HashMap<String, Long> hist = new HashMap<>();
                                while( iter.hasNext() ) {
                                        ColumnMetadata cmeta = iter.next(); 
                                        Long tmp = hist.get(cmeta.getMvValue());

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/spark/SPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/SPInstruction.java 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/SPInstruction.java
index 0261357..f0ee6e3 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/SPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/SPInstruction.java
@@ -38,7 +38,7 @@ public abstract class SPInstruction extends Instruction {
                MatrixReshape, Ternary, Quaternary, CumsumAggregate, 
CumsumOffset, BinUaggChain, UaggOuterChain, 
                Write, SpoofFused, INVALID, 
                Convolution
-       };
+       }
 
        protected SPINSTRUCTION_TYPE _sptype;
        protected Operator _optr;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
index a628dc0..416e4a6 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/SpoofSPInstruction.java
@@ -88,7 +88,7 @@ public class SpoofSPInstruction extends SPInstruction {
                String[] parts = 
InstructionUtils.getInstructionPartsWithValueType(str);
                
                //String opcode = parts[0];
-               ArrayList<CPOperand> inlist = new ArrayList<CPOperand>();
+               ArrayList<CPOperand> inlist = new ArrayList<>();
                Class<?> cls = CodegenUtils.getClass(parts[1]);
                byte[] classBytes = CodegenUtils.getClassData(parts[1]);
                String opcode =  parts[0] + 
CodegenUtils.createInstance(cls).getSpoofType();
@@ -410,7 +410,7 @@ public class SpoofSPInstruction extends SPInstruction {
                protected ArrayList<MatrixBlock> 
getAllMatrixInputs(MatrixIndexes ixIn, MatrixBlock[] blkIn, boolean outer) 
                        throws DMLRuntimeException 
                {
-                       ArrayList<MatrixBlock> ret = new 
ArrayList<MatrixBlock>();
+                       ArrayList<MatrixBlock> ret = new ArrayList<>();
                        //add all rdd/broadcast inputs (main and side inputs)
                        for( int i=0, posRdd=0, posBc=0; i<_bcInd.length; i++ ) 
{
                                if( _bcInd[i] ) {
@@ -458,7 +458,7 @@ public class SpoofSPInstruction extends SPInstruction {
                                _op.getRowType().isRowTypeB1() ? 
_inputs.get(0).getNumCols() : -1);
                        
LibSpoofPrimitives.setupThreadLocalMemory(_op.getNumIntermediates(), _clen, 
clen2);
                        
-                       ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new 
ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+                       ArrayList<Tuple2<MatrixIndexes,MatrixBlock>> ret = new 
ArrayList<>();
                        boolean aggIncr = (_op.getRowType().isColumnAgg() 
//aggregate entire partition
                                || _op.getRowType() == RowType.FULL_AGG); 
                        MatrixBlock blkOut = aggIncr ? new MatrixBlock() : null;
@@ -476,14 +476,14 @@ public class SpoofSPInstruction extends SPInstruction {
                                if( !aggIncr ) {
                                        MatrixIndexes ixOut = new 
MatrixIndexes(ixIn.getRowIndex(),
                                                
_op.getRowType()!=RowType.NO_AGG ? 1 : ixIn.getColumnIndex());
-                                       ret.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(ixOut, blkOut));
+                                       ret.add(new Tuple2<>(ixOut, blkOut));
                                }
                        }
                        
                        //cleanup and final result preparations
                        LibSpoofPrimitives.cleanupThreadLocalMemory();
                        if( aggIncr )
-                               ret.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(new MatrixIndexes(1,1), blkOut));
+                               ret.add(new Tuple2<>(new MatrixIndexes(1,1), 
blkOut));
                        
                        return ret.iterator();
                }
@@ -512,7 +512,7 @@ public class SpoofSPInstruction extends SPInstruction {
                                _op = (SpoofOperator) 
CodegenUtils.createInstance(loadedClass); 
                        }
                        
-                       List<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+                       List<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<>();
                        while(arg.hasNext()) 
                        {
                                Tuple2<MatrixIndexes,MatrixBlock[]> tmp = 
arg.next();
@@ -535,7 +535,7 @@ public class SpoofSPInstruction extends SPInstruction {
                                                ixOut = new MatrixIndexes(1, 
ixOut.getColumnIndex());
                                        blkOut = _op.execute(inputs, _scalars, 
blkOut);
                                }
-                               ret.add(new 
Tuple2<MatrixIndexes,MatrixBlock>(ixOut, blkOut));
+                               ret.add(new Tuple2<>(ixOut, blkOut));
                        }
                        return ret.iterator();
                }
@@ -569,7 +569,7 @@ public class SpoofSPInstruction extends SPInstruction {
                        MatrixBlock blkOut = new MatrixBlock();
                        blkOut = _op.execute(inputs, _scalars, blkOut);
                        
-                       return new Tuple2<MatrixIndexes,MatrixBlock>(arg._1(), 
blkOut);
+                       return new Tuple2<>(arg._1(), blkOut);
                }
        }
        
@@ -626,7 +626,7 @@ public class SpoofSPInstruction extends SPInstruction {
                                _op = (SpoofOperator) 
CodegenUtils.createInstance(loadedClass); 
                        }
                        
-                       List<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+                       List<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<>();
                        while(arg.hasNext())
                        {
                                Tuple2<MatrixIndexes,MatrixBlock[]> tmp = 
arg.next();
@@ -645,7 +645,7 @@ public class SpoofSPInstruction extends SPInstruction {
                                        blkOut = _op.execute(inputs, _scalars, 
blkOut);
                                }
                                
-                               ret.add(new 
Tuple2<MatrixIndexes,MatrixBlock>(createOutputIndexes(ixIn,_op), blkOut));      
                    
+                               ret.add(new 
Tuple2<>(createOutputIndexes(ixIn,_op), blkOut));
                        }
                        
                        return ret.iterator();
@@ -677,7 +677,7 @@ public class SpoofSPInstruction extends SPInstruction {
                public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call( 
Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
                        throws Exception 
                {
-                       LinkedList<Tuple2<MatrixIndexes, MatrixBlock>> ret = 
new LinkedList<Tuple2<MatrixIndexes, MatrixBlock>>();
+                       LinkedList<Tuple2<MatrixIndexes, MatrixBlock>> ret = 
new LinkedList<>();
                        MatrixIndexes ixIn = arg0._1();
                        MatrixBlock blkIn = arg0._2();
                        
@@ -688,7 +688,7 @@ public class SpoofSPInstruction extends SPInstruction {
                        for( long i=1; i<=numBlocks; i++ ) {
                                MatrixIndexes tmpix = new MatrixIndexes(i, j);
                                MatrixBlock tmpblk = blkIn;
-                               ret.add( new Tuple2<MatrixIndexes, 
MatrixBlock>(tmpix, tmpblk) );
+                               ret.add( new Tuple2<>(tmpix, tmpblk) );
                        }
                        
                        //output list of new tuples

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BlockPartitioner.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BlockPartitioner.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BlockPartitioner.java
index 48b30b0..677fbbf 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BlockPartitioner.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/data/BlockPartitioner.java
@@ -19,6 +19,8 @@
 
 package org.apache.sysml.runtime.instructions.spark.data;
 
+import java.util.Arrays;
+
 import org.apache.spark.Partitioner;
 
 import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
@@ -100,6 +102,12 @@ public class BlockPartitioner extends Partitioner
        public int numPartitions() {
                return _numParts;
        }
+       
+       @Override 
+       public int hashCode() {
+               return Arrays.hashCode(new long[]{
+                       _numParts, _ncparts, _rbPerPart, _cbPerPart});
+       }
 
        @Override
        public boolean equals(Object obj) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java 
b/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java
index ecbf7e4..3ac4dc4 100644
--- a/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java
+++ b/src/main/java/org/apache/sysml/runtime/io/IOUtilFunctions.java
@@ -420,7 +420,7 @@ public class IOUtilFunctions
         * @return the number of columns in the collection of csv file splits
         * @throws IOException if IOException occurs
         */
-       @SuppressWarnings({ "rawtypes", "unchecked" })
+       @SuppressWarnings({ "rawtypes" })
        public static int countNumColumnsCSV(InputSplit[] splits, InputFormat 
informat, JobConf job, String delim ) 
                throws IOException 
        {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java 
b/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java
index d40857f..f18a811 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/CombineMR.java
@@ -73,8 +73,8 @@ public class CombineMR
                protected MRInstruction[] comb_instructions=null;
                private MatrixIndexes keyBuff=new MatrixIndexes();
                private WeightedPair valueBuff=new WeightedPair();
-               private HashMap<Byte, Pair<Integer, Integer>> 
outputBlockSizes=new HashMap<Byte, Pair<Integer, Integer>>();
-               private HashMap<Byte, ArrayList<Integer>> 
outputIndexesMapping=new HashMap<Byte, ArrayList<Integer>>();
+               private HashMap<Byte, Pair<Integer, Integer>> 
outputBlockSizes=new HashMap<>();
+               private HashMap<Byte, ArrayList<Integer>> 
outputIndexesMapping=new HashMap<>();
                @Override
                public void reduce(MatrixIndexes indexes,
                                Iterator<TaggedMatrixValue> values,

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/GMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/GMR.java 
b/src/main/java/org/apache/sysml/runtime/matrix/GMR.java
index 1024070..f0c214e 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/GMR.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/GMR.java
@@ -330,12 +330,12 @@ public class GMR
                        && InstructionUtils.isDistributedCacheUsed(allInsts) ) 
                {
                        //get all indexes of distributed cache inputs
-                       ArrayList<Byte> indexList = new ArrayList<Byte>();
+                       ArrayList<Byte> indexList = new ArrayList<>();
                        String[] inst = 
allInsts.split(Instruction.INSTRUCTION_DELIM);
                        for( String tmp : inst ) {
                                if( 
InstructionUtils.isDistributedCacheUsed(tmp) )
                                {
-                                       ArrayList<Byte> tmpindexList = new 
ArrayList<Byte>();
+                                       ArrayList<Byte> tmpindexList = new 
ArrayList<>();
                                        
                                        MRInstruction mrinst = 
MRInstructionParser.parseSingleInstruction(tmp);
                                        if( mrinst instanceof 
IDistributedCacheConsumer )
@@ -349,7 +349,7 @@ public class GMR
                        }
 
                        //construct index and path strings
-                       ArrayList<String> pathList = new ArrayList<String>(); 
// list of paths to be placed in Distributed cache
+                       ArrayList<String> pathList = new ArrayList<>(); // list 
of paths to be placed in Distributed cache
                        StringBuilder indexString = new StringBuilder(); // 
input indices to be placed in Distributed Cache (concatenated) 
                        StringBuilder pathString = new StringBuilder();  // 
input paths to be placed in Distributed Cache (concatenated) 
                        for( byte index : indexList )

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/WriteCSVMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/WriteCSVMR.java 
b/src/main/java/org/apache/sysml/runtime/matrix/WriteCSVMR.java
index 2eaddb7..c4f9a56 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/WriteCSVMR.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/WriteCSVMR.java
@@ -99,7 +99,7 @@ public class WriteCSVMR
                byte[] resultDimsUnknown = new byte[resultIndexes.length];
                MatrixCharacteristics[] stats=new 
MatrixCharacteristics[resultIndexes.length];
                OutputInfo[] outputInfos=new OutputInfo[outputs.length];
-               HashMap<Byte, Integer> indexmap=new HashMap<Byte, Integer>();
+               HashMap<Byte, Integer> indexmap=new HashMap<>();
                for(int i=0; i<stats.length; i++)
                {
                        indexmap.put(resultIndexes[i], i);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
 
b/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
index cadc0e9..2dd29af 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/data/AddDummyWeightConverter.java
@@ -61,7 +61,6 @@ public class AddDummyWeightConverter implements 
Converter<Writable, Writable, Ma
        }
 
        @Override
-       @SuppressWarnings("unchecked")
        public Pair<MatrixIndexes, WeightedPair> next() {
                Pair<MatrixIndexes, MatrixCell> temp=toCellConverter.next();
                pair.setKey(temp.getKey());
@@ -71,12 +70,11 @@ public class AddDummyWeightConverter implements 
Converter<Writable, Writable, Ma
 
        @Override
        public void setBlockSize(int rl, int cl) {
-               
-               if(toCellConverter==null)
-               {
+               if(toCellConverter==null) {
                        rlen=rl;
                        clen=cl;
-               }else
+               } 
+               else
                        toCellConverter.setBlockSize(rl, cl);
        }
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/data/FileFormatProperties.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/FileFormatProperties.java 
b/src/main/java/org/apache/sysml/runtime/matrix/data/FileFormatProperties.java
index 2f405da..c03aa99 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/data/FileFormatProperties.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/data/FileFormatProperties.java
@@ -21,10 +21,9 @@ package org.apache.sysml.runtime.matrix.data;
 
 public class FileFormatProperties 
 {
-       
        private String description;
        
-       public enum FileFormat { CSV, NATIVE };
+       public enum FileFormat { CSV, NATIVE }
        
        FileFormat fmt;
        

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java 
b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java
index 0550a98..ff932fa 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixDNNHelper.java
@@ -44,7 +44,7 @@ public class LibMatrixDNNHelper {
         * @throws DMLRuntimeException if error occurs
         */
        public static ArrayList<Callable<Long>> 
getMaxPoolingWorkers(ConvolutionParameters params) throws DMLRuntimeException {
-               ArrayList<Callable<Long>> ret = new ArrayList<Callable<Long>>();
+               ArrayList<Callable<Long>> ret = new ArrayList<>();
                int k = 
OptimizerUtils.getConstrainedNumThreads(params.numThreads);
                int taskSize = (int)(Math.ceil((double)params.N / k));
                for(int i = 0; i*taskSize < params.N; i++) {
@@ -65,7 +65,7 @@ public class LibMatrixDNNHelper {
         * @throws DMLRuntimeException if error occurs
         */
        public static ArrayList<Callable<Long>> 
getMaxPoolingBackwardWorkers(ConvolutionParameters params, boolean 
performReluBackward) throws DMLRuntimeException {
-               ArrayList<Callable<Long>> ret = new ArrayList<Callable<Long>>();
+               ArrayList<Callable<Long>> ret = new ArrayList<>();
                int k = 
OptimizerUtils.getConstrainedNumThreads(params.numThreads);
                int taskSize = (int)(Math.ceil((double)params.N / k));
                for(int i = 0; i*taskSize < params.N; i++) {
@@ -93,7 +93,7 @@ public class LibMatrixDNNHelper {
         * @throws DMLRuntimeException if error occurs
         */
        public static ArrayList<Callable<Long>> 
getReluBackwardWorkers(ConvolutionParameters params) throws DMLRuntimeException 
{
-               ArrayList<Callable<Long>> ret = new ArrayList<Callable<Long>>();
+               ArrayList<Callable<Long>> ret = new ArrayList<>();
                int k = 
OptimizerUtils.getConstrainedNumThreads(params.numThreads);
                int taskSize = (int)(Math.ceil((double)params.N / k));
                for(int i = 0; i*taskSize < params.N; i++) {
@@ -110,7 +110,7 @@ public class LibMatrixDNNHelper {
         * @throws DMLRuntimeException if error occurs
         */
        public static ArrayList<Callable<Long>> 
getConv2dWorkers(ConvolutionParameters params) throws DMLRuntimeException {
-               ArrayList<Callable<Long>> ret = new ArrayList<Callable<Long>>();
+               ArrayList<Callable<Long>> ret = new ArrayList<>();
                
                // Try to create as many tasks as threads. 
                // Creating more tasks will help in tail, but would have 
additional overhead of maintaining the intermediate
@@ -148,7 +148,7 @@ public class LibMatrixDNNHelper {
         * @throws DMLRuntimeException if error occurs
         */
        public static ArrayList<Callable<Long>> 
getConv2dBackwardFilterWorkers(ConvolutionParameters params) throws 
DMLRuntimeException {
-               ArrayList<Callable<Long>> ret = new ArrayList<Callable<Long>>();
+               ArrayList<Callable<Long>> ret = new ArrayList<>();
                // Try to create as many tasks as threads. 
                // Creating more tasks will help in tail, but would have 
additional overhead of maintaining the intermediate
                // data structures such as im2col blocks.
@@ -177,7 +177,7 @@ public class LibMatrixDNNHelper {
         * @throws DMLRuntimeException if error occurs
         */
        public static ArrayList<Callable<Long>> 
getConv2dBackwardDataWorkers(ConvolutionParameters params) throws 
DMLRuntimeException {
-               ArrayList<Callable<Long>> ret = new ArrayList<Callable<Long>>();
+               ArrayList<Callable<Long>> ret = new ArrayList<>();
                
                // Try to create as many tasks as threads. 
                // Creating more tasks will help in tail, but would have 
additional overhead of maintaining the intermediate
@@ -256,7 +256,7 @@ public class LibMatrixDNNHelper {
        
        //Split a filter of size [K, CRS] into c filters of [K, RS]
        private static ArrayList<MatrixBlock> splitFilter(ConvolutionParameters 
_params) {
-               ArrayList<MatrixBlock> ret = new ArrayList<MatrixBlock>();
+               ArrayList<MatrixBlock> ret = new ArrayList<>();
                int RS = _params.R*_params.S; int CRS = 
_params.C*_params.R*_params.S;
                double [] filter = _params.input2.getDenseBlock(); int S = 
_params.S;
                for(int c = 0; c < _params.C; c++) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixOuterAgg.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixOuterAgg.java 
b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixOuterAgg.java
index 3c3b1ab..37a55ba 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixOuterAgg.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixOuterAgg.java
@@ -1059,7 +1059,7 @@ public class LibMatrixOuterAgg
                int cnt = 0;
                
                if( ix >= 0 ){ //match, scan to next val
-                       while( value==bv[ix++] && ix<bv.length );
+                       while( value==bv[ix++] && ix<bv.length ) {}
                        ix += (value==bv[bv.length-1])?1:0;
                }
                        

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/data/OutputInfo.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/matrix/data/OutputInfo.java 
b/src/main/java/org/apache/sysml/runtime/matrix/data/OutputInfo.java
index 675f0f5..1b0424a 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/data/OutputInfo.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/data/OutputInfo.java
@@ -21,6 +21,7 @@
 package org.apache.sysml.runtime.matrix.data;
 
 import java.io.Serializable;
+import java.util.Arrays;
 
 import org.apache.hadoop.io.DoubleWritable;
 import org.apache.hadoop.io.IntWritable;
@@ -36,12 +37,9 @@ import org.apache.sysml.runtime.DMLRuntimeException;
 import 
org.apache.sysml.runtime.matrix.mapred.CSVWriteReducer.RowBlockForTextOutput;
 import org.apache.sysml.runtime.matrix.sort.CompactOutputFormat;
 
-
-
 @SuppressWarnings("rawtypes")
 public class OutputInfo implements Serializable 
 {
-
        private static final long serialVersionUID = -3115943514779675817L;
 
        public Class<? extends OutputFormat> outputFormatClass;
@@ -156,6 +154,15 @@ public class OutputInfo implements Serializable
                        return "specialized";
        }
        
+       @Override 
+       public int hashCode() {
+               return Arrays.hashCode(new int[] {
+                       outputFormatClass.hashCode(),
+                       outputKeyClass.hashCode(),
+                       outputValueClass.hashCode()
+               });
+       }
+       
        @Override
        public boolean equals( Object o ) 
        {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
 
b/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
index 14d35b4..bea0c48 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/data/TaggedFirstSecondIndexes.java
@@ -41,12 +41,11 @@ import org.apache.sysml.runtime.util.UtilFunctions;
 //sorted by first index, tag, and second index
 public class TaggedFirstSecondIndexes implements 
WritableComparable<TaggedFirstSecondIndexes>
 {
-       
        protected long first=-1;
        protected byte tag=-1;
        protected long second=-1;
        
-       public TaggedFirstSecondIndexes(){};
+       public TaggedFirstSecondIndexes(){}
        public TaggedFirstSecondIndexes(long i1, byte t, long i2)
        {
                setIndexes(i1,i2);
@@ -182,7 +181,7 @@ public class TaggedFirstSecondIndexes implements 
WritableComparable<TaggedFirstS
                        for(int i=0; i<matrices.length; i++)
                                inRstep[i]=(long) 
Math.ceil((double)MRJobConfiguration.getNumRows(job, 
(byte)i)/(double)partitions);
                        byte maxIndex=0;
-                       HashMap<Byte, Long> outRsteps=new HashMap<Byte, Long>();
+                       HashMap<Byte, Long> outRsteps=new HashMap<>();
                        try {
                                CSVWriteInstruction[] ins = 
MRJobConfiguration.getCSVWriteInstructions(job);
                                for(CSVWriteInstruction in: ins)

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/DelegatingInputFormat.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/DelegatingInputFormat.java
 
b/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/DelegatingInputFormat.java
index 7c38651..d5149ec 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/DelegatingInputFormat.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/data/hadoopfix/DelegatingInputFormat.java
@@ -51,12 +51,11 @@ public class DelegatingInputFormat<K, V> implements 
InputFormat<K, V> {
   public InputSplit[] getSplits(JobConf conf, int numSplits) throws 
IOException {
 
     JobConf confCopy = new JobConf(conf);
-    List<InputSplit> splits = new ArrayList<InputSplit>();
+    List<InputSplit> splits = new ArrayList<>();
     Map<Path, InputFormat> formatMap = MultipleInputs.getInputFormatMap(conf);
     Map<Path, Class<? extends Mapper>> mapperMap = MultipleInputs
        .getMapperTypeMap(conf);
-    Map<Class<? extends InputFormat>, List<Path>> formatPaths
-        = new HashMap<Class<? extends InputFormat>, List<Path>>();
+    Map<Class<? extends InputFormat>, List<Path>> formatPaths = new 
HashMap<>();
 
     // First, build a map of InputFormats to Paths
     for (Entry<Path, InputFormat> entry : formatMap.entrySet()) {
@@ -74,8 +73,7 @@ public class DelegatingInputFormat<K, V> implements 
InputFormat<K, V> {
          formatClass, conf);
       List<Path> paths = formatEntry.getValue();
 
-      Map<Class<? extends Mapper>, List<Path>> mapperPaths
-          = new HashMap<Class<? extends Mapper>, List<Path>>();
+      Map<Class<? extends Mapper>, List<Path>> mapperPaths = new HashMap<>();
 
       // Now, for each set of paths that have a common InputFormat, build
       // a map of Mappers to the paths they're used for

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java
index 8f29d58..5f36a40 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRMapper.java
@@ -45,12 +45,12 @@ implements Mapper<Writable, Writable, Writable, Writable>
 {
        
        private boolean firsttime=true;
-       private HashMap<Byte, CM> cmFn = new HashMap<Byte, CM>();
+       private HashMap<Byte, CM> cmFn = new HashMap<>();
        private COV covFn=COV.getCOMFnObject();
        private OutputCollector<Writable, Writable> cachedCollector=null;
        private CachedValueMap cmNcovCache=new CachedValueMap();
-       protected HashSet<Byte> cmTags=new HashSet<Byte>();
-       protected HashSet<Byte> covTags=new HashSet<Byte>();
+       protected HashSet<Byte> cmTags=new HashSet<>();
+       protected HashSet<Byte> covTags=new HashSet<>();
        @Override
        public void map(Writable index, Writable cell,
                        OutputCollector<Writable, Writable> out, Reporter 
report)

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java
index 547a8b3..4194b08 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CMCOVMRReducer.java
@@ -53,11 +53,11 @@ implements Reducer<TaggedFirstSecondIndexes, MatrixValue, 
MatrixIndexes, MatrixV
        private CM_N_COVInstruction[] cmNcovInstructions=null;
        private CM_N_COVCell cmNcovCell=new CM_N_COVCell(); 
        private COV covFn=COV.getCOMFnObject();
-       private HashMap<Byte, CM> cmFn = new HashMap<Byte, CM>();
+       private HashMap<Byte, CM> cmFn = new HashMap<>();
        private MatrixIndexes outIndex=new MatrixIndexes(1, 1);
        private MatrixCell outCell=new MatrixCell();
-       private HashMap<Byte, ArrayList<Integer>> outputIndexesMapping=new 
HashMap<Byte, ArrayList<Integer>>();
-       protected HashSet<Byte> covTags=new HashSet<Byte>();
+       private HashMap<Byte, ArrayList<Integer>> outputIndexesMapping=new 
HashMap<>();
+       protected HashSet<Byte> covTags=new HashSet<>();
        private CM_COV_Object zeroObj=null;
        
        //the dimension for all the representative matrices 
@@ -137,8 +137,8 @@ implements Reducer<TaggedFirstSecondIndexes, MatrixValue, 
MatrixIndexes, MatrixV
                } catch (Exception e) {
                        throw new RuntimeException(e);
                } 
-               rlens=new HashMap<Byte, Long>();
-               clens=new HashMap<Byte, Long>();
+               rlens=new HashMap<>();
+               clens=new HashMap<>();
                for(CM_N_COVInstruction ins: cmNcovInstructions)
                {
                        if(ins.getOperator() instanceof COVOperator)

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVAssignRowIDReducer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVAssignRowIDReducer.java
 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVAssignRowIDReducer.java
index c29e83c..0674b9a 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVAssignRowIDReducer.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVAssignRowIDReducer.java
@@ -37,7 +37,7 @@ public class CSVAssignRowIDReducer extends MapReduceBase 
implements Reducer<Byte
 {
        
        
-       private ArrayList<OffsetCount> list = new ArrayList<OffsetCount>();
+       private ArrayList<OffsetCount> list = new ArrayList<>();
        
        @Override
        @SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java
index c742531..0c1bf2c 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteMapper.java
@@ -37,13 +37,10 @@ import 
org.apache.sysml.runtime.matrix.data.TaggedFirstSecondIndexes;
 
 public class CSVWriteMapper extends MapperBase implements Mapper<Writable, 
Writable, TaggedFirstSecondIndexes, MatrixBlock>
 {
-       
-       
-       HashMap<Byte, ArrayList<Byte>> inputOutputMap=new HashMap<Byte, 
ArrayList<Byte>>();
+       HashMap<Byte, ArrayList<Byte>> inputOutputMap=new HashMap<>();
        TaggedFirstSecondIndexes outIndexes=new TaggedFirstSecondIndexes();
        
        @Override
-       @SuppressWarnings("unchecked")
        public void map(Writable rawKey, Writable rawValue,
                        OutputCollector<TaggedFirstSecondIndexes, MatrixBlock> 
out,
                        Reporter reporter) throws IOException
@@ -88,9 +85,8 @@ public class CSVWriteMapper extends MapperBase implements 
Mapper<Writable, Writa
                        for(CSVWriteInstruction in: ins)
                        {
                                ArrayList<Byte> 
outputs=inputOutputMap.get(in.input);
-                               if(outputs==null)
-                               {
-                                       outputs=new ArrayList<Byte>();
+                               if(outputs==null) {
+                                       outputs=new ArrayList<>();
                                        inputOutputMap.put(in.input, outputs);
                                }
                                outputs.add(in.output);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteReducer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteReducer.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteReducer.java
index 64c42df..c5f26d8 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteReducer.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CSVWriteReducer.java
@@ -173,7 +173,7 @@ public class CSVWriteReducer extends ReduceBase implements 
Reducer<TaggedFirstSe
        {
                super.configure(job);
                byte maxIndex=0;
-               HashMap<Byte, CSVWriteInstruction> out2Ins=new HashMap<Byte, 
CSVWriteInstruction>();
+               HashMap<Byte, CSVWriteInstruction> out2Ins=new HashMap<>();
                try {
                        CSVWriteInstruction[] ins = 
MRJobConfiguration.getCSVWriteInstructions(job);
                        for(CSVWriteInstruction in: ins)
@@ -252,7 +252,7 @@ public class CSVWriteReducer extends ReduceBase implements 
Reducer<TaggedFirstSe
                        START, 
                        NEWLINE, 
                        MIDDLE
-               };
+               }
                
                private MatrixBlock _data = null;
                private int _numCols = 0;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java
index 54e62a8..b856774 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CachedValueMap.java
@@ -30,12 +30,10 @@ import org.apache.sysml.runtime.matrix.data.MatrixValue;
 
 public class CachedValueMap //extends CachedMap<IndexedMatrixValue>
 {
-
        private HashMap<Byte, ArrayList<IndexedMatrixValue>> map = null;
        
-       public CachedValueMap()
-       {
-               map = new HashMap<Byte, ArrayList<IndexedMatrixValue>>();
+       public CachedValueMap() {
+               map = new HashMap<>();
        }
        
        public IndexedMatrixValue getFirst(byte tag) 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/CollectMultipleConvertedOutputs.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CollectMultipleConvertedOutputs.java
 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CollectMultipleConvertedOutputs.java
index 6079677..e630029 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/CollectMultipleConvertedOutputs.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/CollectMultipleConvertedOutputs.java
@@ -53,26 +53,19 @@ public class CollectMultipleConvertedOutputs
                Converter<Writable, Writable, Writable, Writable> 
conv=outputConverters[output];
                conv.setBlockSize(matrixStats[output].getRowsPerBlock(), 
matrixStats[output].getColsPerBlock());
                conv.convert(key, value);
-       //      System.out.println("output before convert: "+key+" "+value);
-               while(conv.hasNext())
-               {
+               while(conv.hasNext()) {
                        Pair<Writable, Writable> outpair=conv.next();
                        multipleOutputs.getCollector(Integer.toString(output), 
reporter).collect(outpair.getKey(), outpair.getValue());
-               //      System.out.println("output in collectOutput 
"+outpair.getKey().toString()+":"+outpair.getValue());
                }
        }
        
-       @SuppressWarnings("unchecked")
        public void directOutput(Writable key, Writable value, int output, 
Reporter reporter) 
                throws IOException
        {
                multipleOutputs.getCollector(Integer.toString(output), 
reporter).collect(key, value);
        }
 
-       public void close() 
-               throws IOException 
-       {
+       public void close() throws IOException {
                multipleOutputs.close();
        }
-
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCtableBuffer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCtableBuffer.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCtableBuffer.java
index d5c00de..3c682ce 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCtableBuffer.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRCtableBuffer.java
@@ -57,9 +57,9 @@ public class GMRCtableBuffer
        public GMRCtableBuffer( CollectMultipleConvertedOutputs collector, 
boolean outputDimsKnown )
        {
                if ( outputDimsKnown )
-                       _blockBuffer = new HashMap<Byte, MatrixBlock>();
+                       _blockBuffer = new HashMap<>();
                else
-                       _mapBuffer = new HashMap<Byte, CTableMap>();
+                       _mapBuffer = new HashMap<>();
                _collector = collector;
        }
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java
index e843264..0c30023 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GMRMapper.java
@@ -192,7 +192,7 @@ implements Mapper<Writable, Writable, Writable, Writable>
                resultsMaxRowDims=new long[resultIndexes.length];
                resultsMaxColDims=new long[resultIndexes.length];
                
-               tagMapping=new HashMap<Byte, ArrayList<Integer>>();
+               tagMapping=new HashMap<>();
                for(int i=0; i<resultIndexes.length; i++)
                {
                        byte output=resultIndexes[i];

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRCombiner.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRCombiner.java
 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRCombiner.java
index 6cb0830..f16bab1 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRCombiner.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRCombiner.java
@@ -43,11 +43,11 @@ public class GroupedAggMRCombiner extends ReduceBase
        implements Reducer<TaggedMatrixIndexes, WeightedCell, 
TaggedMatrixIndexes, WeightedCell>
 {      
        //grouped aggregate instructions
-       private HashMap<Byte, GroupedAggregateInstruction> grpaggInstructions = 
new HashMap<Byte, GroupedAggregateInstruction>();
+       private HashMap<Byte, GroupedAggregateInstruction> grpaggInstructions = 
new HashMap<>();
        
        //reused intermediate objects
        private CM_COV_Object cmObj = new CM_COV_Object(); 
-       private HashMap<Byte, CM> cmFn = new HashMap<Byte, CM>();
+       private HashMap<Byte, CM> cmFn = new HashMap<>();
        private WeightedCell outCell = new WeightedCell();
 
        @Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java
index 1a3b306..454093d 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRMapper.java
@@ -42,7 +42,7 @@ public class GroupedAggMRMapper extends MapperBase
 {
                
        //block instructions that need to be performed in part by mapper
-       protected ArrayList<ArrayList<GroupedAggregateInstruction>> 
groupAgg_instructions=new ArrayList<ArrayList<GroupedAggregateInstruction>>();
+       protected ArrayList<ArrayList<GroupedAggregateInstruction>> 
groupAgg_instructions=new ArrayList<>();
        private MatrixIndexes outKeyValue=new MatrixIndexes();
        private TaggedMatrixIndexes outKey=new TaggedMatrixIndexes(outKeyValue, 
(byte)0);
        private WeightedCell outValue=new WeightedCell();

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRReducer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRReducer.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRReducer.java
index bebace2..f0db5e3 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRReducer.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/GroupedAggMRReducer.java
@@ -48,10 +48,10 @@ public class GroupedAggMRReducer extends ReduceBase
        
        private MatrixIndexes outIndex=new MatrixIndexes(1, 1);
        private MatrixCell outCell=new MatrixCell();
-       private HashMap<Byte, GroupedAggregateInstruction> 
grpaggInstructions=new HashMap<Byte, GroupedAggregateInstruction>();
+       private HashMap<Byte, GroupedAggregateInstruction> 
grpaggInstructions=new HashMap<>();
        private CM_COV_Object cmObj=new CM_COV_Object(); 
-       private HashMap<Byte, CM> cmFn = new HashMap<Byte, CM>();
-       private HashMap<Byte, ArrayList<Integer>> outputIndexesMapping=new 
HashMap<Byte, ArrayList<Integer>>();
+       private HashMap<Byte, CM> cmFn = new HashMap<>();
+       private HashMap<Byte, ArrayList<Integer>> outputIndexesMapping=new 
HashMap<>();
        
        @Override
        public void reduce(TaggedMatrixIndexes key,Iterator<WeightedCell> 
values,

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java
index e83713c..af46b7d 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MMRJMRMapper.java
@@ -45,9 +45,9 @@ implements Mapper<Writable, Writable, Writable, Writable>
        //the aggregate binary instruction for this mmcj job
        private TripleIndexes triplebuffer=new TripleIndexes();
        private TaggedMatrixValue taggedValue=null;
-       private HashMap<Byte, Long> numRepeats=new HashMap<Byte, Long>();
-       private HashSet<Byte> aggBinInput1s=new HashSet<Byte>();
-       private HashSet<Byte> aggBinInput2s=new HashSet<Byte>();
+       private HashMap<Byte, Long> numRepeats=new HashMap<>();
+       private HashSet<Byte> aggBinInput1s=new HashSet<>();
+       private HashSet<Byte> aggBinInput2s=new HashSet<>();
        
        @Override
        protected void specialOperationsForActualMap(int index,

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
index 58f8624..ef90349 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRBaseForCommonInstructions.java
@@ -67,9 +67,9 @@ public class MRBaseForCommonInstructions extends MapReduceBase
        
        //distributed cache data handling
        public static boolean isJobLocal = false; //set from MapperBase
-       public static HashMap<Byte, DistributedCacheInput> dcValues = new 
HashMap<Byte, DistributedCacheInput>();
+       public static HashMap<Byte, DistributedCacheInput> dcValues = new 
HashMap<>();
        
-       protected HashMap<Byte, MatrixCharacteristics> dimensions=new 
HashMap<Byte, MatrixCharacteristics>();
+       protected HashMap<Byte, MatrixCharacteristics> dimensions=new 
HashMap<>();
        
        //temporary variables
        protected IndexedMatrixValue tempValue=null;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java
index 5cd5daf..269fe52 100644
--- 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java
+++ 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MRJobConfiguration.java
@@ -708,7 +708,7 @@ public class MRJobConfiguration
                thisFile = thisFile.makeQualified(fs);
                
                Path thisDir=thisFile.getParent().makeQualified(fs);
-               ArrayList<Byte> representativeMatrixes=new ArrayList<Byte>();
+               ArrayList<Byte> representativeMatrixes=new ArrayList<>();
                for(int i=0; i<matrices.length; i++)
                {
                        Path p = new Path(matrices[i]).makeQualified(fs);
@@ -1008,8 +1008,8 @@ public class MRJobConfiguration
                }
                
                //remove redundant inputs and pure broadcast variables
-               ArrayList<Path> lpaths = new ArrayList<Path>();
-               ArrayList<InputInfo> liinfos = new ArrayList<InputInfo>();
+               ArrayList<Path> lpaths = new ArrayList<>();
+               ArrayList<InputInfo> liinfos = new ArrayList<>();
                for(int i=0; i<inputs.length; i++)
                {
                        Path p = new Path(inputs[i]);
@@ -1092,7 +1092,7 @@ public class MRJobConfiguration
                }
                
                //remove redundant input files
-               ArrayList<Path> paths=new ArrayList<Path>();
+               ArrayList<Path> paths=new ArrayList<>();
                for(int i=0; i<inputs.length; i++)
                {
                        String name=inputs[i];
@@ -1231,8 +1231,8 @@ public class MRJobConfiguration
                        String instructionsInMapper, String 
reblockInstructions, String aggInstructionsInReducer, String 
aggBinInstructions, 
                        String otherInstructionsInReducer, byte[] 
resultIndexes, HashSet<Byte> mapOutputIndexes, boolean forMMCJ) throws 
DMLRuntimeException
        {
-               HashSet<Byte> intermediateMatrixIndexes=new HashSet<Byte>();
-               HashMap<Byte, MatrixCharacteristics> dims=new HashMap<Byte, 
MatrixCharacteristics>();
+               HashSet<Byte> intermediateMatrixIndexes=new HashSet<>();
+               HashMap<Byte, MatrixCharacteristics> dims=new HashMap<>();
                for(byte i: inputIndexes){
                        MatrixCharacteristics dim=new 
MatrixCharacteristics(getNumRows(job, i), getNumColumns(job, i), 
                                        getNumRowsPerBlock(job, i), 
getNumColumnsPerBlock(job, i), getNumNonZero(job, i));
@@ -1354,8 +1354,8 @@ public class MRJobConfiguration
                if(!forMMCJ)
                {
                        //store the skylines
-                       ArrayList<Long> xs=new 
ArrayList<Long>(mapOutputIndexes.size());
-                       ArrayList<Long> ys=new 
ArrayList<Long>(mapOutputIndexes.size());
+                       ArrayList<Long> xs=new 
ArrayList<>(mapOutputIndexes.size());
+                       ArrayList<Long> ys=new 
ArrayList<>(mapOutputIndexes.size());
                        for(byte idx: mapOutputIndexes)
                        {
                                MatrixCharacteristics dim=dims.get(idx);
@@ -1387,7 +1387,7 @@ public class MRJobConfiguration
                                }
                        }
                        //sort by x
-                       TreeMap<Long, Long> map=new TreeMap<Long, Long>();
+                       TreeMap<Long, Long> map=new TreeMap<>();
                        for(int i=0; i<xs.size(); i++)
                                map.put(xs.get(i), ys.get(i));
                        numReduceGroups=0;
@@ -1586,7 +1586,7 @@ public class MRJobConfiguration
        {
                //find out what results are needed to send to reducers
                
-               HashSet<Byte> indexesInMapper=new HashSet<Byte>();
+               HashSet<Byte> indexesInMapper=new HashSet<>();
                for(byte b: inputIndexes)
                        indexesInMapper.add(b);
                
@@ -1602,7 +1602,7 @@ public class MRJobConfiguration
                getIndexes(reblockIns, indexesInMapper);
                
                MRInstruction[] insReducer = 
MRInstructionParser.parseAggregateInstructions(aggInstructionsInReducer);
-               HashSet<Byte> indexesInReducer=new HashSet<Byte>();
+               HashSet<Byte> indexesInReducer=new HashSet<>();
                getIndexes(insReducer, indexesInReducer);
                
                insReducer = 
MRInstructionParser.parseMixedInstructions(otherInstructionsInReducer);
@@ -1622,14 +1622,14 @@ public class MRJobConfiguration
                byte[] resultIndexes=MRJobConfiguration.getResultIndexes(job);
                Converter[] outputConverters=new 
Converter[resultIndexes.length];
                MatrixCharacteristics[] stats=new 
MatrixCharacteristics[resultIndexes.length];
-               HashMap<Byte, ArrayList<Integer>> tagMapping=new HashMap<Byte, 
ArrayList<Integer>>();
+               HashMap<Byte, ArrayList<Integer>> tagMapping=new HashMap<>();
                for(int i=0; i<resultIndexes.length; i++)
                {
                        byte output=resultIndexes[i];
                        ArrayList<Integer> vec=tagMapping.get(output);
                        if(vec==null)
                        {
-                               vec=new ArrayList<Integer>();
+                               vec=new ArrayList<>();
                                tagMapping.put(output, vec);
                        }
                        vec.add(i);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java
index 878c236..3b630ae 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/MapperBase.java
@@ -66,19 +66,19 @@ public abstract class MapperBase extends 
MRBaseForCommonInstructions
        protected int[] lastblockclens=null;
        
        //rand instructions that need to be performed in mapper
-       protected ArrayList<DataGenMRInstruction> dataGen_instructions=new 
ArrayList<DataGenMRInstruction>();
+       protected ArrayList<DataGenMRInstruction> dataGen_instructions=new 
ArrayList<>();
        
        //instructions that need to be performed in mapper
-       protected ArrayList<ArrayList<MRInstruction>> mapper_instructions=new 
ArrayList<ArrayList<MRInstruction>>();
+       protected ArrayList<ArrayList<MRInstruction>> mapper_instructions=new 
ArrayList<>();
        
        //block instructions that need to be performed in part by mapper
-       protected ArrayList<ArrayList<ReblockInstruction>> 
reblock_instructions=new ArrayList<ArrayList<ReblockInstruction>>();
+       protected ArrayList<ArrayList<ReblockInstruction>> 
reblock_instructions=new ArrayList<>();
        
        //csv block instructions that need to be performed in part by mapper
-       protected ArrayList<ArrayList<CSVReblockInstruction>> 
csv_reblock_instructions=new ArrayList<ArrayList<CSVReblockInstruction>>();
+       protected ArrayList<ArrayList<CSVReblockInstruction>> 
csv_reblock_instructions=new ArrayList<>();
        
        //the indexes of the matrices that needed to be outputted
-       protected ArrayList<ArrayList<Byte>> outputIndexes=new 
ArrayList<ArrayList<Byte>>();
+       protected ArrayList<ArrayList<Byte>> outputIndexes=new ArrayList<>();
        
        //converter to convert the input record into indexes and matrix value 
(can be a cell or a block)
        protected Converter inputConverter=null;
@@ -86,7 +86,7 @@ public abstract class MapperBase extends 
MRBaseForCommonInstructions
        //a counter to measure the time spent in a mapper
        protected static enum Counters {
                MAP_TIME 
-       };
+       }
        
        
        @SuppressWarnings("unchecked")
@@ -280,14 +280,14 @@ public abstract class MapperBase extends 
MRBaseForCommonInstructions
                }
 
                //collect unary instructions for each representative matrix
-               HashSet<Byte> set=new HashSet<Byte>();
+               HashSet<Byte> set=new HashSet<>();
                for(int i=0; i<representativeMatrixes.size(); i++)
                {
                        set.clear();
                        set.add(representativeMatrixes.get(i));
                        
                        //collect the relavent datagen instructions for this 
representative matrix
-                       ArrayList<DataGenMRInstruction> 
dataGensForThisMatrix=new ArrayList<DataGenMRInstruction>();
+                       ArrayList<DataGenMRInstruction> 
dataGensForThisMatrix=new ArrayList<>();
                        if(allDataGenIns!=null)
                        {
                                for(DataGenMRInstruction ins:allDataGenIns)
@@ -307,7 +307,7 @@ public abstract class MapperBase extends 
MRBaseForCommonInstructions
                                
dataGen_instructions.add(dataGensForThisMatrix.get(0));
                                                
                        //collect the relavent instructions for this 
representative matrix
-                       ArrayList<MRInstruction> opsForThisMatrix=new 
ArrayList<MRInstruction>();
+                       ArrayList<MRInstruction> opsForThisMatrix=new 
ArrayList<>();
                        
                        if(allMapperIns!=null)
                        {
@@ -345,7 +345,7 @@ public abstract class MapperBase extends 
MRBaseForCommonInstructions
                        mapper_instructions.add(opsForThisMatrix);
                        
                        //collect the relavent reblock instructions for this 
representative matrix
-                       ArrayList<ReblockInstruction> reblocksForThisMatrix=new 
ArrayList<ReblockInstruction>();
+                       ArrayList<ReblockInstruction> reblocksForThisMatrix=new 
ArrayList<>();
                        if(allReblockIns!=null)
                        {
                                for(ReblockInstruction ins:allReblockIns)
@@ -361,7 +361,7 @@ public abstract class MapperBase extends 
MRBaseForCommonInstructions
                        reblock_instructions.add(reblocksForThisMatrix);
                        
                        //collect the relavent reblock instructions for this 
representative matrix
-                       ArrayList<CSVReblockInstruction> 
csvReblocksForThisMatrix=new ArrayList<CSVReblockInstruction>();
+                       ArrayList<CSVReblockInstruction> 
csvReblocksForThisMatrix=new ArrayList<>();
                        if(allCSVReblockIns!=null)
                        {
                                for(CSVReblockInstruction ins:allCSVReblockIns)
@@ -377,7 +377,7 @@ public abstract class MapperBase extends 
MRBaseForCommonInstructions
                        csv_reblock_instructions.add(csvReblocksForThisMatrix);
                        
                        //collect the output indexes for this representative 
matrix
-                       ArrayList<Byte> outsForThisMatrix=new ArrayList<Byte>();
+                       ArrayList<Byte> outsForThisMatrix=new ArrayList<>();
                        for(byte output: outputs)
                        {
                                if(set.contains(output))

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockMapper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockMapper.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockMapper.java
index b32e5f8..de34f3a 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockMapper.java
@@ -49,12 +49,12 @@ public class ReblockMapper extends MapperBase
        //state of reblock mapper
        private OutputCollector<Writable, Writable> cachedCollector = null;
        private JobConf cachedJobConf = null;
-       private HashMap<Byte, MatrixCharacteristics> dimensionsOut = new 
HashMap<Byte, MatrixCharacteristics>();
-       private HashMap<Byte, MatrixCharacteristics> dimensionsIn = new 
HashMap<Byte, MatrixCharacteristics>();
-       private HashMap<Byte, Boolean> emptyBlocks = new HashMap<Byte, 
Boolean>();
+       private HashMap<Byte, MatrixCharacteristics> dimensionsOut = new 
HashMap<>();
+       private HashMap<Byte, MatrixCharacteristics> dimensionsIn = new 
HashMap<>();
+       private HashMap<Byte, Boolean> emptyBlocks = new HashMap<>();
        
        //reblock buffer
-       private HashMap<Byte, ReblockBuffer> buffer = new 
HashMap<Byte,ReblockBuffer>();
+       private HashMap<Byte, ReblockBuffer> buffer = new HashMap<>();
        private int buffersize =-1;
        
        @Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockReducer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockReducer.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockReducer.java
index 46c4bf6..3f6de3c 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockReducer.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReblockReducer.java
@@ -42,7 +42,7 @@ public class ReblockReducer extends ReduceBase
        implements Reducer<MatrixIndexes, TaggedAdaptivePartialBlock, 
MatrixIndexes, MatrixBlock>
 {
        
-       private HashMap<Byte, MatrixCharacteristics> dimensions = new 
HashMap<Byte, MatrixCharacteristics>();
+       private HashMap<Byte, MatrixCharacteristics> dimensions = new 
HashMap<>();
        
        @Override
        public void reduce(MatrixIndexes indexes, 
Iterator<TaggedAdaptivePartialBlock> values,

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java 
b/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java
index 60b4990..eade689 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/mapred/ReduceBase.java
@@ -44,10 +44,8 @@ import org.apache.sysml.runtime.util.MapReduceTool;
 
 public class ReduceBase extends MRBaseForCommonInstructions
 {
-               
        //aggregate instructions
-       protected HashMap<Byte, ArrayList<AggregateInstruction>> 
-       agg_instructions=new HashMap<Byte, ArrayList<AggregateInstruction>>();
+       protected HashMap<Byte, ArrayList<AggregateInstruction>> 
agg_instructions=new HashMap<>();
        
        //default aggregate operation
        protected static final AggregateOperator DEFAULT_AGG_OP = new 
AggregateOperator(0, Plus.getPlusFnObject());
@@ -67,7 +65,7 @@ public class ReduceBase extends MRBaseForCommonInstructions
        protected CollectMultipleConvertedOutputs collectFinalMultipleOutputs;
        
        //a counter to calculate the time spent in a reducer or a combiner
-       public static enum Counters {COMBINE_OR_REDUCE_TIME };
+       public static enum Counters {COMBINE_OR_REDUCE_TIME }
 
        //the counters to record how many nonZero cells have been produced for 
each output
        protected long[] resultsNonZeros=null;
@@ -120,7 +118,7 @@ public class ReduceBase extends MRBaseForCommonInstructions
                        //parse unary and binary operations
                        MRInstruction[] tmp = 
MRJobConfiguration.getInstructionsInReducer(job);
                        if( tmp != null ) {
-                               mixed_instructions=new 
ArrayList<MRInstruction>();
+                               mixed_instructions=new ArrayList<>();
                                Collections.addAll(mixed_instructions, tmp);
                        }
                        
@@ -147,7 +145,7 @@ public class ReduceBase extends MRBaseForCommonInstructions
                                ArrayList<AggregateInstruction> 
vec=agg_instructions.get(ins.input);
                                if(vec==null)
                                {
-                                       vec = new 
ArrayList<AggregateInstruction>();
+                                       vec = new ArrayList<>();
                                        agg_instructions.put(ins.input, vec);
                                }
                                vec.add(ins);
@@ -162,7 +160,7 @@ public class ReduceBase extends MRBaseForCommonInstructions
                                vec=agg_instructions.get(partialIns.input);
                                if(vec==null)
                                {
-                                       vec=new 
ArrayList<AggregateInstruction>();
+                                       vec=new ArrayList<>();
                                        agg_instructions.put(partialIns.input, 
vec);
                                }
                                vec.add(partialIns);
@@ -179,7 +177,7 @@ public class ReduceBase extends MRBaseForCommonInstructions
        
        protected ArrayList<Integer> getOutputIndexes(byte outputTag)
        {
-               ArrayList<Integer> ret = new ArrayList<Integer>();
+               ArrayList<Integer> ret = new ArrayList<>();
                for(int i=0; i<resultIndexes.length; i++)
                        if(resultIndexes[i]==outputTag)
                                ret.add(i);
@@ -188,7 +186,7 @@ public class ReduceBase extends MRBaseForCommonInstructions
        
        protected static ArrayList<Integer> getOutputIndexes(byte outputTag, 
byte[] resultIndexes)
        {
-               ArrayList<Integer> ret=new ArrayList<Integer>();
+               ArrayList<Integer> ret=new ArrayList<>();
                for(int i=0; i<resultIndexes.length; i++)
                        if(resultIndexes[i]==outputTag)
                                ret.add(i);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/matrix/operators/CMOperator.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/matrix/operators/CMOperator.java 
b/src/main/java/org/apache/sysml/runtime/matrix/operators/CMOperator.java
index e89ced6..7a6c17b 100644
--- a/src/main/java/org/apache/sysml/runtime/matrix/operators/CMOperator.java
+++ b/src/main/java/org/apache/sysml/runtime/matrix/operators/CMOperator.java
@@ -38,7 +38,7 @@ public class CMOperator extends Operator
                CM4,
                VARIANCE,
                INVALID
-       };
+       }
 
        public ValueFunction fn;
        public AggregateOperationTypes aggOpType;

Reply via email to