http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
index 865dc9d..59f0f83 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.java
@@ -29,86 +29,69 @@ import org.apache.sysml.runtime.controlprogram.Program;
 import org.apache.sysml.runtime.controlprogram.ProgramBlock;
 
 public class OptTreePlanMappingAbstract extends OptTreePlanMapping
-{      
+{
        private DMLProgram _prog;
        private Program _rtprog;
        private Map<Long, Object> _id_hlprog;
        private Map<Long, Object> _id_rtprog;
        
-       public OptTreePlanMappingAbstract( )
-       {
+       public OptTreePlanMappingAbstract( ) {
                super();
-               
                _prog = null;
                _rtprog = null;
-               
-               _id_hlprog = new HashMap<Long, Object>();
-               _id_rtprog = new HashMap<Long, Object>();
+               _id_hlprog = new HashMap<>();
+               _id_rtprog = new HashMap<>();
        }
        
-       public void putRootProgram( DMLProgram prog, Program rtprog )
-       {
+       public void putRootProgram( DMLProgram prog, Program rtprog ) {
                _prog = prog;
                _rtprog = rtprog;
        }
        
-       public long putHopMapping( Hop hops, OptNode n )
-       {
+       public long putHopMapping( Hop hops, OptNode n ) {
                long id = _idSeq.getNextID();
-               
                _id_hlprog.put(id, hops);
                _id_rtprog.put(id, null);
                _id_optnode.put(id, n); 
-               
                n.setID(id);
-               
                return id;
        }
        
-       public long putProgMapping( StatementBlock sb, ProgramBlock pb, OptNode 
n )
-       {
+       public long putProgMapping( StatementBlock sb, ProgramBlock pb, OptNode 
n ) {
                long id = _idSeq.getNextID();
-               
                _id_hlprog.put(id, sb);
                _id_rtprog.put(id, pb);
                _id_optnode.put(id, n);
                n.setID(id);
-               
                return id;
        }
        
-       public Object[] getRootProgram()
-       {
+       public Object[] getRootProgram() {
                Object[] ret = new Object[2];
                ret[0] = _prog;
                ret[1] = _rtprog;
                return ret;
        }
        
-       public Hop getMappedHop( long id )
-       {
+       public Hop getMappedHop( long id ) {
                return (Hop)_id_hlprog.get( id );
        }
        
-       public Object[] getMappedProg( long id )
-       {
+       public Object[] getMappedProg( long id ) {
                Object[] ret = new Object[2];
                ret[0] = (StatementBlock)_id_hlprog.get( id );
                ret[1] = (ProgramBlock)_id_rtprog.get( id );
-               
                return ret;
        }
        
-       public void replaceMapping( ProgramBlock pb, OptNode n )
-       {
+       public void replaceMapping( ProgramBlock pb, OptNode n ) {
                long id = n.getID();
                _id_rtprog.put(id, pb);
                _id_optnode.put(id, n);
        }
        
        @Override
-       public void clear()
-       {
+       public void clear() {
                super.clear();
                _prog = null;
                _rtprog = null;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
index 8c131f3..cf285d7 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.java
@@ -26,52 +26,42 @@ import org.apache.sysml.runtime.controlprogram.ProgramBlock;
 import org.apache.sysml.runtime.instructions.Instruction;
 
 public class OptTreePlanMappingRuntime extends OptTreePlanMapping
-{      
+{
        private Map<Long, Object> _id_rtprog;
 
-       public OptTreePlanMappingRuntime()
-       {
+       public OptTreePlanMappingRuntime() {
                super();
-               _id_rtprog = new HashMap<Long, Object>();
+               _id_rtprog = new HashMap<>();
        }
        
-       public long putMapping( Instruction inst, OptNode n )
-       {
+       public long putMapping( Instruction inst, OptNode n ) {
                long id = _idSeq.getNextID();
-               
                _id_rtprog.put(id, inst);
-               _id_optnode.put(id, n);                 
+               _id_optnode.put(id, n);
                n.setID(id);
-               
                return id;
        }
        
-       public long putMapping( ProgramBlock pb, OptNode n )
-       {
+       public long putMapping( ProgramBlock pb, OptNode n ) {
                long id = _idSeq.getNextID();
-               
                _id_rtprog.put(id, pb);
                _id_optnode.put(id, n);
                n.setID(id);
-               
                return id;
        }
        
-       public void replaceMapping( ProgramBlock pb, OptNode n )
-       {
+       public void replaceMapping( ProgramBlock pb, OptNode n ) {
                long id = n.getID();
                _id_rtprog.put(id, pb);
                _id_optnode.put(id, n);
        }
        
-       public Object getMappedObject( long id )
-       {
+       public Object getMappedObject( long id ) {
                return _id_rtprog.get( id );
        }
 
        @Override
-       public void clear()
-       {
+       public void clear() {
                super.clear();
                _id_rtprog.clear();
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
index eec2fb7..d7f6150 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizationWrapper.java
@@ -322,11 +322,11 @@ public class OptimizationWrapper
        private static ProgramRewriter createProgramRewriterWithRuleSets()
        {
                //create hop rewrite set
-               ArrayList<HopRewriteRule> hRewrites = new 
ArrayList<HopRewriteRule>();
+               ArrayList<HopRewriteRule> hRewrites = new ArrayList<>();
                hRewrites.add( new RewriteConstantFolding() );
                
                //create statementblock rewrite set
-               ArrayList<StatementBlockRewriteRule> sbRewrites = new 
ArrayList<StatementBlockRewriteRule>();
+               ArrayList<StatementBlockRewriteRule> sbRewrites = new 
ArrayList<>();
                sbRewrites.add( new RewriteRemoveUnnecessaryBranches() );
                
                ProgramRewriter rewriter = new ProgramRewriter( hRewrites, 
sbRewrites );

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
index b6be028..f517bda 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerConstrained.java
@@ -108,7 +108,7 @@ public class OptimizerConstrained extends OptimizerRuleBased
                //OPTIMIZE PARFOR PLAN
 
                // rewrite 1: data partitioning (incl. log. recompile RIX)
-               HashMap<String, PartitionFormat> partitionedMatrices = new 
HashMap<String, PartitionFormat>();
+               HashMap<String, PartitionFormat> partitionedMatrices = new 
HashMap<>();
                rewriteSetDataPartitioner( pn, ec.getVariables(), 
partitionedMatrices, OptimizerUtils.getLocalMemBudget() );
                double M0b = _cost.getEstimate(TestMeasure.MEMORY_USAGE, pn); 
//reestimate
 
@@ -167,7 +167,7 @@ public class OptimizerConstrained extends OptimizerRuleBased
                        super.rewriteSetTranposeSparseVectorOperations(pn, 
partitionedMatrices, ec.getVariables());
 
                        //rewrite 14:
-                       HashSet<String> inplaceResultVars = new 
HashSet<String>();
+                       HashSet<String> inplaceResultVars = new HashSet<>();
                        super.rewriteSetInPlaceResultIndexing(pn, M1, 
ec.getVariables(), inplaceResultVars, ec);
 
                        //rewrite 15:
@@ -183,7 +183,7 @@ public class OptimizerConstrained extends OptimizerRuleBased
                        rewriteSetTaskPartitioner( pn, false, false ); 
//flagLIX always false 
 
                        // rewrite 14: set in-place result indexing
-                       HashSet<String> inplaceResultVars = new 
HashSet<String>();
+                       HashSet<String> inplaceResultVars = new HashSet<>();
                        super.rewriteSetInPlaceResultIndexing(pn, M1, 
ec.getVariables(), inplaceResultVars, ec);
 
                        if( !OptimizerUtils.isSparkExecutionMode() ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
index 16a2e7e..0d0c52e 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptimizerRuleBased.java
@@ -229,7 +229,7 @@ public class OptimizerRuleBased extends Optimizer
                //OPTIMIZE PARFOR PLAN
                
                // rewrite 1: data partitioning (incl. log. recompile RIX and 
flag opt nodes)
-               HashMap<String, PartitionFormat> partitionedMatrices = new 
HashMap<String, PartitionFormat>();
+               HashMap<String, PartitionFormat> partitionedMatrices = new 
HashMap<>();
                rewriteSetDataPartitioner( pn, ec.getVariables(), 
partitionedMatrices, OptimizerUtils.getLocalMemBudget() );
                double M0b = _cost.getEstimate(TestMeasure.MEMORY_USAGE, pn); 
//reestimate
                
@@ -288,7 +288,7 @@ public class OptimizerRuleBased extends Optimizer
                        rewriteSetTranposeSparseVectorOperations(pn, 
partitionedMatrices, ec.getVariables());
                        
                        // rewrite 14: set in-place result indexing
-                       HashSet<String> inplaceResultVars = new 
HashSet<String>();
+                       HashSet<String> inplaceResultVars = new HashSet<>();
                        rewriteSetInPlaceResultIndexing(pn, M1, 
ec.getVariables(), inplaceResultVars, ec);
                        
                        // rewrite 15: disable caching
@@ -303,7 +303,7 @@ public class OptimizerRuleBased extends Optimizer
                        rewriteSetTaskPartitioner( pn, false, false ); 
//flagLIX always false 
                        
                        // rewrite 14: set in-place result indexing
-                       HashSet<String> inplaceResultVars = new 
HashSet<String>();
+                       HashSet<String> inplaceResultVars = new HashSet<>();
                        rewriteSetInPlaceResultIndexing(pn, M1, 
ec.getVariables(), inplaceResultVars, ec);
                        
                        if( !OptimizerUtils.isSparkExecutionMode() ) {
@@ -415,7 +415,7 @@ public class OptimizerRuleBased extends Optimizer
                        && (_N >= PROB_SIZE_THRESHOLD_PARTITIONING || _Nmax >= 
PROB_SIZE_THRESHOLD_PARTITIONING) ) //only if beneficial wrt problem size
                {
                        ArrayList<String> cand = pfsb.getReadOnlyParentVars();
-                       HashMap<String, PartitionFormat> cand2 = new 
HashMap<String, PartitionFormat>();
+                       HashMap<String, PartitionFormat> cand2 = new 
HashMap<>();
                        for( String c : cand )
                        {
                                PartitionFormat dpf = 
pfsb.determineDataPartitionFormat( c );
@@ -785,7 +785,7 @@ public class OptimizerRuleBased extends Optimizer
 
        protected HashMap<Hop, Double> getPartitionedRIXEstimates(OptNode 
parent)
        {
-               HashMap<Hop, Double> estimates = new HashMap<Hop, Double>();
+               HashMap<Hop, Double> estimates = new HashMap<>();
                for( OptNode n : parent.getChilds() )
                        if( n.getParam(ParamType.DATA_PARTITION_FORMAT) != null 
)
                        {
@@ -937,8 +937,8 @@ public class OptimizerRuleBased extends Optimizer
                if( recompile && count<=0 )
                        LOG.warn("OPT: Forced set operations exec type 'CP', 
but no operation requires recompile.");
                ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
-                                  
.getAbstractPlanMapping().getMappedProg(pn.getID())[1];
-               HashSet<String> fnStack = new HashSet<String>();
+                       .getAbstractPlanMapping().getMappedProg(pn.getID())[1];
+               HashSet<String> fnStack = new HashSet<>();
                
Recompiler.recompileProgramBlockHierarchy2Forced(pfpb.getChildBlocks(), 0, 
fnStack, LopProperties.ExecType.CP);
                
                //debug output
@@ -985,13 +985,13 @@ public class OptimizerRuleBased extends Optimizer
                String varname = null;
                String partitioner = n.getParam(ParamType.DATA_PARTITIONER);
                ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
-                                                               
.getAbstractPlanMapping().getMappedProg(n.getID())[1];
+                               
.getAbstractPlanMapping().getMappedProg(n.getID())[1];
                
                if(   partitioner!=null && 
partitioner.equals(PDataPartitioner.REMOTE_MR.toString())
                        && n.getExecType()==ExecType.MR )
                {
                        //find all candidates matrices (at least one 
partitioned access via iterVar)
-                       HashSet<String> cand = new HashSet<String>();
+                       HashSet<String> cand = new HashSet<>();
                        rFindDataColocationCandidates(n, cand, 
pfpb.getIterVar());
                        
                        //select largest matrix for colocation (based on nnz to 
account for sparsity)
@@ -1826,9 +1826,8 @@ public class OptimizerRuleBased extends Optimizer
                throws DMLRuntimeException
        {
                ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
-                                                                   
.getAbstractPlanMapping().getMappedProg(n.getID())[1];
-
-               HashSet<String> sharedVars = new HashSet<String>();
+                               
.getAbstractPlanMapping().getMappedProg(n.getID())[1];
+               HashSet<String> sharedVars = new HashSet<>();
                boolean apply = false; 
                
                //enable runtime piggybacking if MR jobs on shared read-only 
data set
@@ -1936,29 +1935,27 @@ public class OptimizerRuleBased extends Optimizer
                Object[] progobj = 
OptTreeConverter.getAbstractPlanMapping().getMappedProg(n.getID());
                ParForStatementBlock pfsb = (ParForStatementBlock)progobj[0];
                ParForProgramBlock pfpb = (ParForProgramBlock)progobj[1];
-               
-               ArrayList<String> ret = new ArrayList<String>();
+               ArrayList<String> ret = new ArrayList<>();
                
                if(    OptimizerUtils.isSparkExecutionMode() //spark exec mode
                        && n.getExecType() == ExecType.CP                
//local parfor 
-                       && _N > 1                            )   //at least 2 
iterations                             
+                       && _N > 1                            )   //at least 2 
iterations
                {
                        //collect candidates from zipmm spark instructions
-                       HashSet<String> cand = new HashSet<String>();
+                       HashSet<String> cand = new HashSet<>();
                        rCollectZipmmPartitioningCandidates(n, cand);
                        
                        //prune updated candidates
-                       HashSet<String> probe = new 
HashSet<String>(pfsb.getReadOnlyParentVars());                              
+                       HashSet<String> probe = new 
HashSet<>(pfsb.getReadOnlyParentVars());
                        for( String var : cand )
                                if( probe.contains( var ) )
                                        ret.add( var );
-                               
+                       
                        //prune small candidates
-                       ArrayList<String> tmp = new ArrayList<String>(ret);
+                       ArrayList<String> tmp = new ArrayList<>(ret);
                        ret.clear();
                        for( String var : tmp )
-                               if( vars.get(var) instanceof MatrixObject )
-                               {
+                               if( vars.get(var) instanceof MatrixObject ) {
                                        MatrixObject mo = (MatrixObject) 
vars.get(var);
                                        double sp = 
OptimizerUtils.getSparsity(mo.getNumRows(), mo.getNumColumns(), mo.getNnz());
                                        double size = 
OptimizerUtils.estimateSizeExactSparsity(mo.getNumRows(), mo.getNumColumns(), 
sp);
@@ -2016,7 +2013,7 @@ public class OptimizerRuleBased extends Optimizer
                ParForStatementBlock pfsb = (ParForStatementBlock)progobj[0];
                ParForProgramBlock pfpb = (ParForProgramBlock)progobj[1];
                
-               ArrayList<String> ret = new ArrayList<String>();
+               ArrayList<String> ret = new ArrayList<>();
                
                if(    OptimizerUtils.isSparkExecutionMode() //spark exec mode
                        && n.getExecType() == ExecType.CP                
//local parfor 
@@ -2065,7 +2062,7 @@ public class OptimizerRuleBased extends Optimizer
                ParForProgramBlock pfpb = (ParForProgramBlock) OptTreeConverter
                            
.getAbstractPlanMapping().getMappedProg(n.getID())[1];
 
-               ArrayList<String> cleanedVars = new ArrayList<String>();
+               ArrayList<String> cleanedVars = new ArrayList<>();
                ArrayList<String> resultVars = pfpb.getResultVariables();
                String itervar = pfpb.getIterVar();
                
@@ -2465,7 +2462,7 @@ public class OptimizerRuleBased extends Optimizer
                int count = 0; //num removed parfor
                
                //find recursive parfor
-               HashSet<ParForProgramBlock> recPBs = new 
HashSet<ParForProgramBlock>();
+               HashSet<ParForProgramBlock> recPBs = new HashSet<>();
                rFindRecursiveParFor( n, recPBs, false );
 
                if( !recPBs.isEmpty() )
@@ -2547,7 +2544,7 @@ public class OptimizerRuleBased extends Optimizer
                                nNew.addParam(ParamType.OPSTRING, fnameNewKey);
                                long parentID = 
OptTreeConverter.getAbstractPlanMapping().getMappedParentID(n.getID());
                                
OptTreeConverter.getAbstractPlanMapping().getOptNode(parentID).exchangeChild(n, 
nNew);
-                               HashSet<String> memo = new HashSet<String>();
+                               HashSet<String> memo = new HashSet<>();
                                memo.add(fnameKey); //required if functionop 
not shared (because not replaced yet)
                                memo.add(fnameNewKey); //requied if functionop 
shared (indirectly replaced)
                                for( int i=0; i<copyfpb.getChildBlocks().size() 
/*&& i<len*/; i++ )

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
index 189d061..12a4ccb 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
@@ -60,7 +60,7 @@ public class ProgramRecompiler
        public static ArrayList<ProgramBlock> 
generatePartitialRuntimeProgram(Program rtprog, ArrayList<StatementBlock> sbs) 
                throws LopsException, DMLRuntimeException, IOException, 
HopsException
        {
-               ArrayList<ProgramBlock> ret = new ArrayList<ProgramBlock>();
+               ArrayList<ProgramBlock> ret = new ArrayList<>();
                DMLConfig config = ConfigurationManager.getDMLConfig();
                
                //construct lops from hops if not existing
@@ -476,7 +476,7 @@ public class ProgramRecompiler
                String str = sb.toString(); 
                
                //create instruction set
-               ArrayList<Instruction> tmp = new ArrayList<Instruction>();
+               ArrayList<Instruction> tmp = new ArrayList<>();
                Instruction inst = 
ArithmeticBinaryCPInstruction.parseInstruction(str);
                tmp.add(inst);
                

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
index a558e16..10c8b1c 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/stat/StatisticMonitor.java
@@ -46,9 +46,9 @@ public class StatisticMonitor
        
        static
        {
-               _mapPwPf  = new HashMap<Long, Long>();
-               _pfstats  = new HashMap<Long, 
HashMap<Stat,LinkedList<Double>>>();
-               _pwstats  = new HashMap<Long, 
HashMap<Stat,LinkedList<Double>>>();
+               _mapPwPf  = new HashMap<>();
+               _pfstats  = new HashMap<>();
+               _pwstats  = new HashMap<>();
        }
        
        /**

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java 
b/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
index ed1838d..20c1ab7 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
@@ -56,8 +56,7 @@ public class Builtin extends ValueFunction
        
        static public HashMap<String, BuiltinCode> String2BuiltinCode;
        static {
-               String2BuiltinCode = new HashMap<String, BuiltinCode>();
-               
+               String2BuiltinCode = new HashMap<>();
                String2BuiltinCode.put( "sin"    , BuiltinCode.SIN);
                String2BuiltinCode.put( "cos"    , BuiltinCode.COS);
                String2BuiltinCode.put( "tan"    , BuiltinCode.TAN);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java 
b/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java
index eb5148b..ff801cc 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/COV.java
@@ -93,6 +93,7 @@ public class COV extends ValueFunction
         * @param v ?
         * @return result
         */
+       @Override
        public Data execute(Data in1, double u, double v) 
                throws DMLRuntimeException 
        {
@@ -117,6 +118,7 @@ public class COV extends ValueFunction
                return cov1;
        }
        
+       @Override
        public Data execute(Data in1, Data in2) throws DMLRuntimeException 
        {
                CM_COV_Object cov1=(CM_COV_Object) in1;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java 
b/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java
index 31cdce8..fdb6b85 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/CTable.java
@@ -130,17 +130,12 @@ public class CTable extends ValueFunction
        {
                // If any of the values are NaN (i.e., missing) then 
                // we skip this tuple, proceed to the next tuple
-               if ( Double.isNaN(v2) || Double.isNaN(w) ) {
-                       return new Pair<MatrixIndexes,Double>(new 
MatrixIndexes(-1,-1), w);
-               }
-               
+               if ( Double.isNaN(v2) || Double.isNaN(w) )
+                       return new Pair<>(new MatrixIndexes(-1,-1), w);
                // safe casts to long for consistent behavior with indexing
                long col = UtilFunctions.toLong( v2 );
-                               
-               if( col <= 0 ) {
+               if( col <= 0 )
                        throw new DMLRuntimeException("Erroneous input while 
computing the contingency table (value <= zero): "+v2);
-               } 
-               
-               return new Pair<MatrixIndexes,Double>(new MatrixIndexes(row, 
col), w);
+               return new Pair<>(new MatrixIndexes(row, col), w);
        }
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java 
b/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java
index 14affa3..3d524fe 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/KahanPlus.java
@@ -90,6 +90,7 @@ public class KahanPlus extends KahanFunction implements 
Serializable
         * @param in1 kahan object input
         * @param in2 double input
         */
+       @Override
        public void execute2(KahanObject in1, double in2) 
        {
                //fast path for INF/-INF in order to ensure result correctness

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java 
b/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java
index 3647741..907e732 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/Mean.java
@@ -26,7 +26,6 @@ import org.apache.sysml.runtime.instructions.cp.KahanObject;
 
 public class Mean extends ValueFunction 
 {
-
        private static final long serialVersionUID = 1967222020396371269L;
 
        private static Mean singleObj = null;
@@ -43,7 +42,7 @@ public class Mean extends ValueFunction
                return singleObj;
        }
        
-       //overwride in1
+       @Override
        public Data execute(Data in1, double in2, double count) throws 
DMLRuntimeException {
                KahanObject kahanObj=(KahanObject)in1;
                double delta = (in2-kahanObj._sum)/count;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java 
b/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java
index 8a85edc..14022dd 100644
--- 
a/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java
+++ 
b/src/main/java/org/apache/sysml/runtime/functionobjects/OffsetColumnIndex.java
@@ -63,6 +63,7 @@ public class OffsetColumnIndex extends IndexFunction
                return false;
        }
 
+       @Override
        public boolean computeDimension(MatrixCharacteristics in, 
MatrixCharacteristics out) {
                out.set(numRowsInOutput, numColumnsInOutput, 
in.getRowsPerBlock(), in.getColsPerBlock());
                return false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
 
b/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
index 9a0c6c2..60886c0 100644
--- 
a/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
+++ 
b/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
@@ -55,8 +55,7 @@ public class ParameterizedBuiltin extends ValueFunction
        
        static public HashMap<String, ParameterizedBuiltinCode> 
String2ParameterizedBuiltinCode;
        static {
-               String2ParameterizedBuiltinCode = new HashMap<String, 
ParameterizedBuiltinCode>();
-               
+               String2ParameterizedBuiltinCode = new HashMap<>();
                String2ParameterizedBuiltinCode.put( "cdf", 
ParameterizedBuiltinCode.CDF);
                String2ParameterizedBuiltinCode.put( "invcdf", 
ParameterizedBuiltinCode.INVCDF);
                String2ParameterizedBuiltinCode.put( "rmempty", 
ParameterizedBuiltinCode.RMEMPTY);
@@ -68,8 +67,7 @@ public class ParameterizedBuiltin extends ValueFunction
        
        static public HashMap<String, ProbabilityDistributionCode> 
String2DistCode;
        static {
-               String2DistCode = new 
HashMap<String,ProbabilityDistributionCode>();
-               
+               String2DistCode = new HashMap<>();
                String2DistCode.put("normal"    , 
ProbabilityDistributionCode.NORMAL);
                String2DistCode.put("exp"               , 
ProbabilityDistributionCode.EXP);
                String2DistCode.put("chisq"             , 
ProbabilityDistributionCode.CHISQ);
@@ -179,6 +177,7 @@ public class ParameterizedBuiltin extends ValueFunction
                }
        }
        
+       @Override
        public double execute(HashMap<String,String> params) throws 
DMLRuntimeException {
                switch(bFunc) {
                case CDF:

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java 
b/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java
index c25853d..fc1a8f6 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/Plus.java
@@ -56,7 +56,8 @@ public class Plus extends ValueFunction implements 
Serializable
                return in1 + in2;
        }
 
+       @Override
        public String execute ( String in1, String in2 ) throws 
DMLRuntimeException {
                return in1 + in2;
-       }       
+       }
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java 
b/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
index 80738c4..4e66042 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
@@ -77,8 +77,7 @@ public class CPInstructionParser extends InstructionParser
        public static final HashMap<String, CPINSTRUCTION_TYPE> 
String2CPFileInstructionType;
        
        static {
-               String2CPInstructionType = new HashMap<String, 
CPINSTRUCTION_TYPE>();
-
+               String2CPInstructionType = new HashMap<>();
                String2CPInstructionType.put( "ba+*"    , 
CPINSTRUCTION_TYPE.AggregateBinary);
                String2CPInstructionType.put( "tak+*"   , 
CPINSTRUCTION_TYPE.AggregateTernary);
                String2CPInstructionType.put( "tack+*"  , 
CPINSTRUCTION_TYPE.AggregateTernary);
@@ -281,8 +280,7 @@ public class CPInstructionParser extends InstructionParser
 
                
                //CP FILE instruction
-               String2CPFileInstructionType = new HashMap<String, 
CPINSTRUCTION_TYPE>();
-
+               String2CPFileInstructionType = new HashMap<>();
                String2CPFileInstructionType.put( "rmempty"         , 
CPINSTRUCTION_TYPE.ParameterizedBuiltin);
        }
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java 
b/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
index 61c2077..5583b61 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
@@ -157,6 +157,7 @@ public abstract class Instruction
                LOG.debug(instString);
        }
        
+       @Override
        public String toString() {
                return instString;
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java 
b/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java
index afc9d35..15785c0 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/MRInstructionParser.java
@@ -86,7 +86,7 @@ public class MRInstructionParser extends InstructionParser
 {      
        static public HashMap<String, MRINSTRUCTION_TYPE> 
String2MRInstructionType;
        static {
-               String2MRInstructionType = new HashMap<String, 
MRINSTRUCTION_TYPE>();
+               String2MRInstructionType = new HashMap<>();
                
                // AGG Instruction Opcodes 
                String2MRInstructionType.put( "a+"    , 
MRINSTRUCTION_TYPE.Aggregate);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java 
b/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
index d27c9ff..3dcad83 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
@@ -437,8 +437,8 @@ public class MRJobInstruction extends Instruction
                return sb.toString();
        }
        
-       public String toString()
-       {
+       @Override
+       public String toString() {
                String instruction = "";
                instruction += "jobtype = " + jobType + " \n";
                instruction += "input labels = " + Arrays.toString(inputVars) + 
" \n";
@@ -686,6 +686,7 @@ public class MRJobInstruction extends Instruction
                return sb.toString();
        }
        
+       @Override
        public void printMe() {
                LOG.debug("\nMRInstructions: \n" + this.toString());
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java 
b/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
index b5f8a04..bff75d7 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
@@ -89,7 +89,7 @@ public class SPInstructionParser extends InstructionParser
 {      
        public static final HashMap<String, SPINSTRUCTION_TYPE> 
String2SPInstructionType;
        static {
-               String2SPInstructionType = new HashMap<String, 
SPInstruction.SPINSTRUCTION_TYPE>();
+               String2SPInstructionType = new HashMap<>();
                
                //unary aggregate operators
                String2SPInstructionType.put( "uak+"    , 
SPINSTRUCTION_TYPE.AggregateUnary);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
index 1e4625a..235a6f2 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/BreakPointInstruction.java
@@ -104,11 +104,12 @@ public class BreakPointInstruction extends Instruction
                if( DMLScript.ENABLE_DEBUG_MODE && isBPInstructionEnabled()) {
                        DebugState dbState = ec.getDebugState();
                        
-                       System.out.format("Breakpoint reached at %s.\n", 
dbState.getPC().toString());                                   
+                       System.out.format("Breakpoint reached at %s.\n", 
dbState.getPC().toString());
                        dbState.suspend = true;
                }
        }
        
+       @Override
        public String toString()
        {
                StringBuilder sb = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java
index 7acb0b9..e662b33 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CM_COV_Object.java
@@ -29,7 +29,6 @@ import 
org.apache.sysml.runtime.matrix.operators.CMOperator.AggregateOperationTy
 
 public class CM_COV_Object extends Data 
 {
-
        private static final long serialVersionUID = -5814207545197934085L;
 
        //for central moment
@@ -42,8 +41,8 @@ public class CM_COV_Object extends Data
        public KahanObject mean_v;
        public KahanObject c2;
        
-       public String toString()
-       {
+       @Override
+       public String toString() {
                return "weight: "+w+", mean: "+mean+", m2: "+m2+", m3: "+m3+", 
m4: "+m4+", mean2: "+mean_v+", c2: "+c2;
        }
        

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/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 3e0ecf9..402d4a5 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
@@ -243,10 +243,6 @@ public class FunctionCallCPInstruction extends 
CPInstruction {
                LOG.debug("ExternalBuiltInFunction: " + this.toString());
        }
 
-       public String getGraphString() {
-               return "ExtBuiltinFunc: " + _functionName;
-       }
-       
        public ArrayList<String> getBoundInputParamNames()
        {
                return _boundInputParamNames;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java
index 00fd75d..884a6a7 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/KahanObject.java
@@ -41,8 +41,8 @@ public class KahanObject extends Data
                _correction=cor;
        }
 
-       public String toString()
-       {
+       @Override
+       public String toString() {
                return "("+_sum+", "+_correction+")";
        }
        

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
index 141df62..e8a5f4a 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
@@ -78,7 +78,7 @@ public class ParameterizedBuiltinCPInstruction extends 
ComputationCPInstruction
        
        public static HashMap<String, String> constructParameterMap(String[] 
params) {
                // process all elements in "params" except first(opcode) and 
last(output)
-               HashMap<String,String> paramMap = new HashMap<String,String>();
+               HashMap<String,String> paramMap = new HashMap<>();
                
                // all parameters are of form <name=value>
                String[] parts;

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
index 515359e..8169695 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinMultipleCPInstruction.java
@@ -46,7 +46,7 @@ public class ScalarBuiltinMultipleCPInstruction extends 
BuiltinMultipleCPInstruc
        @Override
        public void processInstruction(ExecutionContext ec) throws 
DMLRuntimeException {
                if 
(MultipleCP.OperationType.PRINTF.toString().equalsIgnoreCase(getOpcode())) {
-                       List<ScalarObject> scalarObjects = new 
ArrayList<ScalarObject>();
+                       List<ScalarObject> scalarObjects = new ArrayList<>();
                        for (CPOperand input : inputs) {
                                ScalarObject so = 
ec.getScalarInput(input.getName(), input.getValueType(), input.isLiteral());
                                scalarObjects.add(so);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
index 5a0a772..7f8eb9e 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/ExecutionConfig.java
@@ -40,7 +40,7 @@ public class ExecutionConfig {
        public int sharedMemBytes = 0;
        public CUstream stream = null;
 
-       private static HashMap<Integer, Integer> maxBlockDimForDevice = new 
HashMap<Integer, Integer>();
+       private static HashMap<Integer, Integer> maxBlockDimForDevice = new 
HashMap<>();
 
        /**
         * Convenience constructor for setting the number of blocks, number of 
threads and the

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
index 3ebed52..e1894ae 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/gpu/context/JCudaKernels.java
@@ -47,7 +47,7 @@ import jcuda.runtime.JCuda;
 public class JCudaKernels {
 
        private final static String ptxFileName = "/kernels/SystemML.ptx";
-       private HashMap<String, CUfunction> kernels = new HashMap<String, 
CUfunction>();
+       private HashMap<String, CUfunction> kernels = new HashMap<>();
        private CUmodule module;
 
        /**

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
index 6b18b8c..6ac8cfc 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/AppendMInstruction.java
@@ -120,7 +120,7 @@ public class AppendMInstruction extends AppendInstruction 
implements IDistribute
                                DistributedCacheInput dcInput = 
MRBaseForCommonInstructions.dcValues.get(input2);
                                
                                //allocate space for the output value
-                               ArrayList<IndexedMatrixValue> outlist=new 
ArrayList<IndexedMatrixValue>(2);
+                               ArrayList<IndexedMatrixValue> outlist=new 
ArrayList<>(2);
                                IndexedMatrixValue 
first=cachedValues.holdPlace(output, valueClass);
                                first.getIndexes().setIndexes(ix);
                                outlist.add(first);

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
index 0f90341..447e253 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/GroupedAggregateMInstruction.java
@@ -88,7 +88,7 @@ public class GroupedAggregateMInstruction extends 
BinaryMRInstructionBase implem
                        int bclen = dcInput.getNumColsPerBlock();
                        
                        //execute map grouped aggregate operations
-                       ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<IndexedMatrixValue>();
+                       ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<>();
                        
OperationsOnMatrixValues.performMapGroupedAggregate(getOperator(), in1, groups, 
_ngroups, brlen, bclen, outlist);
                        
                        //output all result blocks

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
index 797bb0d..3193cc6 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/ParameterizedBuiltinMRInstruction.java
@@ -157,7 +157,7 @@ public class ParameterizedBuiltinMRInstruction extends 
UnaryInstruction {
                                else if( _opcode.equalsIgnoreCase("rexpand") )
                                {
                                        //process instruction
-                                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<IndexedMatrixValue>();
+                                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<>();
                                        LibMatrixReorg.rexpand(imv, _max, 
_dirRows, _cast, _ignore, blockRowFactor, blockColFactor, out);
                                        
                                        //put the output values in the cache

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
index b7d73ea..b1e90d1 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/RangeBasedReIndexInstruction.java
@@ -100,7 +100,7 @@ public class RangeBasedReIndexInstruction extends 
UnaryMRInstructionBase {
                                        continue;
        
                                //process instruction (incl block allocation)
-                               ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<IndexedMatrixValue>();
+                               ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<>();
                                if( _forLeft )
                                        
OperationsOnMatrixValues.performShift(in, _ixrange, blockRowFactor, 
blockColFactor, _rlenLhs, _clenLhs, outlist);
                                else

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
index ab06a39..fc93c56 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/RemoveEmptyMRInstruction.java
@@ -88,7 +88,7 @@ public class RemoveEmptyMRInstruction extends 
BinaryInstruction {
                IndexedMatrixValue inOffset = cachedValues.getFirst(input2);
 
                //execute remove empty operations
-               ArrayList<IndexedMatrixValue> out = new 
ArrayList<IndexedMatrixValue>();
+               ArrayList<IndexedMatrixValue> out = new ArrayList<>();
                LibMatrixReorg.rmempty(inData, inOffset, _rmRows, _len, 
blockRowFactor, blockColFactor, out);
                
                //put results into cache map

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java
index c9c5629..c90c45c 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/ReorgInstruction.java
@@ -150,7 +150,7 @@ public class ReorgInstruction extends 
UnaryMRInstructionBase {
                                else if( ((ReorgOperator)optr).fn instanceof 
RevIndex ) 
                                {
                                        //execute reverse operation
-                                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<IndexedMatrixValue>();
+                                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<>();
                                        LibMatrixReorg.rev(in, _mcIn.getRows(), 
_mcIn.getRowsPerBlock(), out);
                                        
                                        //output indexed matrix values

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java
index 4d31671..58f6821 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/mr/ScalarInstruction.java
@@ -58,6 +58,7 @@ public class ScalarInstruction extends UnaryMRInstructionBase 
{
                return new ScalarInstruction(sop, in, out, str);
        }
        
+       @Override
        public void processInstruction(Class<? extends MatrixValue> valueClass, 
CachedValueMap cachedValues, 
                        IndexedMatrixValue tempValue, IndexedMatrixValue 
zeroInput, int blockRowFactor, int blockColFactor)
                throws DMLRuntimeException

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
index eb97266..9ffe363 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateTernarySPInstruction.java
@@ -150,7 +150,7 @@ public class AggregateTernarySPInstruction extends 
ComputationSPInstruction {
                        MatrixBlock in3 = arg0._2()._2();
                        
                        //execute aggregate ternary operation
-                       return new Tuple2<MatrixIndexes, MatrixBlock>(new 
MatrixIndexes(1, ix.getColumnIndex()),
+                       return new Tuple2<>(new MatrixIndexes(1, 
ix.getColumnIndex()),
                                in1.aggregateTernaryOperations(in1, in2, in3, 
new MatrixBlock(), _aggop, false));
                }
        }
@@ -176,7 +176,7 @@ public class AggregateTernarySPInstruction extends 
ComputationSPInstruction {
                        MatrixBlock in2 = arg0._2()._2();
                        
                        //execute aggregate ternary operation
-                       return new Tuple2<MatrixIndexes,MatrixBlock>(new 
MatrixIndexes(1, ix.getColumnIndex()),
+                       return new Tuple2<>(new MatrixIndexes(1, 
ix.getColumnIndex()),
                                in1.aggregateTernaryOperations(in1, in2, null, 
new MatrixBlock(), _aggop, false));
                }
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
index 2bbc077..6b75080 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/AggregateUnarySPInstruction.java
@@ -159,10 +159,10 @@ public class AggregateUnarySPInstruction extends 
UnarySPInstruction {
                        
                        //unary aggregate operation (always keep the correction)
                        OperationsOnMatrixValues.performAggregateUnary( ixIn, 
blkIn, 
-                                         ixOut, blkOut, _op, _brlen, _bclen);
+                                       ixOut, blkOut, _op, _brlen, _bclen);
                        
                        //output new tuple
-                       return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, 
blkOut);
+                       return new Tuple2<>(ixOut, blkOut);
                }
        }
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
index bc41c40..991b5c0 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGAlignedSPInstruction.java
@@ -109,8 +109,8 @@ public class AppendGAlignedSPInstruction extends 
BinarySPInstruction {
                        throws Exception 
                {       
                        long rix = _cbind ? kv._1.getRowIndex() : 
kv._1.getRowIndex() + _shiftBy;
-                       long cix = _cbind ? kv._1.getColumnIndex() + _shiftBy : 
kv._1.getColumnIndex();                 
-                       return new Tuple2<MatrixIndexes, MatrixBlock>(new 
MatrixIndexes(rix, cix), kv._2);
+                       long cix = _cbind ? kv._1.getColumnIndex() + _shiftBy : 
kv._1.getColumnIndex();
+                       return new Tuple2<>(new MatrixIndexes(rix, cix), kv._2);
                }
        }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
index 831e707..fee21f3 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
@@ -128,10 +128,10 @@ public class AppendGSPInstruction extends 
BinarySPInstruction {
                                MatrixBlock tmp = iterRight.next();
                                if( iterRight.hasNext() )
                                        tmp.merge(iterRight.next(), false);
-                               return new Tuple2<MatrixIndexes, 
MatrixBlock>(kv._1, tmp);
+                               return new Tuple2<>(kv._1, tmp);
                        }
                        else if ( !iterRight.hasNext() ) {      
-                               return new Tuple2<MatrixIndexes, 
MatrixBlock>(kv._1, iterLeft.next());
+                               return new Tuple2<>(kv._1, iterLeft.next());
                        }
                        
                        MatrixBlock firstBlk = iterLeft.next();
@@ -149,7 +149,7 @@ public class AppendGSPInstruction extends 
BinarySPInstruction {
                        
                        //merge with sort since blocks might be in any order
                        firstBlk.merge(secondBlk, false);
-                       return new Tuple2<MatrixIndexes, MatrixBlock>(kv._1, 
firstBlk);
+                       return new Tuple2<>(kv._1, firstBlk);
                }
                
        }
@@ -179,7 +179,7 @@ public class AppendGSPInstruction extends 
BinarySPInstruction {
                        throws Exception 
                {
                        //common preparation
-                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> retVal = 
new ArrayList<Tuple2<MatrixIndexes,MatrixBlock>>();
+                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> retVal = 
new ArrayList<>();
                        MatrixIndexes ix = kv._1();
                        MatrixBlock in = kv._2();
                        int cutAt = _blen - _shiftBy;
@@ -194,7 +194,7 @@ public class AppendGSPInstruction extends 
BinarySPInstruction {
                                        // The block is too small to be cut
                                        MatrixBlock firstBlk = new 
MatrixBlock(in.getNumRows(), lblen1, true);
                                        firstBlk = 
firstBlk.leftIndexingOperations(in, 0, in.getNumRows()-1, 
lblen1-in.getNumColumns(), lblen1-1, new MatrixBlock(), 
UpdateType.INPLACE_PINNED);
-                                       retVal.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(firstIndex, firstBlk));
+                                       retVal.add(new Tuple2<>(firstIndex, 
firstBlk));
                                }
                                else {
                                        // Since merge requires the dimensions 
matching, shifting = slicing + left indexing
@@ -206,9 +206,8 @@ public class AppendGSPInstruction extends 
BinarySPInstruction {
                                        int llen2 = 
UtilFunctions.computeBlockSize(_outlen, secondIndex.getColumnIndex(), _blen);
                                        MatrixBlock secondBlk = new 
MatrixBlock(in.getNumRows(), llen2, true);
                                        secondBlk = 
secondBlk.leftIndexingOperations(secondSlicedBlk, 0, in.getNumRows()-1, 0, 
secondSlicedBlk.getNumColumns()-1, new MatrixBlock(), 
UpdateType.INPLACE_PINNED);
-                                       
-                                       retVal.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(firstIndex, firstBlk));
-                                       retVal.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(secondIndex, secondBlk));
+                                       retVal.add(new Tuple2<>(firstIndex, 
firstBlk));
+                                       retVal.add(new Tuple2<>(secondIndex, 
secondBlk));
                                }
                        }
                        else //rbind
@@ -221,7 +220,7 @@ public class AppendGSPInstruction extends 
BinarySPInstruction {
                                        // The block is too small to be cut
                                        MatrixBlock firstBlk = new 
MatrixBlock(lblen1, in.getNumColumns(), true);
                                        firstBlk = 
firstBlk.leftIndexingOperations(in, lblen1-in.getNumRows(), lblen1-1, 0, 
in.getNumColumns()-1, new MatrixBlock(), UpdateType.INPLACE_PINNED);
-                                       retVal.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(firstIndex, firstBlk));
+                                       retVal.add(new Tuple2<>(firstIndex, 
firstBlk));
                                }
                                else {
                                        // Since merge requires the dimensions 
matching, shifting = slicing + left indexing
@@ -234,8 +233,8 @@ public class AppendGSPInstruction extends 
BinarySPInstruction {
                                        MatrixBlock secondBlk = new 
MatrixBlock(lblen2, in.getNumColumns(), true);
                                        secondBlk = 
secondBlk.leftIndexingOperations(secondSlicedBlk, 0, 
secondSlicedBlk.getNumRows()-1, 0, in.getNumColumns()-1, new MatrixBlock(), 
UpdateType.INPLACE_PINNED);
                                        
-                                       retVal.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(firstIndex, firstBlk));
-                                       retVal.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(secondIndex, secondBlk));
+                                       retVal.add(new Tuple2<>(firstIndex, 
firstBlk));
+                                       retVal.add(new Tuple2<>(secondIndex, 
secondBlk));
                                }
                        }
                        

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
index e3cf9b6..7b4976a 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/CpmmSPInstruction.java
@@ -139,7 +139,7 @@ public class CpmmSPInstruction extends BinarySPInstruction {
                        value.set(arg0._1(), new MatrixBlock(arg0._2()));
                        
                        Long key = _left ? arg0._1.getColumnIndex() : 
arg0._1.getRowIndex();
-                       return new Tuple2<Long, IndexedMatrixValue>(key, value);
+                       return new Tuple2<>(key, value);
                }       
        }
 
@@ -169,8 +169,8 @@ public class CpmmSPInstruction extends BinarySPInstruction {
                        
                        //return target block
                        
ixOut.setIndexes(arg0._2()._1().getIndexes().getRowIndex(), 
-                                                
arg0._2()._2().getIndexes().getColumnIndex());
-                       return new Tuple2<MatrixIndexes, MatrixBlock>( ixOut, 
blkOut );
+                               arg0._2()._2().getIndexes().getColumnIndex());
+                       return new Tuple2<>( ixOut, blkOut );
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
index 6d30254..7e0ac0e 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeAggregateSPInstruction.java
@@ -128,7 +128,7 @@ public class CumulativeAggregateSPInstruction extends 
AggregateUnarySPInstructio
                        ixOut.setIndexes(rixOut, ixOut.getColumnIndex());
                        
                        //output new tuple
-                       return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, 
blkOut2);
+                       return new Tuple2<>(ixOut, blkOut2);
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
index 65f5251..7574228 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/CumulativeOffsetSPInstruction.java
@@ -132,7 +132,7 @@ public class CumulativeOffsetSPInstruction extends 
BinarySPInstruction {
                public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call( 
Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
                        throws Exception 
                {
-                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<>();
                        
                        MatrixIndexes ixIn = arg0._1();
                        MatrixBlock blkIn = arg0._2();
@@ -149,8 +149,8 @@ public class CumulativeOffsetSPInstruction extends 
BinarySPInstruction {
                                        for( int j=0; j<blkIn.getNumColumns(); 
j++ )
                                                tmpblk.appendValue(0, j, 
_initValue);
                                }
-                               ret.add(new 
Tuple2<MatrixIndexes,MatrixBlock>(tmpix, tmpblk));
-                       }       
+                               ret.add(new Tuple2<>(tmpix, tmpblk));
+                       }
                        
                        //output splitting (shift by one), preaggregated offset 
used by subsequent block
                        for( int i=0; i<blkIn.getNumRows(); i++ )
@@ -159,7 +159,7 @@ public class CumulativeOffsetSPInstruction extends 
BinarySPInstruction {
                                        MatrixIndexes tmpix = new 
MatrixIndexes(rixOffset+i+2, ixIn.getColumnIndex());
                                        MatrixBlock tmpblk = new MatrixBlock(1, 
blkIn.getNumColumns(), blkIn.isInSparseFormat());
                                        blkIn.sliceOperations(i, i, 0, 
blkIn.getNumColumns()-1, tmpblk);        
-                                       ret.add(new 
Tuple2<MatrixIndexes,MatrixBlock>(tmpix, tmpblk));
+                                       ret.add(new Tuple2<>(tmpix, tmpblk));
                                }
                        
                        return ret.iterator();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
index be5d12f..3f95e8c 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendMSPInstruction.java
@@ -122,7 +122,7 @@ public class FrameAppendMSPInstruction extends 
AppendMSPInstruction {
                                
                                FrameBlock in2 = _pm.getBlock(rowix, colix);
                                FrameBlock out = in1.appendOperations(in2, new 
FrameBlock(), true); //cbind
-                               return new Tuple2<Long,FrameBlock>(ix, out);
+                               return new Tuple2<>(ix, out);
                        }                       
                }
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
index 6819367..b386669 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameAppendRSPInstruction.java
@@ -110,7 +110,7 @@ public class FrameAppendRSPInstruction extends 
AppendRSPInstruction {
                public Tuple2<Long,FrameBlock> call(Tuple2<Long, FrameBlock> 
arg0)
                        throws Exception 
                {
-                       return new Tuple2<Long, FrameBlock>(arg0._1()+_offset, 
arg0._2());
+                       return new Tuple2<>(arg0._1()+_offset, arg0._2());
                }
        }
 
@@ -129,14 +129,11 @@ public class FrameAppendRSPInstruction extends 
AppendRSPInstruction {
                        throws Exception 
                {
                        FrameBlock resultBlock = new 
FrameBlock(arg0._2().getSchema());
-                                               
                        long index = 
(arg0._1()/OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE)*OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE+1;
                        int maxRows = (int) (_rows - index+1 >= 
OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE?OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE:_rows
 - index+1);
-
                        resultBlock.ensureAllocatedColumns(maxRows);
                        resultBlock = 
resultBlock.leftIndexingOperations(arg0._2(), 0, maxRows-1, 0, 
arg0._2().getNumColumns()-1, new FrameBlock());
-                       
-                       return new Tuple2<Long, FrameBlock>(index, resultBlock);
+                       return new Tuple2<>(index, resultBlock);
                }
        }
 

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
index ad020bb..2daaad5 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/FrameIndexingSPInstruction.java
@@ -199,11 +199,11 @@ public class FrameIndexingSPInstruction extends 
IndexingSPInstruction {
                public Iterator<Tuple2<Long, FrameBlock>> call(Tuple2<Long, 
FrameBlock> rightKV) 
                        throws Exception 
                {
-                       Pair<Long,FrameBlock> in = 
SparkUtils.toIndexedFrameBlock(rightKV);                     
-                       ArrayList<Pair<Long,FrameBlock>> out = new 
ArrayList<Pair<Long,FrameBlock>>();
+                       Pair<Long,FrameBlock> in = 
SparkUtils.toIndexedFrameBlock(rightKV);
+                       ArrayList<Pair<Long,FrameBlock>> out = new 
ArrayList<>();
                        OperationsOnMatrixValues.performShift(in, _ixrange, 
_brlen, _bclen, _rlen, _clen, out);
                        return SparkUtils.fromIndexedFrameBlock(out).iterator();
-               }               
+               }
        }
 
        private static class ZeroOutLHS implements 
PairFlatMapFunction<Tuple2<Long,FrameBlock>, Long,FrameBlock> 
@@ -228,7 +228,7 @@ public class FrameIndexingSPInstruction extends 
IndexingSPInstruction {
                public Iterator<Tuple2<Long, FrameBlock>> call(Tuple2<Long, 
FrameBlock> kv) 
                        throws Exception 
                {
-                       ArrayList<Pair<Long,FrameBlock>> out = new 
ArrayList<Pair<Long,FrameBlock>>();
+                       ArrayList<Pair<Long,FrameBlock>> out = new 
ArrayList<>();
 
                        IndexRange curBlockRange = new 
IndexRange(_ixrange.rowStart, _ixrange.rowEnd, _ixrange.colStart, 
_ixrange.colEnd);
                        
@@ -240,7 +240,7 @@ public class FrameIndexingSPInstruction extends 
IndexingSPInstruction {
                        // Starting local location (0-based) of target block 
where to start copy. 
                        int iRowStartDest = 
UtilFunctions.computeCellInBlock(kv._1, _brlen);
                        for(int iRowStartSrc = 0; 
iRowStartSrc<kv._2.getNumRows(); iRowStartSrc += iMaxRowsToCopy, lGblStartRow 
+= _brlen) {
-                               IndexRange range = 
UtilFunctions.getSelectedRangeForZeroOut(new Pair<Long, FrameBlock>(kv._1, 
kv._2), _brlen, _bclen, curBlockRange, lGblStartRow-1, lGblStartRow);
+                               IndexRange range = 
UtilFunctions.getSelectedRangeForZeroOut(new Pair<>(kv._1, kv._2), _brlen, 
_bclen, curBlockRange, lGblStartRow-1, lGblStartRow);
                                if(range.rowStart == -1 && range.rowEnd == -1 
&& range.colStart == -1 && range.colEnd == -1) {
                                        throw new Exception("Error while 
getting range for zero-out");
                                }
@@ -253,7 +253,7 @@ public class FrameIndexingSPInstruction extends 
IndexingSPInstruction {
                                
                                // Zero out the applicable range in this block
                                zeroBlk = (FrameBlock) 
kv._2.zeroOutOperations(new FrameBlock(), range, _complement, iRowStartSrc, 
iRowStartDest, iMaxRows, iMaxRowsToCopy);
-                               out.add(new Pair<Long, 
FrameBlock>(lGblStartRow, zeroBlk));
+                               out.add(new Pair<>(lGblStartRow, zeroBlk));
                                curBlockRange.rowStart =  lGblStartRow + _brlen;
                                iRowStartDest = 
UtilFunctions.computeCellInBlock(iRowStartDest+iMaxRowsToCopy+1, _brlen);
                        }
@@ -331,7 +331,7 @@ public class FrameIndexingSPInstruction extends 
IndexingSPInstruction {
                                        rhs_ru_pb = Math.min(rhs_ru, 
rhs_ru_pb+brlen);
                                }
                                
-                               return new Tuple2<Long, FrameBlock>(arg._1, 
ret);
+                               return new Tuple2<>(arg._1, ret);
                        }
                }
        }
@@ -364,7 +364,7 @@ public class FrameIndexingSPInstruction extends 
IndexingSPInstruction {
                        
                        //return block with shifted row index
                        long rowindex2 = (rowindex > _ixrange.rowStart) ? 
rowindex-_ixrange.rowStart+1 : 1; 
-                       return new Tuple2<Long,FrameBlock>(rowindex2, out);
+                       return new Tuple2<>(rowindex2, out);
                }               
        }
 
@@ -407,7 +407,7 @@ public class FrameIndexingSPInstruction extends 
IndexingSPInstruction {
                                                (int)_ixrange.colStart-1, 
(int)_ixrange.colEnd-1, new FrameBlock());
                                
                                //return block with shifted row index
-                               return new Tuple2<Long,FrameBlock>(rowindex, 
out);              
+                               return new Tuple2<>(rowindex, out);
                        }                       
                }
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
index 9fa2a14..75d674f 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MapmmSPInstruction.java
@@ -278,7 +278,7 @@ public class MapmmSPInstruction extends BinarySPInstruction 
{
                                
                                //execute matrix-vector mult
                                
OperationsOnMatrixValues.performAggregateBinary( 
-                                               new 
MatrixIndexes(1,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);    
                                            
+                                               new 
MatrixIndexes(1,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);
                        }
                        else //if( _type == CacheType.RIGHT )
                        {
@@ -287,11 +287,11 @@ public class MapmmSPInstruction extends 
BinarySPInstruction {
                                
                                //execute matrix-vector mult
                                OperationsOnMatrixValues.performAggregateBinary(
-                                               ixIn, blkIn, new 
MatrixIndexes(ixIn.getColumnIndex(),1), right, ixOut, blkOut, _op);             
                       
+                                               ixIn, blkIn, new 
MatrixIndexes(ixIn.getColumnIndex(),1), right, ixOut, blkOut, _op);
                        }
                        
                        //output new tuple
-                       return new Tuple2<MatrixIndexes, MatrixBlock>(ixOut, 
blkOut);
+                       return new Tuple2<>(ixOut, blkOut);
                }
        }
 
@@ -394,7 +394,7 @@ public class MapmmSPInstruction extends BinarySPInstruction 
{
                                        MatrixBlock left = _pbc.getBlock(1, 
(int)ixIn.getRowIndex());
                                        
                                        //execute index preserving matrix 
multiplication
-                                       left.aggregateBinaryOperations(left, 
blkIn, blkOut, _op);                                               
+                                       left.aggregateBinaryOperations(left, 
blkIn, blkOut, _op);
                                }
                                else //if( _type == CacheType.RIGHT )
                                {
@@ -405,8 +405,8 @@ public class MapmmSPInstruction extends BinarySPInstruction 
{
                                        blkIn.aggregateBinaryOperations(blkIn, 
right, blkOut, _op);     
                                }
                        
-                               return new 
Tuple2<MatrixIndexes,MatrixBlock>(ixIn, blkOut);
-                       }                       
+                               return new Tuple2<>(ixIn, blkOut);
+                       }
                }
        }
 
@@ -432,7 +432,7 @@ public class MapmmSPInstruction extends BinarySPInstruction 
{
                public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> call( 
Tuple2<MatrixIndexes, MatrixBlock> arg0 ) 
                        throws Exception 
                {
-                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<>();
                        
                        MatrixIndexes ixIn = arg0._1();
                        MatrixBlock blkIn = arg0._2();
@@ -449,9 +449,9 @@ public class MapmmSPInstruction extends BinarySPInstruction 
{
                                        
                                        //execute matrix-vector mult
                                        
OperationsOnMatrixValues.performAggregateBinary( 
-                                                       new 
MatrixIndexes(i,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);    
    
+                                                       new 
MatrixIndexes(i,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);
                                        
-                                       ret.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(ixOut, blkOut));
+                                       ret.add(new Tuple2<>(ixOut, blkOut));
                                }
                        }
                        else //if( _type == CacheType.RIGHT )
@@ -467,9 +467,9 @@ public class MapmmSPInstruction extends BinarySPInstruction 
{
                                        
                                        //execute matrix-vector mult
                                        
OperationsOnMatrixValues.performAggregateBinary(
-                                                       ixIn, blkIn, new 
MatrixIndexes(ixIn.getColumnIndex(),j), right, ixOut, blkOut, _op);             
                       
+                                                       ixIn, blkIn, new 
MatrixIndexes(ixIn.getColumnIndex(),j), right, ixOut, blkOut, _op);
                                
-                                       ret.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(ixOut, blkOut));
+                                       ret.add(new Tuple2<>(ixOut, blkOut));
                                }
                        }
                        

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
index 4864d9e..affd145 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixAppendMSPInstruction.java
@@ -124,7 +124,7 @@ public class MatrixAppendMSPInstruction extends 
AppendMSPInstruction {
                public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> 
call(Tuple2<MatrixIndexes, MatrixBlock> kv) 
                        throws Exception 
                {
-                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<>();
                        
                        IndexedMatrixValue in1 = 
SparkUtils.toIndexedMatrixBlock(kv);
                        MatrixIndexes ix = in1.getIndexes();
@@ -143,21 +143,19 @@ public class MatrixAppendMSPInstruction extends 
AppendMSPInstruction {
                                
                                //output shallow copy of rhs block
                                if( _cbind ) {
-                                       ret.add( new Tuple2<MatrixIndexes, 
MatrixBlock>(
-                                                       new 
MatrixIndexes(ix.getRowIndex(), ix.getColumnIndex()+1),
-                                                       
_pm.getBlock((int)ix.getRowIndex(), 1)) );
+                                       ret.add( new Tuple2<>(new 
MatrixIndexes(ix.getRowIndex(), ix.getColumnIndex()+1),
+                                               
_pm.getBlock((int)ix.getRowIndex(), 1)) );
                                }
                                else { //rbind
-                                       ret.add( new Tuple2<MatrixIndexes, 
MatrixBlock>(
-                                                       new 
MatrixIndexes(ix.getRowIndex()+1, ix.getColumnIndex()),
-                                                       _pm.getBlock(1, 
(int)ix.getColumnIndex())) );   
+                                       ret.add( new Tuple2<>(new 
MatrixIndexes(ix.getRowIndex()+1, ix.getColumnIndex()),
+                                               _pm.getBlock(1, 
(int)ix.getColumnIndex())) );
                                }
                        }
                        //case 3: append operation on boundary block
                        else 
                        {
                                //allocate space for the output value
-                               ArrayList<IndexedMatrixValue> outlist=new 
ArrayList<IndexedMatrixValue>(2);
+                               ArrayList<IndexedMatrixValue> outlist=new 
ArrayList<>(2);
                                IndexedMatrixValue first = new 
IndexedMatrixValue(new MatrixIndexes(ix), new MatrixBlock());
                                outlist.add(first);
                                
@@ -237,12 +235,12 @@ public class MatrixAppendMSPInstruction extends 
AppendMSPInstruction {
                                //case 3: append operation on boundary block
                                else {
                                        int rowix = _cbind ? 
(int)ix.getRowIndex() : 1;
-                                       int colix = _cbind ? 1 : 
(int)ix.getColumnIndex();                                      
+                                       int colix = _cbind ? 1 : 
(int)ix.getColumnIndex();
                                        MatrixBlock in2 = _pm.getBlock(rowix, 
colix);
                                        MatrixBlock out = 
in1.appendOperations(in2, new MatrixBlock(), _cbind);
-                                       return new 
Tuple2<MatrixIndexes,MatrixBlock>(ix, out);
-                               }       
-                       }                       
+                                       return new Tuple2<>(ix, out);
+                               }
+                       }
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
index 540ac74..dd7f2bd 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixIndexingSPInstruction.java
@@ -190,7 +190,7 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
        private static MatrixBlock 
multiBlockIndexing(JavaPairRDD<MatrixIndexes,MatrixBlock> in1, 
                         MatrixCharacteristics mcIn, MatrixCharacteristics 
mcOut, IndexRange ixrange) throws DMLRuntimeException {
                //create list of all required matrix indexes
-               List<MatrixIndexes> filter = new ArrayList<MatrixIndexes>();
+               List<MatrixIndexes> filter = new ArrayList<>();
                long rlix = UtilFunctions.computeBlockIndex(ixrange.rowStart, 
mcIn.getRowsPerBlock());
                long ruix = UtilFunctions.computeBlockIndex(ixrange.rowEnd, 
mcIn.getRowsPerBlock());
                long clix = UtilFunctions.computeBlockIndex(ixrange.colStart, 
mcIn.getColsPerBlock());
@@ -324,8 +324,8 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                public Iterator<Tuple2<MatrixIndexes, MatrixBlock>> 
call(Tuple2<MatrixIndexes, MatrixBlock> rightKV) 
                        throws Exception 
                {
-                       IndexedMatrixValue in = 
SparkUtils.toIndexedMatrixBlock(rightKV);                       
-                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<IndexedMatrixValue>();
+                       IndexedMatrixValue in = 
SparkUtils.toIndexedMatrixBlock(rightKV);
+                       ArrayList<IndexedMatrixValue> out = new ArrayList<>();
                        OperationsOnMatrixValues.performShift(in, _ixrange, 
_brlen, _bclen, _rlen, _clen, out);
                        return 
SparkUtils.fromIndexedMatrixBlock(out).iterator();
                }               
@@ -361,7 +361,7 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                        }
                        
                        MatrixBlock zeroBlk = (MatrixBlock) 
kv._2.zeroOutOperations(new MatrixBlock(), range, _complement);
-                       return new Tuple2<MatrixIndexes, MatrixBlock>(kv._1, 
zeroBlk);
+                       return new Tuple2<>(kv._1, zeroBlk);
                }
        }
 
@@ -421,7 +421,7 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                                        MatrixBlock tmp = 
left.leftIndexingOperations(right, 
                                                        rl, ru, cl, cu, new 
MatrixBlock(), UpdateType.COPY);
                                        
-                                       return new Tuple2<MatrixIndexes, 
MatrixBlock>(ix, tmp);
+                                       return new Tuple2<>(ix, tmp);
                                }
                                else //LixCacheType.RIGHT
                                {
@@ -446,7 +446,7 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                                        int lhs_lcl = 
UtilFunctions.computeCellInBlock(lhs_cl, _bclen);
                                        int lhs_lcu = 
UtilFunctions.computeCellInBlock(lhs_cu, _bclen);
                                        MatrixBlock ret = 
arg._2.leftIndexingOperations(slicedRHSMatBlock, lhs_lrl, lhs_lru, lhs_lcl, 
lhs_lcu, new MatrixBlock(), UpdateType.COPY);
-                                       return new Tuple2<MatrixIndexes, 
MatrixBlock>(arg._1, ret);
+                                       return new Tuple2<>(arg._1, ret);
                                }
                        }
                }
@@ -490,10 +490,10 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                        //create return matrix block (via shallow copy or slice)
                        if( lrl == 0 && lru == block.getNumRows()-1
                                && lcl == 0 && lcu == block.getNumColumns()-1 ) 
{
-                               return new Tuple2<MatrixIndexes, 
MatrixBlock>(ixOut, block);
+                               return new Tuple2<>(ixOut, block);
                        }
                        else {
-                               return new Tuple2<MatrixIndexes, 
MatrixBlock>(ixOut, 
+                               return new Tuple2<>(ixOut, 
                                        block.sliceOperations(lrl, lru, lcl, 
lcu, new MatrixBlock()));
                        }
                }               
@@ -518,7 +518,7 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                        throws Exception 
                {       
                        IndexedMatrixValue in = 
SparkUtils.toIndexedMatrixBlock(kv);
-                       ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<IndexedMatrixValue>();
+                       ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<>();
                        OperationsOnMatrixValues.performSlice(in, _ixrange, 
_brlen, _bclen, outlist);
                        return 
SparkUtils.fromIndexedMatrixBlock(outlist).iterator();
                }               
@@ -546,7 +546,7 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                        throws Exception 
                {       
                        IndexedMatrixValue in = new IndexedMatrixValue(kv._1(), 
kv._2());
-                       ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<IndexedMatrixValue>();
+                       ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<>();
                        OperationsOnMatrixValues.performSlice(in, _ixrange, 
_brlen, _bclen, outlist);
                        return 
SparkUtils.fromIndexedMatrixBlock(outlist.get(0));
                }               
@@ -585,12 +585,12 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                        {
                                IndexedMatrixValue in = 
SparkUtils.toIndexedMatrixBlock(arg);
                                
-                               ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<IndexedMatrixValue>();
+                               ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<>();
                                OperationsOnMatrixValues.performSlice(in, 
_ixrange, _brlen, _bclen, outlist);
                                
                                assert(outlist.size() == 1); //1-1 row/column 
block indexing
                                return 
SparkUtils.fromIndexedMatrixBlock(outlist.get(0));
-                       }                       
+                       }
                }
        }
        
@@ -607,7 +607,7 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                        JavaPairRDD<MatrixIndexes,MatrixBlock> in, 
List<MatrixIndexes> filter )
        {
                //build hashset of required partition ids
-               HashSet<Integer> flags = new HashSet<Integer>();
+               HashSet<Integer> flags = new HashSet<>();
                Partitioner partitioner = in.rdd().partitioner().get();
                for( MatrixIndexes key : filter )
                        flags.add(partitioner.getPartition(key));
@@ -618,7 +618,7 @@ public class MatrixIndexingSPInstruction extends 
IndexingSPInstruction {
                                PartitionPruningRDD.create(in.rdd(), f);
 
                //wrap output into java pair rdd
-               return new JavaPairRDD<MatrixIndexes,MatrixBlock>(ppRDD, 
+               return new JavaPairRDD<>(ppRDD, 
                                
ClassManifestFactory.fromClass(MatrixIndexes.class), 
                                
ClassManifestFactory.fromClass(MatrixBlock.class));
        }

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
index 9769792..3dc44f6 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/MatrixReshapeSPInstruction.java
@@ -133,7 +133,7 @@ public class MatrixReshapeSPInstruction extends 
UnarySPInstruction {
                        IndexedMatrixValue in = 
SparkUtils.toIndexedMatrixBlock(arg0);
                        
                        //execute actual reshape operation
-                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<IndexedMatrixValue>();                        
+                       ArrayList<IndexedMatrixValue> out = new ArrayList<>();
                        out = LibMatrixReorg.reshape(in, _mcIn, out, _mcOut, 
_byrow);
 
                        //output conversion (for compatibility w/ rdd schema)

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
index 1fd690f..6c037ff 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/PMapmmSPInstruction.java
@@ -157,7 +157,7 @@ public class PMapmmSPInstruction extends 
BinarySPInstruction {
                {
                        long rix = arg0._1().getRowIndex()-_offset;
                        MatrixIndexes ixout = new MatrixIndexes(rix, 
arg0._1().getColumnIndex());
-                       return new Tuple2<MatrixIndexes,MatrixBlock>(ixout, 
arg0._2());
+                       return new Tuple2<>(ixout, arg0._2());
                }
        }
 
@@ -191,7 +191,7 @@ public class PMapmmSPInstruction extends 
BinarySPInstruction {
                        MatrixIndexes ixOut = new MatrixIndexes();
                        MatrixBlock blkOut = new MatrixBlock();
                        
-                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<Tuple2<MatrixIndexes, MatrixBlock>>();
+                       ArrayList<Tuple2<MatrixIndexes, MatrixBlock>> ret = new 
ArrayList<>();
                        
                        //get the right hand side matrix
                        for( int i=1; i<=pm.getNumRowBlocks(); i++ ) {
@@ -199,11 +199,11 @@ public class PMapmmSPInstruction extends 
BinarySPInstruction {
                        
                                //execute matrix-vector mult
                                
OperationsOnMatrixValues.performAggregateBinary( 
-                                               new 
MatrixIndexes(i,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);    
                                            
+                                               new 
MatrixIndexes(i,ixIn.getRowIndex()), left, ixIn, blkIn, ixOut, blkOut, _op);
                                
                                //output new tuple
                                ixOut.setIndexes(_offset+i, 
ixOut.getColumnIndex());
-                               ret.add(new Tuple2<MatrixIndexes, 
MatrixBlock>(ixOut, blkOut));
+                               ret.add(new Tuple2<>(ixOut, blkOut));
                        }
                        
                        return ret.iterator();

http://git-wip-us.apache.org/repos/asf/systemml/blob/e106966a/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
index 216bdc1..fc1ed48 100644
--- 
a/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
+++ 
b/src/main/java/org/apache/sysml/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.java
@@ -100,7 +100,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
        
        public static HashMap<String, String> constructParameterMap(String[] 
params) {
                // process all elements in "params" except first(opcode) and 
last(output)
-               HashMap<String,String> paramMap = new HashMap<String,String>();
+               HashMap<String,String> paramMap = new HashMap<>();
                
                // all parameters are of form <name=value>
                String[] parts;
@@ -125,14 +125,14 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                        CPOperand groups = new CPOperand( parts[2] );
                        CPOperand out = new CPOperand( parts[3] );
 
-                       HashMap<String,String> paramsMap = new HashMap<String, 
String>();
+                       HashMap<String,String> paramsMap = new HashMap<>();
                        paramsMap.put(Statement.GAGG_TARGET, target.getName());
                        paramsMap.put(Statement.GAGG_GROUPS, groups.getName());
                        paramsMap.put(Statement.GAGG_NUM_GROUPS, parts[4]);
                        
                        Operator op = new AggregateOperator(0, 
KahanPlus.getKahanPlusFnObject(), true, CorrectionLocationType.LASTCOLUMN);
                        
-                       return new ParameterizedBuiltinSPInstruction(op, 
paramsMap, out, opcode, str, false);           
+                       return new ParameterizedBuiltinSPInstruction(op, 
paramsMap, out, opcode, str, false);
                }
                else
                {
@@ -544,7 +544,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                        IndexedMatrixValue offsets = 
SparkUtils.toIndexedMatrixBlock(arg0._1(),arg0._2()._2());
                        
                        //execute remove empty operations
-                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<IndexedMatrixValue>();
+                       ArrayList<IndexedMatrixValue> out = new ArrayList<>();
                        LibMatrixReorg.rmempty(data, offsets, _rmRows, _len, 
_brlen, _bclen, out);
 
                        //prepare and return outputs
@@ -586,7 +586,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                                offsets = 
SparkUtils.toIndexedMatrixBlock(arg0._1(), _off.getBlock(1, 
(int)arg0._1().getColumnIndex()));
                        
                        //execute remove empty operations
-                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<IndexedMatrixValue>();
+                       ArrayList<IndexedMatrixValue> out = new ArrayList<>();
                        LibMatrixReorg.rmempty(data, offsets, _rmRows, _len, 
_brlen, _bclen, out);
 
                        //prepare and return outputs
@@ -623,7 +623,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                        IndexedMatrixValue data = 
SparkUtils.toIndexedMatrixBlock(arg0._1(),arg0._2());
                        
                        //execute rexpand operations
-                       ArrayList<IndexedMatrixValue> out = new 
ArrayList<IndexedMatrixValue>();
+                       ArrayList<IndexedMatrixValue> out = new ArrayList<>();
                        LibMatrixReorg.rexpand(data, _maxVal, _dirRows, _cast, 
_ignore, _brlen, _bclen, out);
                        
                        //prepare and return outputs
@@ -661,7 +661,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                        
                        //execute map grouped aggregate operations
                        IndexedMatrixValue in1 = 
SparkUtils.toIndexedMatrixBlock(ix, target);
-                       ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<IndexedMatrixValue>();
+                       ArrayList<IndexedMatrixValue> outlist = new 
ArrayList<>();
                        
OperationsOnMatrixValues.performMapGroupedAggregate(_op, in1, groups, _ngroups, 
_brlen, _bclen, outlist);
                        
                        //output all result blocks
@@ -781,7 +781,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                        }
                        
                        //convert to frameblock to reuse frame-matrix reblock
-                       return new Tuple2<Long, FrameBlock>(key, 
+                       return new Tuple2<>(key, 
                                        DataConverter.convertToFrameBlock(tmp));
                }
        }
@@ -821,7 +821,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                                rmRows += valid ? 0 : 1;
                        }
                        
-                       return new Tuple2<Long, Long>(key, rmRows);
+                       return new Tuple2<>(key, rmRows);
                }
        }
 
@@ -844,7 +844,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                        long rix = 
UtilFunctions.computeCellIndex(in._1().getRowIndex(), _brlen, 0);
                        FrameBlock fbout = _decoder.decode(in._2(), new 
FrameBlock(_decoder.getSchema()));
                        
fbout.setColumnNames(Arrays.copyOfRange(_decoder.getColnames(), 0, 
fbout.getNumColumns()));
-                       return new Tuple2<Long, FrameBlock>(rix, fbout);
+                       return new Tuple2<>(rix, fbout);
                }
        }
        
@@ -873,7 +873,7 @@ public class ParameterizedBuiltinSPInstruction extends 
ComputationSPInstruction
                        MatrixBlock out = new MatrixBlock(inBlk.getNumRows(), 
_clen, false);
                        out = out.leftIndexingOperations(inBlk, 0, 
inBlk.getNumRows()-1, cl, cu, null, UpdateType.INPLACE_PINNED);
                        
-                       return new Tuple2<MatrixIndexes, MatrixBlock>(new 
MatrixIndexes(inIx.getRowIndex(), 1), out);
+                       return new Tuple2<>(new 
MatrixIndexes(inIx.getRowIndex(), 1), out);
                }
        }
 

Reply via email to