http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java 
b/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
index 62b499f..fbccb44 100644
--- a/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
+++ b/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java
@@ -123,7 +123,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
        @Override public String falseStringLiteral() { return "FALSE"; }
 
        protected ArrayList<ParameterExpression> 
getParameterExpressionList(List<ParameterizedExpressionContext> paramExprs) {
-               ArrayList<ParameterExpression> retVal = new 
ArrayList<ParameterExpression>();
+               ArrayList<ParameterExpression> retVal = new ArrayList<>();
                for(ParameterizedExpressionContext ctx : paramExprs) {
                        String paramName = null;
                        if(ctx.paramName != null && ctx.paramName.getText() != 
null && !ctx.paramName.getText().isEmpty()) {
@@ -287,10 +287,10 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
                setFileLineColumn(ctx.dataInfo.expr, ctx);
 
                try {
-                       ArrayList< ArrayList<Expression> > exprList = new 
ArrayList< ArrayList<Expression> >();
+                       ArrayList< ArrayList<Expression> > exprList = new 
ArrayList<>();
 
-                       ArrayList<Expression> rowIndices = new 
ArrayList<Expression>();
-                       ArrayList<Expression> colIndices = new 
ArrayList<Expression>();
+                       ArrayList<Expression> rowIndices = new ArrayList<>();
+                       ArrayList<Expression> colIndices = new ArrayList<>();
 
 
                        if(!isRowLower && !isRowUpper) {
@@ -417,7 +417,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
                                return;
                        }
                        else {
-                               ctx.info.namespaces = new HashMap<String, 
DMLProgram>();
+                               ctx.info.namespaces = new HashMap<>();
                                
ctx.info.namespaces.put(getQualifiedNamespace(namespace), prog);
                                ctx.info.stmt = new ImportStatement();
                                ((ImportStatement) 
ctx.info.stmt).setCompletePath(filePath);
@@ -430,7 +430,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
                        // Skip redundant parsing (to prevent potential 
infinite recursion) and
                        // create empty program for this context to allow 
processing to continue.
                        prog = new DMLProgram();
-                       ctx.info.namespaces = new HashMap<String, DMLProgram>();
+                       ctx.info.namespaces = new HashMap<>();
                        
ctx.info.namespaces.put(getQualifiedNamespace(namespace), prog);
                        ctx.info.stmt = new ImportStatement();
                        ((ImportStatement) 
ctx.info.stmt).setCompletePath(filePath);
@@ -473,11 +473,11 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
        @Override
        public void 
exitFunctionCallAssignmentStatement(FunctionCallAssignmentStatementContext ctx) 
{
 
-               Set<String> printStatements = new  HashSet<String>();
+               Set<String> printStatements = new  HashSet<>();
                printStatements.add("print");
                printStatements.add("stop");
 
-               Set<String> outputStatements = new HashSet<String>();
+               Set<String> outputStatements = new HashSet<>();
                outputStatements.add("write");
 
                String [] fnNames = getQualifiedNames (ctx.name.getText());
@@ -565,7 +565,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
                functCall.setFunctionName(functionName);
                functCall.setFunctionNamespace(namespace);
 
-               final ArrayList<DataIdentifier> targetList = new 
ArrayList<DataIdentifier>();
+               final ArrayList<DataIdentifier> targetList = new ArrayList<>();
                for(DataIdentifierContext dataCtx : ctx.targetList) {
                        if(dataCtx.dataInfo.expr instanceof DataIdentifier) {
                                targetList.add((DataIdentifier) 
dataCtx.dataInfo.expr);
@@ -599,7 +599,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
        // -----------------------------------------------------------------
 
        private StatementBlock getStatementBlock(Statement current) {
-               return DMLParserWrapper.getStatementBlock(current);
+               return getStatementBlock(current);
        }
 
        @Override
@@ -673,7 +673,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
                ParForStatement parForStmt = new ParForStatement();
 
                DataIdentifier iterVar = new 
DataIdentifier(ctx.iterVar.getText());
-               HashMap<String, String> parForParamValues = new HashMap<String, 
String>();
+               HashMap<String, String> parForParamValues = new HashMap<>();
                if(ctx.parForParams != null && ctx.parForParams.size() > 0) {
                        for(StrictParameterizedExpressionContext parForParamCtx 
: ctx.parForParams) {
                                String paramVal = 
parForParamCtx.paramVal.getText();
@@ -700,7 +700,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
        }
 
        private ArrayList<DataIdentifier> 
getFunctionParameters(List<TypedArgNoAssignContext> ctx) {
-               ArrayList<DataIdentifier> retVal = new 
ArrayList<DataIdentifier>();
+               ArrayList<DataIdentifier> retVal = new ArrayList<>();
                for(TypedArgNoAssignContext paramCtx : ctx) {
                        DataIdentifier dataId = new 
DataIdentifier(paramCtx.paramName.getText());
                        String dataType = null;
@@ -792,7 +792,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
                if(ctx.body.size() > 0) {
                        // handle function body
                        // Create arraylist of one statement block
-                       ArrayList<StatementBlock> body = new 
ArrayList<StatementBlock>();
+                       ArrayList<StatementBlock> body = new ArrayList<>();
                        for(StatementContext stmtCtx : ctx.body) {
                                body.add(getStatementBlock(stmtCtx.info.stmt));
                        }
@@ -824,7 +824,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
                functionStmt.setName(ctx.name.getText());
 
                // set other parameters
-               HashMap<String, String> otherParams = new 
HashMap<String,String>();
+               HashMap<String, String> otherParams = new HashMap<>();
                boolean atleastOneClassName = false;
                for(StrictParameterizedKeyValueStringContext otherParamCtx : 
ctx.otherParams){
                        String paramName = otherParamCtx.paramName.getText();
@@ -1042,7 +1042,7 @@ public class DmlSyntacticValidator extends 
CommonSyntacticValidator implements D
 
        @Override
        public void exitMultiIdExpression(MultiIdExpressionContext ctx) {
-               ArrayList<Expression> values = new ArrayList<Expression>();
+               ArrayList<Expression> values = new ArrayList<>();
                for(ExpressionContext elem : ctx.targetList) {
                        values.add(elem.info.expr);
                }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/pydml/PydmlPreprocessor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/pydml/PydmlPreprocessor.java 
b/src/main/java/org/apache/sysml/parser/pydml/PydmlPreprocessor.java
index d72f544..0f6f640 100644
--- a/src/main/java/org/apache/sysml/parser/pydml/PydmlPreprocessor.java
+++ b/src/main/java/org/apache/sysml/parser/pydml/PydmlPreprocessor.java
@@ -87,7 +87,7 @@ public class PydmlPreprocessor implements PydmlListener {
 
        public PydmlPreprocessor(CustomErrorListener errorListener) {
                this.errorListener = errorListener;
-               functions = new HashSet<String>();
+               functions = new HashSet<>();
        }
 
        public Set<String> getFunctionDefs() {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java 
b/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
index 8b75309..7385613 100644
--- a/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
+++ b/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java
@@ -131,7 +131,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
        @Override public String falseStringLiteral() { return "False"; }
 
        protected ArrayList<ParameterExpression> 
getParameterExpressionList(List<ParameterizedExpressionContext> paramExprs) {
-               ArrayList<ParameterExpression> retVal = new 
ArrayList<ParameterExpression>();
+               ArrayList<ParameterExpression> retVal = new ArrayList<>();
                for(ParameterizedExpressionContext ctx : paramExprs) {
                        String paramName = null;
                        if(ctx.paramName != null && ctx.paramName.getText() != 
null && !ctx.paramName.getText().isEmpty()) {
@@ -336,10 +336,10 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                setFileLineColumn(ctx.dataInfo.expr, ctx);
 
                try {
-                       ArrayList< ArrayList<Expression> > exprList = new 
ArrayList< ArrayList<Expression> >();
+                       ArrayList< ArrayList<Expression> > exprList = new 
ArrayList<>();
 
-                       ArrayList<Expression> rowIndices = new 
ArrayList<Expression>();
-                       ArrayList<Expression> colIndices = new 
ArrayList<Expression>();
+                       ArrayList<Expression> rowIndices = new ArrayList<>();
+                       ArrayList<Expression> colIndices = new ArrayList<>();
 
 
                        if(!isRowLower && !isRowUpper) {
@@ -515,7 +515,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                                return;
                        }
                        else {
-                               ctx.info.namespaces = new HashMap<String, 
DMLProgram>();
+                               ctx.info.namespaces = new HashMap<>();
                                
ctx.info.namespaces.put(getQualifiedNamespace(namespace), prog);
                                ctx.info.stmt = new ImportStatement();
                                ((ImportStatement) 
ctx.info.stmt).setCompletePath(filePath);
@@ -528,7 +528,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                        // Skip redundant parsing (to prevent potential 
infinite recursion) and
                        // create empty program for this context to allow 
processing to continue.
                        prog = new DMLProgram();
-                       ctx.info.namespaces = new HashMap<String, DMLProgram>();
+                       ctx.info.namespaces = new HashMap<>();
                        
ctx.info.namespaces.put(getQualifiedNamespace(namespace), prog);
                        ctx.info.stmt = new ImportStatement();
                        ((ImportStatement) 
ctx.info.stmt).setCompletePath(filePath);
@@ -679,7 +679,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                        }
                        else 
if(!(namespace.equals(DMLProgram.DEFAULT_NAMESPACE)) && paramExpression.size() 
== 0) {
                                // x.sum() => sum(x)
-                               paramExpression = new 
ArrayList<ParameterExpression>();
+                               paramExpression = new ArrayList<>();
                                paramExpression.add(new 
ParameterExpression(null, new DataIdentifier(namespace)));
                                // otherwise same function name
                                if(functionName.equals("avg")) {
@@ -705,7 +705,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                                        return null;
                                }
                                else {
-                                       ArrayList<ParameterExpression> temp = 
new ArrayList<ParameterExpression>();
+                                       ArrayList<ParameterExpression> temp = 
new ArrayList<>();
                                        temp.add(paramExpression.get(0));
                                        paramExpression = temp;
                                        functionName = 
getPythonAggFunctionNames(functionName, axis);
@@ -723,7 +723,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                                         return null;
                                 }
                                 else {
-                                        paramExpression = new 
ArrayList<ParameterExpression>();
+                                        paramExpression = new ArrayList<>();
                                         paramExpression.add(new 
ParameterExpression(null, new DataIdentifier(namespace)));
                                         functionName = 
getPythonAggFunctionNames(functionName, axis);
                                         if(functionName.equals("Not 
Supported")) {
@@ -773,7 +773,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                                notifyErrorListeners("The builtin function \'" 
+ functionName + "\' accepts only 1 argument (0 or 1)", fnName);
                                return null;
                        }
-                       paramExpression = new ArrayList<ParameterExpression>();
+                       paramExpression = new ArrayList<>();
                        paramExpression.add(new ParameterExpression(null, new 
DataIdentifier(namespace)));
                        namespace = DMLProgram.DEFAULT_NAMESPACE;
                        if(axis == 0) {
@@ -864,7 +864,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                                initializerString = 
initializerString.replaceAll(";", " ");
                                initializerString = 
initializerString.replaceAll("\\[", "");
                                initializerString = 
initializerString.replaceAll("\\]", "");
-                               paramExpression = new 
ArrayList<ParameterExpression>();
+                               paramExpression = new ArrayList<>();
                                paramExpression.add(new 
ParameterExpression(null, new StringIdentifier(ctx, initializerString, 
currentFile)));
                                paramExpression.add(new 
ParameterExpression("rows", new IntIdentifier(ctx, rows, currentFile)));
                                paramExpression.add(new 
ParameterExpression("cols", new IntIdentifier(ctx, cols, currentFile)));
@@ -914,7 +914,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                        paramExpression.get(0).setName("rows");
                        paramExpression.get(1).setName("cols");
 
-                       ArrayList<ParameterExpression> temp = new 
ArrayList<ParameterExpression>();
+                       ArrayList<ParameterExpression> temp = new ArrayList<>();
                        temp.add(new ParameterExpression(null, new 
DataIdentifier(namespace)));
                        temp.add(paramExpression.get(0));
                        temp.add(paramExpression.get(1));
@@ -1089,11 +1089,11 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
        @Override
        public void 
exitFunctionCallAssignmentStatement(FunctionCallAssignmentStatementContext ctx) 
{
 
-               Set<String> printStatements = new  HashSet<String>();
+               Set<String> printStatements = new  HashSet<>();
                printStatements.add("print");
                printStatements.add("stop");
 
-               Set<String> outputStatements = new HashSet<String>();
+               Set<String> outputStatements = new HashSet<>();
                outputStatements.add("save");
 
                String[] fnNames = getQualifiedNames(ctx.name.getText());
@@ -1183,7 +1183,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                functCall.setFunctionName(functionName);
                functCall.setFunctionNamespace(namespace);
 
-               final ArrayList<DataIdentifier> targetList = new 
ArrayList<DataIdentifier>();
+               final ArrayList<DataIdentifier> targetList = new ArrayList<>();
                for(DataIdentifierContext dataCtx : ctx.targetList) {
                        if(dataCtx.dataInfo.expr instanceof DataIdentifier) {
                                targetList.add((DataIdentifier) 
dataCtx.dataInfo.expr);
@@ -1217,7 +1217,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
        // -----------------------------------------------------------------
 
        private StatementBlock getStatementBlock(Statement current) {
-               return PyDMLParserWrapper.getStatementBlock(current);
+               return getStatementBlock(current);
        }
 
        @Override
@@ -1319,7 +1319,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                ParForStatement parForStmt = new ParForStatement();
 
                DataIdentifier iterVar = new 
DataIdentifier(ctx.iterVar.getText());
-               HashMap<String, String> parForParamValues = new HashMap<String, 
String>();
+               HashMap<String, String> parForParamValues = new HashMap<>();
                if(ctx.parForParams != null && ctx.parForParams.size() > 0) {
                        for(StrictParameterizedExpressionContext parForParamCtx 
: ctx.parForParams) {
                                String paramVal = 
parForParamCtx.paramVal.getText();
@@ -1371,7 +1371,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
        // -----------------------------------------------------------------
 
        private ArrayList<DataIdentifier> 
getFunctionParameters(List<TypedArgNoAssignContext> ctx) {
-               ArrayList<DataIdentifier> retVal = new 
ArrayList<DataIdentifier>();
+               ArrayList<DataIdentifier> retVal = new ArrayList<>();
                for(TypedArgNoAssignContext paramCtx : ctx) {
                        DataIdentifier dataId = new 
DataIdentifier(paramCtx.paramName.getText());
                        String dataType = null;
@@ -1433,7 +1433,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                if(ctx.body.size() > 0) {
                        // handle function body
                        // Create arraylist of one statement block
-                       ArrayList<StatementBlock> body = new 
ArrayList<StatementBlock>();
+                       ArrayList<StatementBlock> body = new ArrayList<>();
                        for(StatementContext stmtCtx : ctx.body) {
                                body.add(getStatementBlock(stmtCtx.info.stmt));
                        }
@@ -1465,7 +1465,7 @@ public class PydmlSyntacticValidator extends 
CommonSyntacticValidator implements
                functionStmt.setName(ctx.name.getText());
                
                // set other parameters
-               HashMap<String, String> otherParams = new 
HashMap<String,String>();
+               HashMap<String, String> otherParams = new HashMap<>();
                boolean atleastOneClassName = false;
                for(StrictParameterizedKeyValueStringContext otherParamCtx : 
ctx.otherParams){
                        String paramName = otherParamCtx.paramName.getText();

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/codegen/CodegenUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/codegen/CodegenUtils.java 
b/src/main/java/org/apache/sysml/runtime/codegen/CodegenUtils.java
index ba5cebe..b4acb71 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/CodegenUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/CodegenUtils.java
@@ -56,10 +56,10 @@ public class CodegenUtils
        private static final Log LOG = 
LogFactory.getLog(CodegenUtils.class.getName());
        
        //cache to reuse compiled and loaded classes 
-       private static ConcurrentHashMap<String, Class<?>> _cache = new 
ConcurrentHashMap<String,Class<?>>();
+       private static ConcurrentHashMap<String, Class<?>> _cache = new 
ConcurrentHashMap<>();
        
        //janino-specific map of source code transfer/recompile on-demand
-       private static ConcurrentHashMap<String, String> _src = new 
ConcurrentHashMap<String,String>();
+       private static ConcurrentHashMap<String, String> _src = new 
ConcurrentHashMap<>();
        
        //javac-specific working directory for src/class files
        private static String _workingDir = null;
@@ -200,7 +200,7 @@ public class CodegenUtils
                                throw new RuntimeException("Unable to obtain 
system java compiler.");
                
                        //prepare file manager
-                       DiagnosticCollector<JavaFileObject> diagnostics = new 
DiagnosticCollector<JavaFileObject>(); 
+                       DiagnosticCollector<JavaFileObject> diagnostics = new 
DiagnosticCollector<>(); 
                        StandardJavaFileManager fileManager = 
compiler.getStandardFileManager(diagnostics, null, null);
                        
                        //prepare input source code

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java 
b/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java
index 59308d4..773badd 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java
@@ -147,7 +147,7 @@ public abstract class SpoofCellwise extends SpoofOperator 
implements Serializabl
                {
                        try {
                                ExecutorService pool = 
Executors.newFixedThreadPool( k );
-                               ArrayList<ParAggTask> tasks = new 
ArrayList<ParAggTask>();
+                               ArrayList<ParAggTask> tasks = new ArrayList<>();
                                int nk = (a instanceof CompressedMatrixBlock) ? 
k :
                                        
UtilFunctions.roundToNext(Math.min(8*k,m/32), k);
                                int blklen = (int)(Math.ceil((double)m/nk));
@@ -243,7 +243,7 @@ public abstract class SpoofCellwise extends SpoofOperator 
implements Serializabl
                {
                        try {
                                ExecutorService pool = 
Executors.newFixedThreadPool( k );
-                               ArrayList<ParExecTask> tasks = new 
ArrayList<ParExecTask>();
+                               ArrayList<ParExecTask> tasks = new 
ArrayList<>();
                                int nk = 
UtilFunctions.roundToNext(Math.min(8*k,m/32), k);
                                int blklen = (int)(Math.ceil((double)m/nk));
                                if( a instanceof CompressedMatrixBlock )

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/codegen/SpoofMultiAggregate.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/codegen/SpoofMultiAggregate.java 
b/src/main/java/org/apache/sysml/runtime/codegen/SpoofMultiAggregate.java
index 3f45d62..64dd5c5 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofMultiAggregate.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofMultiAggregate.java
@@ -117,7 +117,7 @@ public abstract class SpoofMultiAggregate extends 
SpoofOperator implements Seria
                {
                        try {
                                ExecutorService pool = 
Executors.newFixedThreadPool( k );
-                               ArrayList<ParAggTask> tasks = new 
ArrayList<ParAggTask>();
+                               ArrayList<ParAggTask> tasks = new ArrayList<>();
                                int nk = 
UtilFunctions.roundToNext(Math.min(8*k,m/32), k);
                                int blklen = (int)(Math.ceil((double)m/nk));
                                for( int i=0; i<nk & i*blklen<m; i++ )
@@ -128,7 +128,7 @@ public abstract class SpoofMultiAggregate extends 
SpoofOperator implements Seria
                                pool.shutdown();
                        
                                //aggregate partial results
-                               ArrayList<double[]> pret = new 
ArrayList<double[]>();
+                               ArrayList<double[]> pret = new ArrayList<>();
                                for( Future<double[]> task : taskret )
                                        pret.add(task.get());
                                aggregatePartialResults(c, pret);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java 
b/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
index c25a522..729d512 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java
@@ -130,7 +130,7 @@ public abstract class SpoofOuterProduct extends 
SpoofOperator
                try 
                {
                        ExecutorService pool = Executors.newFixedThreadPool(k);
-                       ArrayList<ParOuterProdAggTask> tasks = new 
ArrayList<ParOuterProdAggTask>();
+                       ArrayList<ParOuterProdAggTask> tasks = new 
ArrayList<>();
                        int numThreads2 = getPreferredNumberOfTasks(m, n, nnz, 
k, numThreads);
                        int blklen = (int)(Math.ceil((double)m/numThreads2));
                        for( int i=0; i<numThreads2 & i*blklen<m; i++ )
@@ -280,7 +280,7 @@ public abstract class SpoofOuterProduct extends 
SpoofOperator
                try 
                {                       
                        ExecutorService pool = 
Executors.newFixedThreadPool(numThreads);
-                       ArrayList<ParExecTask> tasks = new 
ArrayList<ParExecTask>();
+                       ArrayList<ParExecTask> tasks = new ArrayList<>();
                        //create tasks (for wdivmm-left, parallelization over 
columns;
                        //for wdivmm-right, parallelization over rows; both 
ensure disjoint results)
                        

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java 
b/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java
index 679ac78..88aafd2 100644
--- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java
+++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java
@@ -208,7 +208,7 @@ public abstract class SpoofRowwise extends SpoofOperator
                {
                        if( _type.isColumnAgg() || _type == RowType.FULL_AGG ) {
                                //execute tasks
-                               ArrayList<ParColAggTask> tasks = new 
ArrayList<ParColAggTask>();
+                               ArrayList<ParColAggTask> tasks = new 
ArrayList<>();
                                for( int i=0; i<nk & i*blklen<m; i++ )
                                        tasks.add(new ParColAggTask(a, b, 
scalars, n, n2, i*blklen, Math.min((i+1)*blklen, m)));
                                List<Future<double[]>> taskret = 
pool.invokeAll(tasks); 
@@ -220,7 +220,7 @@ public abstract class SpoofRowwise extends SpoofOperator
                        }
                        else {
                                //execute tasks
-                               ArrayList<ParExecTask> tasks = new 
ArrayList<ParExecTask>();
+                               ArrayList<ParExecTask> tasks = new 
ArrayList<>();
                                for( int i=0; i<nk & i*blklen<m; i++ )
                                        tasks.add(new ParExecTask(a, b, out, 
scalars, n, n2, i*blklen, Math.min((i+1)*blklen, m)));
                                List<Future<Long>> taskret = 
pool.invokeAll(tasks);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java 
b/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java
index f93d8b3..0d6ac75 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/BitmapEncoder.java
@@ -106,7 +106,7 @@ public class BitmapEncoder
                        return new char[0]; //empty list
 
                // Use an ArrayList for correctness at the expense of temp space
-               ArrayList<Character> buf = new ArrayList<Character>();
+               ArrayList<Character> buf = new ArrayList<>();
 
                // 1 + (position of last 1 in the previous run of 1's)
                // We add 1 because runs may be of length zero.

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/ColGroupOffset.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/ColGroupOffset.java 
b/src/main/java/org/apache/sysml/runtime/compress/ColGroupOffset.java
index 98bbdb8..f8b0b6b 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ColGroupOffset.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ColGroupOffset.java
@@ -551,8 +551,7 @@ public abstract class ColGroupOffset extends ColGroupValue
                //iterator state
                private final Iterator<Integer>[] _iters;
                private final IJV _ret = new IJV(); 
-               private final HashMap<Integer,Integer> _ixbuff = 
-                       new HashMap<Integer,Integer>(); //<rowid-value>
+               private final HashMap<Integer,Integer> _ixbuff = new 
HashMap<>(); //<rowid-value>
                private int _rpos;
                private int _cpos;
                private int _vpos;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java 
b/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java
index 6440c5c..169ee4b 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ColGroupRLE.java
@@ -781,8 +781,7 @@ public class ColGroupRLE extends ColGroupOffset
                        apos = bix;
                        astart = start;
                }
-               
-               return new Pair<Integer,Integer>(apos, astart);
+               return new Pair<>(apos, astart);
        }
        
        @Override

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/ColGroupValue.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/ColGroupValue.java 
b/src/main/java/org/apache/sysml/runtime/compress/ColGroupValue.java
index 63185f2..12bce84 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/ColGroupValue.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/ColGroupValue.java
@@ -50,7 +50,7 @@ public abstract class ColGroupValue extends ColGroup
        
        //thread-local pairs of reusable temporary vectors for positions and 
values
        private static ThreadLocal<Pair<int[], double[]>> memPool = new 
ThreadLocal<Pair<int[], double[]>>() {
-               @Override protected Pair<int[], double[]> initialValue() { 
return new Pair<int[], double[]>(); }
+               @Override protected Pair<int[], double[]> initialValue() { 
return new Pair<>(); }
        };
        
        /** Distinct values associated with individual bitmaps. */
@@ -375,7 +375,7 @@ public abstract class ColGroupValue extends ColGroup
        //dynamic memory management
        
        public static void setupThreadLocalMemory(int len) {
-               Pair<int[], double[]> p = new Pair<int[], double[]>();
+               Pair<int[], double[]> p = new Pair<>();
                p.setKey(new int[len]);
                p.setValue(new double[len]);
                memPool.set(p);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java 
b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
index 57cc7bb..4b0502d 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
@@ -195,7 +195,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
        }
 
        private void allocateColGroupList() {
-               _colGroups = new ArrayList<ColGroup>();
+               _colGroups = new ArrayList<>();
        }
        
        @Override
@@ -259,9 +259,9 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
 
                // PHASE 1: Classify columns by compression type
                // We start by determining which columns are amenable to 
compression
-               List<Integer> colsC = new ArrayList<Integer>();
-               List<Integer> colsUC = new ArrayList<Integer>();
-               HashMap<Integer, Double> compRatios = new HashMap<Integer, 
Double>();
+               List<Integer> colsC = new ArrayList<>();
+               List<Integer> colsUC = new ArrayList<>();
+               HashMap<Integer, Double> compRatios = new HashMap<>();
                
                // Classify columns according to ratio (size uncompressed / 
size compressed), 
                // where a column is compressible if ratio > 1.
@@ -358,7 +358,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                // Phase 5: Cleanup
                // The remaining columns are stored uncompressed as one big 
column group
                if( !remainingCols.isEmpty() ) {
-                       ArrayList<Integer> list = new 
ArrayList<Integer>(remainingCols);
+                       ArrayList<Integer> list = new 
ArrayList<>(remainingCols);
                        ColGroupUncompressed ucgroup = new 
ColGroupUncompressed(list, rawblock);
                        _colGroups.add(ucgroup);
                }
@@ -416,11 +416,11 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
        {       
                try {
                        ExecutorService pool = Executors.newFixedThreadPool( k 
);
-                       ArrayList<SizeEstimTask> tasks = new 
ArrayList<SizeEstimTask>();
+                       ArrayList<SizeEstimTask> tasks = new ArrayList<>();
                        for( int col=0; col<clen; col++ )
                                tasks.add(new SizeEstimTask(estim, col));
                        List<Future<CompressedSizeInfo>> rtask = 
pool.invokeAll(tasks); 
-                       ArrayList<CompressedSizeInfo> ret = new 
ArrayList<CompressedSizeInfo>();
+                       ArrayList<CompressedSizeInfo> ret = new ArrayList<>();
                        for( Future<CompressedSizeInfo> lrtask : rtask )
                                ret.add(lrtask.get());
                        pool.shutdown();
@@ -445,11 +445,11 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
        {
                try {
                        ExecutorService pool = Executors.newFixedThreadPool( k 
);
-                       ArrayList<CompressTask> tasks = new 
ArrayList<CompressTask>();
+                       ArrayList<CompressTask> tasks = new ArrayList<>();
                        for( int[] colIndexes : groups )
                                tasks.add(new CompressTask(in, estim, 
compRatios, rlen, colIndexes, denseEst));
-                       List<Future<ColGroup>> rtask = pool.invokeAll(tasks);   
-                       ArrayList<ColGroup> ret = new ArrayList<ColGroup>();
+                       List<Future<ColGroup>> rtask = pool.invokeAll(tasks);
+                       ArrayList<ColGroup> ret = new ArrayList<>();
                        for( Future<ColGroup> lrtask : rtask )
                                ret.add(lrtask.get());
                        pool.shutdown();
@@ -486,7 +486,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                        if (compRatioPQ == null) {
                                // first modification
                                allGroupIndices = colIndexes.clone();
-                               compRatioPQ = new 
PriorityQueue<CompressedMatrixBlock.CompressedColumn>();
+                               compRatioPQ = new PriorityQueue<>();
                                for (int i = 0; i < colIndexes.length; i++)
                                        compRatioPQ.add(new CompressedColumn(i, 
compRatios.get(colIndexes[i])));
                        }
@@ -549,7 +549,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                        return null;
                
                //create joint dictionary
-               HashSet<Double> tmp = new HashSet<Double>();
+               HashSet<Double> tmp = new HashSet<>();
                int numQual = 0;
                for( ColGroup grp : colGroups )
                        if( grp.getNumCols()==1 && grp instanceof ColGroupDDC1 
) {
@@ -654,7 +654,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                        int rlen = getNumRows();
                        int blklen = BitmapEncoder.getAlignedBlocksize(
                                (int)(Math.ceil((double)rlen/k)));
-                       ArrayList<DecompressTask> tasks = new 
ArrayList<DecompressTask>();
+                       ArrayList<DecompressTask> tasks = new ArrayList<>();
                        for( int i=0; i<k & i*blklen<getNumRows(); i++ )
                                tasks.add(new DecompressTask(_colGroups, ret, 
i*blklen, Math.min((i+1)*blklen,rlen)));
                        List<Future<Object>> rtasks = pool.invokeAll(tasks);
@@ -796,7 +796,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                _sharedDDC1Dict = in.readBoolean();
                int ncolGroups = in.readInt();
                
-               _colGroups = new ArrayList<ColGroup>(ncolGroups);
+               _colGroups = new ArrayList<>(ncolGroups);
                double[] sharedDict = null;
                for( int i=0; i<ncolGroups; i++ ) 
                {
@@ -932,7 +932,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                
                // Apply the operation recursively to each of the column groups.
                // Most implementations will only modify metadata.
-               ArrayList<ColGroup> newColGroups = new ArrayList<ColGroup>();
+               ArrayList<ColGroup> newColGroups = new ArrayList<>();
                for (ColGroup grp : _colGroups) {
                        newColGroups.add(grp.scalarOperation(sop));
                }
@@ -1190,7 +1190,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                                         ret = 
(MatrixBlock)uc.getData().aggregateUnaryOperations(op, ret, blockingFactorRow, 
blockingFactorCol, indexesIn, false);                                     
                                //compute all compressed column groups
                                ExecutorService pool = 
Executors.newFixedThreadPool( op.getNumThreads() );
-                               ArrayList<UnaryAggregateTask> tasks = new 
ArrayList<UnaryAggregateTask>();
+                               ArrayList<UnaryAggregateTask> tasks = new 
ArrayList<>();
                                if( op.indexFn instanceof ReduceCol && 
grpParts.length > 0 ) {
                                        int blklen = 
BitmapEncoder.getAlignedBlocksize(
                                                
(int)(Math.ceil((double)rlen/op.getNumThreads())));
@@ -1280,7 +1280,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                        
                //process cache-conscious DDC1 groups (adds to output)
                if( cacheDDC1 ) {
-                       ArrayList<ColGroupDDC1> tmp = new 
ArrayList<ColGroupDDC1>();
+                       ArrayList<ColGroupDDC1> tmp = new ArrayList<>();
                        for( ColGroup grp : groups )
                                if( grp instanceof ColGroupDDC1 )
                                        tmp.add((ColGroupDDC1)grp);
@@ -1373,7 +1373,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                        //compute matrix mult
                        try {
                                ExecutorService pool = 
Executors.newFixedThreadPool( k );
-                               ArrayList<MatrixMultTransposeTask> tasks = new 
ArrayList<MatrixMultTransposeTask>();
+                               ArrayList<MatrixMultTransposeTask> tasks = new 
ArrayList<>();
                                int numgrp = _colGroups.size();
                                int blklen = 
(int)(Math.ceil((double)numgrp/(2*k)));
                                for( int i=0; i<2*k & i*blklen<clen; i++ )
@@ -1448,7 +1448,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                        int rlen = getNumRows();
                        int blklen = BitmapEncoder.getAlignedBlocksize(
                                (int)(Math.ceil((double)rlen/k)));
-                       ArrayList<RightMatrixMultTask> tasks = new 
ArrayList<RightMatrixMultTask>();
+                       ArrayList<RightMatrixMultTask> tasks = new 
ArrayList<>();
                        for( int i=0; i<k & i*blklen<getNumRows(); i++ )
                                tasks.add(new RightMatrixMultTask(_colGroups, 
vector, result, i*blklen, Math.min((i+1)*blklen,rlen)));
                        List<Future<Long>> ret = pool.invokeAll(tasks); 
@@ -1482,7 +1482,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                
                //process cache-conscious DDC1 groups (adds to output)
                if( cacheDDC1 ) {
-                       ArrayList<ColGroupDDC1> tmp = new 
ArrayList<ColGroupDDC1>();
+                       ArrayList<ColGroupDDC1> tmp = new ArrayList<>();
                        for( ColGroup grp : groups )
                                if( grp instanceof ColGroupDDC1 )
                                        tmp.add((ColGroupDDC1)grp);
@@ -1593,7 +1593,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                        //compute remaining compressed column groups in parallel
                        ExecutorService pool = Executors.newFixedThreadPool( 
Math.min(colGroups.size()-((uc!=null)?1:0), k) );
                        ArrayList<ColGroup>[] grpParts = 
createStaticTaskPartitioning(4*k, false);
-                       ArrayList<LeftMatrixMultTask> tasks = new 
ArrayList<LeftMatrixMultTask>();
+                       ArrayList<LeftMatrixMultTask> tasks = new ArrayList<>();
                        for( ArrayList<ColGroup> groups : grpParts )
                                tasks.add(new LeftMatrixMultTask(groups, 
rowVector, result));
                        List<Future<Object>> ret = pool.invokeAll(tasks);       
@@ -1678,7 +1678,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
                int pos = 0;
                for( ColGroup grp : _colGroups ){
                        if( grpParts[pos]==null )
-                               grpParts[pos] = new ArrayList<ColGroup>();
+                               grpParts[pos] = new ArrayList<>();
                        if( inclUncompressed || !(grp instanceof 
ColGroupUncompressed) ) {
                                grpParts[pos].add(grp);
                                pos = (pos==numTasks-1) ? 0 : pos+1;
@@ -2323,7 +2323,7 @@ public class CompressedMatrixBlock extends MatrixBlock 
implements Externalizable
        }
        
        private HashSet<Integer> seq(int from, int to, int incr) {
-               HashSet<Integer> ret = new HashSet<Integer>();
+               HashSet<Integer> ret = new HashSet<>();
                for (int i = from; i <= to; i+=incr)
                        ret.add(i);
                return ret;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
 
b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
index 8d2682f..9a28edb 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDense.java
@@ -43,7 +43,7 @@ public class ReaderColumnSelectionDense extends 
ReaderColumnSelection
        public DblArray nextRow() {
                if( _skipZeros) {
                        while ((nonZeroReturn = getNextRow()) != null
-                               && DblArray.isZero(nonZeroReturn)); 
+                               && DblArray.isZero(nonZeroReturn)){} 
                        return nonZeroReturn;
                } else {
                        return getNextRow();

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
 
b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
index f60b3a7..6118ad8 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionDenseSample.java
@@ -51,7 +51,7 @@ public class ReaderColumnSelectionDenseSample extends 
ReaderColumnSelection
        public DblArray nextRow() {
                if (_skipZeros) {
                        while ((nonZeroReturn = getNextRow()) != null
-                                       && DblArray.isZero(nonZeroReturn));
+                                       && DblArray.isZero(nonZeroReturn)){}
                        return nonZeroReturn;
                } else {
                        return getNextRow();

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
 
b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
index 60d0532..00e073b 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/ReaderColumnSelectionSparse.java
@@ -69,7 +69,7 @@ public class ReaderColumnSelectionSparse extends 
ReaderColumnSelection
        public DblArray nextRow() {
                if(_skipZeros) {
                        while ((nonZeroReturn = getNextRow()) != null
-                               && nonZeroReturn == ZERO_DBL_ARRAY);
+                               && nonZeroReturn == ZERO_DBL_ARRAY){}
                        return nonZeroReturn;
                } else {
                        return getNextRow();

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
 
b/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
index 0fb6abe..2bd6ce4 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
@@ -73,8 +73,8 @@ public class ColumnGroupPartitionerBinPacking extends 
ColumnGroupPartitioner
         */
        private List<List<Integer>> packFirstFit(int[] items, double[] 
itemWeights) 
        {
-               List<List<Integer>> bins = new ArrayList<List<Integer>>();
-               List<Double> binWeights = new ArrayList<Double>(); 
+               List<List<Integer>> bins = new ArrayList<>();
+               List<Double> binWeights = new ArrayList<>();
                
                for( int i = 0; i < items.length; i++ ) {
                        //add to existing bin
@@ -90,7 +90,7 @@ public class ColumnGroupPartitionerBinPacking extends 
ColumnGroupPartitioner
                                
                        //create new bin at end of list
                        if( !assigned ) {
-                               bins.add(new 
ArrayList<Integer>(Arrays.asList(items[i])));
+                               bins.add(new 
ArrayList<>(Arrays.asList(items[i])));
                                binWeights.add(BIN_CAPACITY-itemWeights[i]);
                        }               
                }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerStatic.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerStatic.java
 
b/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerStatic.java
index e2f00f3..d830133 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerStatic.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerStatic.java
@@ -36,12 +36,12 @@ public class ColumnGroupPartitionerStatic extends 
ColumnGroupPartitioner
        @Override
        public List<List<Integer>> partitionColumns(List<Integer> groupCols, 
HashMap<Integer, GroupableColInfo> groupColsInfo) 
        {
-               List<List<Integer>> ret = new ArrayList<List<Integer>>();
+               List<List<Integer>> ret = new ArrayList<>();
                int numParts = 
(int)Math.ceil((double)groupCols.size()/MAX_COL_PER_GROUP);
                int partSize = 
(int)Math.ceil((double)groupCols.size()/numParts);
                
                for( int i=0, pos=0; i<numParts; i++, pos+=partSize ) {
-                       List<Integer> tmp = new ArrayList<Integer>();
+                       List<Integer> tmp = new ArrayList<>();
                        for( int j=0; j<partSize && pos+j<groupCols.size(); j++ 
)
                                tmp.add(groupCols.get(pos+j));
                        ret.add(tmp);

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningCoCoder.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningCoCoder.java 
b/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningCoCoder.java
index 778f221..298571d 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningCoCoder.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningCoCoder.java
@@ -53,8 +53,8 @@ public class PlanningCoCoder
                // filtering out non-groupable columns as singleton groups
                // weight is the ratio of its cardinality to the number of rows 
                int numCols = cols.size();
-               List<Integer> groupCols = new ArrayList<Integer>();
-               HashMap<Integer, GroupableColInfo> groupColsInfo = new 
HashMap<Integer, GroupableColInfo>();
+               List<Integer> groupCols = new ArrayList<>();
+               HashMap<Integer, GroupableColInfo> groupColsInfo = new 
HashMap<>();
                for (int i = 0; i < numCols; i++) {
                        int colIx = cols.get(i);
                        double cardinality = colInfos[colIx].getEstCard();
@@ -75,10 +75,10 @@ public class PlanningCoCoder
 
        private static List<int[]> 
getCocodingGroupsBruteForce(List<List<Integer>> bins, HashMap<Integer, 
GroupableColInfo> groupColsInfo, CompressedSizeEstimator estim, int rlen) 
        {
-               List<int[]> retGroups = new ArrayList<int[]>();         
+               List<int[]> retGroups = new ArrayList<>();
                for (List<Integer> bin : bins) {
                        // building an array of singleton CoCodingGroup
-                       ArrayList<PlanningCoCodingGroup> sgroups = new 
ArrayList<PlanningCoCodingGroup>();
+                       ArrayList<PlanningCoCodingGroup> sgroups = new 
ArrayList<>();
                        for (Integer col : bin)
                                sgroups.add(new PlanningCoCodingGroup(col, 
groupColsInfo.get(col)));
                        // brute force co-coding        
@@ -94,13 +94,13 @@ public class PlanningCoCoder
        private static List<int[]> 
getCocodingGroupsBruteForce(List<List<Integer>> bins, HashMap<Integer, 
GroupableColInfo> groupColsInfo, CompressedSizeEstimator estim, int rlen, int 
k) 
                throws DMLRuntimeException 
        {
-               List<int[]> retGroups = new ArrayList<int[]>();         
+               List<int[]> retGroups = new ArrayList<>();
                try {
                        ExecutorService pool = Executors.newFixedThreadPool( k 
);
-                       ArrayList<CocodeTask> tasks = new 
ArrayList<CocodeTask>();
+                       ArrayList<CocodeTask> tasks = new ArrayList<>();
                        for (List<Integer> bin : bins) {
                                // building an array of singleton CoCodingGroup
-                               ArrayList<PlanningCoCodingGroup> sgroups = new 
ArrayList<PlanningCoCodingGroup>();
+                               ArrayList<PlanningCoCodingGroup> sgroups = new 
ArrayList<>();
                                for (Integer col : bin)
                                        sgroups.add(new 
PlanningCoCodingGroup(col, groupColsInfo.get(col)));
                                tasks.add(new CocodeTask(estim, sgroups, rlen));
@@ -136,7 +136,7 @@ public class PlanningCoCoder
                        LOG.trace("Cocoding: process "+singletonGroups.length);
                
                List<PlanningCoCodingGroup> workset = 
-                               new 
ArrayList<PlanningCoCodingGroup>(Arrays.asList(singletonGroups));
+                       new ArrayList<>(Arrays.asList(singletonGroups));
                
                //establish memo table for extracted column groups
                PlanningMemoTable memo = new PlanningMemoTable();

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningMemoTable.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningMemoTable.java 
b/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningMemoTable.java
index e85e14e..f851e32 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningMemoTable.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/cocode/PlanningMemoTable.java
@@ -29,7 +29,7 @@ import 
org.apache.sysml.runtime.compress.estim.CompressedSizeEstimator;
 
 public class PlanningMemoTable 
 {
-       private HashMap<ColIndexes,PlanningCoCodingGroup> _memo = new 
HashMap<ColIndexes,PlanningCoCodingGroup>();
+       private HashMap<ColIndexes,PlanningCoCodingGroup> _memo = new 
HashMap<>();
        private double _optChangeInSize = 0; 
        private int[] _stats = new int[3];
        

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
 
b/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
index 92461d4..2492c0b 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/estim/CompressedSizeEstimatorSample.java
@@ -67,7 +67,7 @@ public class CompressedSizeEstimatorSample extends 
CompressedSizeEstimator
                }
                
                //establish estimator-local cache for numeric solve
-               _solveCache = new HashMap<Integer, Double>();
+               _solveCache = new HashMap<>();
        }
 
        @Override
@@ -546,7 +546,7 @@ public class CompressedSizeEstimatorSample extends 
CompressedSizeEstimator
 
        private static HashMap<DblArray, Integer> 
getValCounts(ReaderColumnSelection sampleRowsReader) 
        {
-               HashMap<DblArray, Integer> valsCount = new HashMap<DblArray, 
Integer>();
+               HashMap<DblArray, Integer> valsCount = new HashMap<>();
                DblArray val = null;
                Integer cnt;
                while (null != (val = sampleRowsReader.nextRow())) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java 
b/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java
index 6a2753b..bf15d37 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/utils/ConverterUtils.java
@@ -75,7 +75,7 @@ public class ConverterUtils
                        ret = ((ColGroupUncompressed) group).getData();
                }
                else {
-                       ArrayList<ColGroup> tmpGroup = new 
ArrayList<ColGroup>(Arrays.asList(group));
+                       ArrayList<ColGroup> tmpGroup = new 
ArrayList<>(Arrays.asList(group));
                        ColGroupUncompressed decompressedCols = new 
ColGroupUncompressed(tmpGroup);
                        ret = decompressedCols.getData();
                }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
 
b/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
index 7b39039..3f195b2 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/utils/DblArrayIntListHashMap.java
@@ -80,7 +80,7 @@ public class DblArrayIntListHashMap
        }
 
        public ArrayList<DArrayIListEntry> extractValues() {
-               ArrayList<DArrayIListEntry> ret = new 
ArrayList<DArrayIListEntry>();
+               ArrayList<DArrayIListEntry> ret = new ArrayList<>();
                for( DArrayIListEntry e : _data ) {
                        if( e != null ) {
                                while( e.next != null ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
 
b/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
index 639b785..272bbcc 100644
--- 
a/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
+++ 
b/src/main/java/org/apache/sysml/runtime/compress/utils/DoubleIntListHashMap.java
@@ -80,7 +80,7 @@ public class DoubleIntListHashMap
        }
 
        public ArrayList<DIListEntry> extractValues() {
-               ArrayList<DIListEntry> ret = new ArrayList<DIListEntry>();
+               ArrayList<DIListEntry> ret = new ArrayList<>();
                for( DIListEntry e : _data ) {
                        if (e != null) {
                                while( e.next != null ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
index 7b364d7..91ae7d6 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/ExternalFunctionProgramBlock.java
@@ -29,7 +29,6 @@ import java.util.TreeMap;
 import org.apache.sysml.api.DMLScript;
 import org.apache.sysml.conf.ConfigurationManager;
 import org.apache.sysml.lops.Lop;
-import org.apache.sysml.lops.ReBlock;
 import org.apache.sysml.lops.compile.JobType;
 import org.apache.sysml.parser.DataIdentifier;
 import org.apache.sysml.parser.Expression.DataType;
@@ -110,11 +109,11 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
                _baseDir = baseDir;
                
                // copy other params
-               _otherParams = new HashMap<String, String>();
+               _otherParams = new HashMap<>();
                _otherParams.putAll(otherParams);
 
-               _unblockedFileNames = new HashMap<String, String>();
-               _blockedFileNames = new HashMap<String, String>();
+               _unblockedFileNames = new HashMap<>();
+               _blockedFileNames = new HashMap<>();
        
                // generate instructions
                createInstructions();
@@ -185,7 +184,7 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
                // convert block to cell
                if( block2CellInst != null )
                {
-                       ArrayList<Instruction> tempInst = new 
ArrayList<Instruction>();
+                       ArrayList<Instruction> tempInst = new ArrayList<>();
                        tempInst.addAll(block2CellInst);
                        try {
                                this.executeInstructions(tempInst,ec);
@@ -212,7 +211,7 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
                // convert cell to block
                if( cell2BlockInst != null )
                {
-                       ArrayList<Instruction> tempInst = new 
ArrayList<Instruction>();
+                       ArrayList<Instruction> tempInst = new ArrayList<>();
                        try {
                                tempInst.clear();
                                tempInst.addAll(cell2BlockInst);
@@ -276,7 +275,7 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
         */
        protected void createInstructions() {
 
-               _inst = new ArrayList<Instruction>();
+               _inst = new ArrayList<>();
 
                // unblock all input matrices
                block2CellInst = 
getBlock2CellInstructions(getInputParams(),_unblockedFileNames);
@@ -327,8 +326,8 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
                ArrayList<Instruction> c2binst = null;
                
                //list of matrices that need to be reblocked
-               ArrayList<DataIdentifier> matrices = new 
ArrayList<DataIdentifier>();
-               ArrayList<DataIdentifier> matricesNoReblock = new 
ArrayList<DataIdentifier>();
+               ArrayList<DataIdentifier> matrices = new ArrayList<>();
+               ArrayList<DataIdentifier> matricesNoReblock = new ArrayList<>();
 
                // identify outputs that are matrices
                for (int i = 0; i < outputParams.size(); i++) {
@@ -342,15 +341,15 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
 
                if( !matrices.isEmpty() )
                {
-                       c2binst = new ArrayList<Instruction>();
+                       c2binst = new ArrayList<>();
                        MRJobInstruction reblkInst = new 
MRJobInstruction(JobType.REBLOCK);
                        TreeMap<Integer, ArrayList<String>> MRJobLineNumbers = 
null;
                        if(DMLScript.ENABLE_DEBUG_MODE) {
-                               MRJobLineNumbers = new TreeMap<Integer, 
ArrayList<String>>();
+                               MRJobLineNumbers = new TreeMap<>();
                        }
                        
-                       ArrayList<String> inLabels = new ArrayList<String>();
-                       ArrayList<String> outLabels = new ArrayList<String>();
+                       ArrayList<String> inLabels = new ArrayList<>();
+                       ArrayList<String> outLabels = new ArrayList<>();
                        String[] outputs = new String[matrices.size()];
                        byte[] resultIndex = new byte[matrices.size()];
                        String reblock = "";
@@ -364,25 +363,25 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
                                        inLabels.add(matrices.get(i).getName());
                                        outLabels.add(matrices.get(i).getName() 
+ "_extFnOutput");
                                        outputs[i] = scratchSpaceLoc +
-                                                    Lop.FILE_SEPARATOR + 
Lop.PROCESS_PREFIX + DMLScript.getUUID() + Lop.FILE_SEPARATOR + 
-                                        
_otherParams.get(ExternalFunctionStatement.CLASS_NAME) + _runID + "_" + i + 
"Output";
+                                                       Lop.FILE_SEPARATOR + 
Lop.PROCESS_PREFIX + DMLScript.getUUID() + Lop.FILE_SEPARATOR + 
+                                                       
_otherParams.get(ExternalFunctionStatement.CLASS_NAME) + _runID + "_" + i + 
"Output";
                                        
blockedFileNames.put(matrices.get(i).getName(), outputs[i]);
                                        resultIndex[i] = (byte) i; // 
(matrices.size()+i);
                
                                        if (i > 0)
                                                reblock += 
Lop.INSTRUCTION_DELIMITOR;
                
-                                       reblock += "MR" + 
ReBlock.OPERAND_DELIMITOR + "rblk" + ReBlock.OPERAND_DELIMITOR + 
-                                                                       i + 
ReBlock.DATATYPE_PREFIX + matrices.get(i).getDataType() + 
ReBlock.VALUETYPE_PREFIX + matrices.get(i).getValueType() + 
ReBlock.OPERAND_DELIMITOR + 
-                                                                       i + 
ReBlock.DATATYPE_PREFIX + matrices.get(i).getDataType() + 
ReBlock.VALUETYPE_PREFIX + matrices.get(i).getValueType() + 
ReBlock.OPERAND_DELIMITOR + 
-                                                                       
ConfigurationManager.getBlocksize() + ReBlock.OPERAND_DELIMITOR + 
ConfigurationManager.getBlocksize() + ReBlock.OPERAND_DELIMITOR + "true";
+                                       reblock += "MR" + Lop.OPERAND_DELIMITOR 
+ "rblk" + Lop.OPERAND_DELIMITOR + 
+                                                                       i + 
Lop.DATATYPE_PREFIX + matrices.get(i).getDataType() + Lop.VALUETYPE_PREFIX + 
matrices.get(i).getValueType() + Lop.OPERAND_DELIMITOR + 
+                                                                       i + 
Lop.DATATYPE_PREFIX + matrices.get(i).getDataType() + Lop.VALUETYPE_PREFIX + 
matrices.get(i).getValueType() + Lop.OPERAND_DELIMITOR + 
+                                                                       
ConfigurationManager.getBlocksize() + Lop.OPERAND_DELIMITOR + 
ConfigurationManager.getBlocksize() + Lop.OPERAND_DELIMITOR + "true";
                                        
                                        if(DMLScript.ENABLE_DEBUG_MODE) {
                                                //Create a copy of reblock 
instruction but as a single instruction (FOR DEBUGGER)
-                                               reblockStr = "MR" + 
ReBlock.OPERAND_DELIMITOR + "rblk" + ReBlock.OPERAND_DELIMITOR + 
-                                                                               
i + ReBlock.DATATYPE_PREFIX + matrices.get(i).getDataType() + 
ReBlock.VALUETYPE_PREFIX + matrices.get(i).getValueType() + 
ReBlock.OPERAND_DELIMITOR + 
-                                                                               
i + ReBlock.DATATYPE_PREFIX + matrices.get(i).getDataType() + 
ReBlock.VALUETYPE_PREFIX + matrices.get(i).getValueType() + 
ReBlock.OPERAND_DELIMITOR + 
-                                                                               
ConfigurationManager.getBlocksize() + ReBlock.OPERAND_DELIMITOR + 
ConfigurationManager.getBlocksize()  + ReBlock.OPERAND_DELIMITOR + "true";      
                              
+                                               reblockStr = "MR" + 
Lop.OPERAND_DELIMITOR + "rblk" + Lop.OPERAND_DELIMITOR + 
+                                                                               
i + Lop.DATATYPE_PREFIX + matrices.get(i).getDataType() + Lop.VALUETYPE_PREFIX 
+ matrices.get(i).getValueType() + Lop.OPERAND_DELIMITOR + 
+                                                                               
i + Lop.DATATYPE_PREFIX + matrices.get(i).getDataType() + Lop.VALUETYPE_PREFIX 
+ matrices.get(i).getValueType() + Lop.OPERAND_DELIMITOR + 
+                                                                               
ConfigurationManager.getBlocksize() + Lop.OPERAND_DELIMITOR + 
ConfigurationManager.getBlocksize()  + Lop.OPERAND_DELIMITOR + "true";          
                          
                                                //Set MR reblock instruction 
line number (FOR DEBUGGER)
                                                if 
(!MRJobLineNumbers.containsKey(matrices.get(i).getBeginLine())) {
                                                        
MRJobLineNumbers.put(matrices.get(i).getBeginLine(), new ArrayList<String>()); 
@@ -448,8 +447,8 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
                ArrayList<Instruction> b2cinst = null;
                
                //list of input matrices
-               ArrayList<DataIdentifier> matrices = new 
ArrayList<DataIdentifier>();
-               ArrayList<DataIdentifier> matricesNoReblock = new 
ArrayList<DataIdentifier>();
+               ArrayList<DataIdentifier> matrices = new ArrayList<>();
+               ArrayList<DataIdentifier> matricesNoReblock = new ArrayList<>();
 
                // find all inputs that are matrices
                for (int i = 0; i < inputParams.size(); i++) {
@@ -463,15 +462,15 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
                
                if( !matrices.isEmpty() )
                {
-                       b2cinst = new ArrayList<Instruction>();
+                       b2cinst = new ArrayList<>();
                        MRJobInstruction gmrInst = new 
MRJobInstruction(JobType.GMR);
                        TreeMap<Integer, ArrayList<String>> MRJobLineNumbers = 
null;
                        if(DMLScript.ENABLE_DEBUG_MODE) {
-                               MRJobLineNumbers = new TreeMap<Integer, 
ArrayList<String>>();
+                               MRJobLineNumbers = new TreeMap<>();
                        }
                        String gmrStr="";
-                       ArrayList<String> inLabels = new ArrayList<String>();
-                       ArrayList<String> outLabels = new ArrayList<String>();
+                       ArrayList<String> inLabels = new ArrayList<>();
+                       ArrayList<String> outLabels = new ArrayList<>();
                        String[] outputs = new String[matrices.size()];
                        byte[] resultIndex = new byte[matrices.size()];
        
@@ -632,7 +631,7 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
                // iterate over each output and verify that type matches
                for (int i = 0; i < outputs.size(); i++) {
                        StringTokenizer tk = new 
StringTokenizer(outputs.get(i), ":");
-                       ArrayList<String> tokens = new ArrayList<String>();
+                       ArrayList<String> tokens = new ArrayList<>();
                        while (tk.hasMoreTokens()) {
                                tokens.add(tk.nextToken());
                        }
@@ -760,10 +759,10 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
         */
        protected ArrayList<FunctionParameter> 
getInputObjects(ArrayList<String> inputs,
                        LocalVariableMap variableMapping) {
-               ArrayList<FunctionParameter> inputObjects = new 
ArrayList<FunctionParameter>();
+               ArrayList<FunctionParameter> inputObjects = new ArrayList<>();
 
                for (int i = 0; i < inputs.size(); i++) {
-                       ArrayList<String> tokens = new ArrayList<String>();
+                       ArrayList<String> tokens = new ArrayList<>();
                        StringTokenizer tk = new StringTokenizer(inputs.get(i), 
":");
                        while (tk.hasMoreTokens()) {
                                tokens.add(tk.nextToken());
@@ -848,7 +847,7 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
         * @return list of string inputs
         */
        protected ArrayList<String> getParameters(String inputParams) {
-               ArrayList<String> inputs = new ArrayList<String>();
+               ArrayList<String> inputs = new ArrayList<>();
 
                StringTokenizer tk = new StringTokenizer(inputParams, ",");
                while (tk.hasMoreTokens()) {
@@ -925,13 +924,13 @@ public class ExternalFunctionProgramBlock extends 
FunctionProgramBlock
        
        //FUNCTION PATCH
        
-       private Collection<String> _skipInReblock = new HashSet<String>();
-       private Collection<String> _skipOutReblock = new HashSet<String>();
+       private Collection<String> _skipInReblock = new HashSet<>();
+       private Collection<String> _skipOutReblock = new HashSet<>();
        
        @Override
        public ArrayList<Instruction> getInstructions()
        {
-               ArrayList<Instruction> tmp = new ArrayList<Instruction>();
+               ArrayList<Instruction> tmp = new ArrayList<>();
                if( cell2BlockInst != null )
                        tmp.addAll(cell2BlockInst);
                if( block2CellInst != null )

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
index d402502..aa51c59 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/FunctionProgramBlock.java
@@ -46,13 +46,13 @@ public class FunctionProgramBlock extends ProgramBlock
        public FunctionProgramBlock( Program prog, ArrayList<DataIdentifier> 
inputParams, ArrayList<DataIdentifier> outputParams) 
        {
                super(prog);
-               _childBlocks = new ArrayList<ProgramBlock>();
-               _inputParams = new ArrayList<DataIdentifier>();
+               _childBlocks = new ArrayList<>();
+               _inputParams = new ArrayList<>();
                for (DataIdentifier id : inputParams){
                        _inputParams.add(new DataIdentifier(id));
                        
                }
-               _outputParams = new ArrayList<DataIdentifier>();
+               _outputParams = new ArrayList<>();
                for (DataIdentifier id : outputParams){
                        _outputParams.add(new DataIdentifier(id));
                }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java 
b/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
index 07ca3ee..7d6c1e7 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
@@ -197,6 +197,10 @@ public class ParForProgramBlock extends ForProgramBlock
                        _N = N;
                }
                @Override
+               public int hashCode() {
+                       return UtilFunctions.intHashCode(_dpf.ordinal(), _N);
+               }
+               @Override
                public boolean equals(Object o) {
                        return (o instanceof PartitionFormat)
                                && _dpf == ((PartitionFormat)o)._dpf

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
index d1d455d..720b37d 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
@@ -108,7 +108,7 @@ public abstract class CacheableData<T extends CacheBlock> 
extends Data
        MODIFY, 
        CACHED,
        CACHED_NOWRITE,
-    };
+    }
        
        /** Global flag indicating if caching is enabled (controls eviction) */
        private static boolean _activeFlag = false;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/caching/PageCache.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/PageCache.java 
b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/PageCache.java
index 7e96ec1..2d20e90 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/PageCache.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/PageCache.java
@@ -25,13 +25,11 @@ import java.util.LinkedList;
 
 public class PageCache 
 {
-       
        private static final int CLEANUP_THRESHOLD = 128;
        private static HashMap<Integer, LinkedList<SoftReference<byte[]>>> 
_pool;
 
-       public static void init()
-       {
-               _pool = new HashMap<Integer, 
LinkedList<SoftReference<byte[]>>>();
+       public static void init() {
+               _pool = new HashMap<>();
        }
 
        public static void clear()
@@ -47,10 +45,10 @@ public class PageCache
                
                LinkedList<SoftReference<byte[]>> list = _pool.get( data.length 
);
                if( list==null ){
-                       list = new LinkedList<SoftReference<byte[]>>();
+                       list = new LinkedList<>();
                        _pool.put(data.length, list);
                }
-               list.addLast(new SoftReference<byte[]>(data));  
+               list.addLast(new SoftReference<>(data));        
        }
 
        public static byte[] getPage( int size )

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
index 966049c..110c203 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/context/SparkExecutionContext.java
@@ -1124,7 +1124,7 @@ public class SparkExecutionContext extends 
ExecutionContext
                }
        }
 
-       @SuppressWarnings({ "rawtypes", "unchecked" })
+       @SuppressWarnings({ "rawtypes" })
        private void rCleanupLineageObject(LineageObject lob)
                throws IOException
        {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
index b57f050..fe9f75a 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/DataPartitionerLocal.java
@@ -141,7 +141,7 @@ public class DataPartitionerLocal extends DataPartitioner
                
                try 
                {
-                       //STEP 1: read matrix from HDFS and write blocks to 
local staging area                  
+                       //STEP 1: read matrix from HDFS and write blocks to 
local staging area
                        //check and add input path
                        JobConf job = new 
JobConf(ConfigurationManager.getCachedJobConf());
                        Path path = new Path(fname);
@@ -150,7 +150,7 @@ public class DataPartitionerLocal extends DataPartitioner
                        informat.configure(job);
                        InputSplit[] splits = informat.getSplits(job, 1);
                        
-                       LinkedList<Cell> buffer = new LinkedList<Cell>();
+                       LinkedList<Cell> buffer = new LinkedList<>();
                        LongWritable key = new LongWritable();
                        Text value = new Text();
                        FastStringTokenizer st = new FastStringTokenizer(' ');
@@ -241,7 +241,7 @@ public class DataPartitionerLocal extends DataPartitioner
                        FileSystem fs = IOUtilFunctions.getFileSystem(path, 
job);
                        
                        //prepare sequence file reader, and write to local 
staging area 
-                       LinkedList<Cell> buffer = new LinkedList<Cell>();
+                       LinkedList<Cell> buffer = new LinkedList<>();
                        MatrixIndexes key = new MatrixIndexes();
                        MatrixCell value = new MatrixCell();
        
@@ -405,7 +405,7 @@ public class DataPartitionerLocal extends DataPartitioner
                        MatrixIndexes key = new MatrixIndexes(); 
                        MatrixBlock value = new MatrixBlock();
                        
-                       LinkedList<Cell> buffer = new LinkedList<Cell>();
+                       LinkedList<Cell> buffer = new LinkedList<>();
                        
                        for(Path lpath : 
IOUtilFunctions.getSequenceFilePaths(fs, path) )
                        {
@@ -547,7 +547,7 @@ public class DataPartitionerLocal extends DataPartitioner
        private void appendCellBufferToStagingArea( String dir, 
LinkedList<Cell> buffer, int brlen, int bclen ) 
                throws DMLRuntimeException, IOException
        {
-               HashMap<Long,LinkedList<Cell>> sortedBuffer = new 
HashMap<Long,LinkedList<Cell>>();
+               HashMap<Long,LinkedList<Cell>> sortedBuffer = new HashMap<>();
                
                //sort cells in buffer wrt key
                long key = -1;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
index 033d398..ec61cee 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
@@ -93,8 +93,7 @@ public class RemoteParForSparkWorker extends ParWorker 
implements PairFlatMapFun
                
                return ret.iterator();
        }
-
-       @SuppressWarnings("unchecked")
+       
        private void configureWorker(long taskID) 
                throws DMLRuntimeException, IOException
        {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
index 9b274be..50eb960 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
@@ -104,7 +104,7 @@ public class ResultMergeLocalFile extends ResultMerge
                        
                        
                        //collect all relevant inputs
-                       ArrayList<MatrixObject> inMO = new 
ArrayList<MatrixObject>();
+                       ArrayList<MatrixObject> inMO = new ArrayList<>();
                        for( MatrixObject in : _inputs )
                        {
                                //check for empty inputs (no iterations 
executed)
@@ -508,7 +508,7 @@ public class ResultMergeLocalFile extends ResultMerge
                informat.configure(job);
                InputSplit[] splits = informat.getSplits(job, 1);
                
-               LinkedList<Cell> buffer = new LinkedList<Cell>();
+               LinkedList<Cell> buffer = new LinkedList<>();
                LongWritable key = new LongWritable();
                Text value = new Text();
 
@@ -567,7 +567,7 @@ public class ResultMergeLocalFile extends ResultMerge
                Path path = new Path(mo.getFileName());
                FileSystem fs = IOUtilFunctions.getFileSystem(path, job);
                
-               LinkedList<Cell> buffer = new LinkedList<Cell>();
+               LinkedList<Cell> buffer = new LinkedList<>();
                MatrixIndexes key = new MatrixIndexes();
                MatrixCell value = new MatrixCell();
        
@@ -608,7 +608,7 @@ public class ResultMergeLocalFile extends ResultMerge
        private void appendCellBufferToStagingArea( String fnameStaging, long 
ID, LinkedList<Cell> buffer, int brlen, int bclen ) 
                throws DMLRuntimeException, IOException
        {
-               HashMap<Long,HashMap<Long,LinkedList<Cell>>> sortedBuffer = new 
HashMap<Long, HashMap<Long,LinkedList<Cell>>>();
+               HashMap<Long,HashMap<Long,LinkedList<Cell>>> sortedBuffer = new 
HashMap<>();
                long brow, bcol, row_offset, col_offset;
                
                for( Cell c : buffer )

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.java
index be3b6bb..1f63f85 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.java
@@ -25,21 +25,17 @@ import org.apache.hadoop.io.WritableComparator;
 
 public class ResultMergeRemoteGrouping extends WritableComparator
 {
-       
-       
-       protected ResultMergeRemoteGrouping()
-       {
+       protected ResultMergeRemoteGrouping() {
                super(ResultMergeTaggedMatrixIndexes.class,true);
        }
        
-       @SuppressWarnings("rawtypes") 
        @Override
        public int compare(WritableComparable k1, WritableComparable k2) 
        {
                ResultMergeTaggedMatrixIndexes key1 = 
(ResultMergeTaggedMatrixIndexes)k1;
                ResultMergeTaggedMatrixIndexes key2 = 
(ResultMergeTaggedMatrixIndexes)k2;
-           
+               
                //group by matrix indexes only (including all tags)
-           return key1.getIndexes().compareTo(key2.getIndexes());
+               return key1.getIndexes().compareTo(key2.getIndexes());
        }
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSorting.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSorting.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSorting.java
index 987d702..1ed431e 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSorting.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSorting.java
@@ -24,16 +24,12 @@ import org.apache.hadoop.io.WritableComparator;
 
 public class ResultMergeRemoteSorting extends WritableComparator
 {
-       
-       
-       protected ResultMergeRemoteSorting()
-       {
+       protected ResultMergeRemoteSorting() {
                super(ResultMergeTaggedMatrixIndexes.class, true);
        }
        
-       @SuppressWarnings("rawtypes")
        @Override
-    public int compare(WritableComparable k1, WritableComparable k2) 
+       public int compare(WritableComparable k1, WritableComparable k2) 
        {
                ResultMergeTaggedMatrixIndexes key1 = 
(ResultMergeTaggedMatrixIndexes)k1;
                ResultMergeTaggedMatrixIndexes key2 = 
(ResultMergeTaggedMatrixIndexes)k2;
@@ -42,10 +38,8 @@ public class ResultMergeRemoteSorting extends 
WritableComparator
                if( ret == 0 ) //same indexes, secondary sort
                {
                        ret = ((key1.getTag() == key2.getTag()) ? 0 : 
-                                  (key1.getTag() < key2.getTag())? -1 : 1);
+                               (key1.getTag() < key2.getTag())? -1 : 1);
                }       
-                       
-               return ret; 
-               
-    }
+               return ret;
+       }
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
index 0bdd59f..5676869 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreeConverter.java
@@ -195,14 +195,14 @@ public class OptTreeConverter
                }
                else if( pb instanceof ParForProgramBlock )
                {
-                       ParForProgramBlock fpb = (ParForProgramBlock) pb;       
                
+                       ParForProgramBlock fpb = (ParForProgramBlock) pb;
                        node = new OptNode( NodeType.PARFOR );
                        if(storeObjs)
                                _rtMap.putMapping(fpb, node);
                        node.setK( fpb.getDegreeOfParallelism() );
                        long N = fpb.getNumIterations();
-                       node.addParam(ParamType.NUM_ITERATIONS, (N!=-1) ? 
String.valueOf(N) : 
-                                                                               
                                          
String.valueOf(CostEstimatorRuntime.FACTOR_NUM_ITERATIONS));
+                       node.addParam(ParamType.NUM_ITERATIONS, (N!=-1) ? 
+                               String.valueOf(N) : 
String.valueOf(CostEstimator.FACTOR_NUM_ITERATIONS));
                        
                        switch(fpb.getExecMode())
                        {

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/util/StagingFileUtils.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/util/StagingFileUtils.java
 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/util/StagingFileUtils.java
index 81dc9a0..87ad16c 100644
--- 
a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/util/StagingFileUtils.java
+++ 
b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/util/StagingFileUtils.java
@@ -154,7 +154,7 @@ public class StagingFileUtils
        {
                FileInputStream fis = new FileInputStream( fname );
                BufferedReader in = new BufferedReader(new 
InputStreamReader(fis));     
-               LinkedList<Cell> buffer = new LinkedList<Cell>();
+               LinkedList<Cell> buffer = new LinkedList<>();
                try 
                {
                        String value = null;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 a05eefe..ed1838d 100644
--- a/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
+++ b/src/main/java/org/apache/sysml/runtime/functionobjects/Builtin.java
@@ -49,7 +49,7 @@ public class Builtin extends ValueFunction
 
        private static final long serialVersionUID = 3836744687789840574L;
        
-       public enum BuiltinCode { SIN, COS, TAN, SINH, COSH, TANH, ASIN, ACOS, 
ATAN, LOG, LOG_NZ, MIN, MAX, ABS, SIGN, SQRT, EXP, PLOGP, PRINT, PRINTF, NROW, 
NCOL, LENGTH, ROUND, MAXINDEX, MININDEX, STOP, CEIL, FLOOR, CUMSUM, CUMPROD, 
CUMMIN, CUMMAX, INVERSE, SPROP, SIGMOID, SELP };
+       public enum BuiltinCode { SIN, COS, TAN, SINH, COSH, TANH, ASIN, ACOS, 
ATAN, LOG, LOG_NZ, MIN, MAX, ABS, SIGN, SQRT, EXP, PLOGP, PRINT, PRINTF, NROW, 
NCOL, LENGTH, ROUND, MAXINDEX, MININDEX, STOP, CEIL, FLOOR, CUMSUM, CUMPROD, 
CUMMIN, CUMMAX, INVERSE, SPROP, SIGMOID, SELP }
        public BuiltinCode bFunc;
        
        private static final boolean FASTMATH = true;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 8635833..f36b484 100644
--- 
a/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
+++ 
b/src/main/java/org/apache/sysml/runtime/functionobjects/ParameterizedBuiltin.java
@@ -46,9 +46,9 @@ public class ParameterizedBuiltin extends ValueFunction
        
        public enum ParameterizedBuiltinCode { 
                CDF, INVCDF, RMEMPTY, REPLACE, REXPAND,
-               TRANSFORMAPPLY, TRANSFORMDECODE };
+               TRANSFORMAPPLY, TRANSFORMDECODE }
        public enum ProbabilityDistributionCode { 
-               INVALID, NORMAL, EXP, CHISQ, F, T };
+               INVALID, NORMAL, EXP, CHISQ, F, T }
        
        public ParameterizedBuiltinCode bFunc;
        public ProbabilityDistributionCode distFunc;

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 374f81c..61c2077 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/Instruction.java
@@ -37,7 +37,7 @@ public abstract class Instruction
                BREAKPOINT,
                SPARK,
                GPU
-       };
+       }
        
        protected static final Log LOG = 
LogFactory.getLog(Instruction.class.getName());
        

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 780325b..77ef635 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/MRJobInstruction.java
@@ -804,7 +804,7 @@ public class MRJobInstruction extends Instruction
         * @return array of matrix objects
         */
        public MatrixObject[] extractInputMatrices(ExecutionContext ec) {
-               ArrayList<MatrixObject> inputmat = new 
ArrayList<MatrixObject>();
+               ArrayList<MatrixObject> inputmat = new ArrayList<>();
                inputDataTypes = new DataType[inputVars.length];
                for ( int i=0; i < inputVars.length; i++ ) {
                        Data d = ec.getVariable(inputVars[i]);
@@ -1094,7 +1094,7 @@ public class MRJobInstruction extends Instruction
                byte sharedIx = 0;
                
                //compute input index map (based on distinct filenames)
-               HashMap<String, Byte> inMap = new HashMap<String, Byte>();
+               HashMap<String, Byte> inMap = new HashMap<>();
                for( int i=0; i<inputs.length; i++ )
                        inMap.put(inputs[i], (byte) i);
                
@@ -1106,7 +1106,7 @@ public class MRJobInstruction extends Instruction
                byte lenInputs = (byte)(inputs.length + that.inputs.length - 
sharedIx);
                
                //compute transition index map for instruction 1
-               HashMap<Byte, Byte> transMap1 = new HashMap<Byte,Byte>();
+               HashMap<Byte, Byte> transMap1 = new HashMap<>();
                for( int i=0; i<inputs.length; i++ )
                        transMap1.put((byte)i, (byte)i);
                for( int i=inputs.length; i<=maxIxInst1; i++ ) //remap 
intermediates and 
@@ -1115,7 +1115,7 @@ public class MRJobInstruction extends Instruction
                }
                        
                //compute transition index max for instruction 2
-               HashMap<Byte, Byte> transMap2 = new HashMap<Byte,Byte>();
+               HashMap<Byte, Byte> transMap2 = new HashMap<>();
                byte nextIX = (byte)inputs.length;
                for( int i=0; i<that.inputs.length; i++ ) {
                        if( !inMap.containsKey(that.inputs[i]) )

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/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 fd3da68..1e4625a 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
@@ -33,7 +33,7 @@ import org.apache.sysml.runtime.instructions.Instruction;
 public class BreakPointInstruction extends Instruction
 {
 
-       public enum BPINSTRUCTION_STATUS { INVISIBLE, ENABLED, DISABLED };
+       public enum BPINSTRUCTION_STATUS { INVISIBLE, ENABLED, DISABLED }
        
        private BPINSTRUCTION_STATUS bpStatus; //indicates breakpoint status    
        private String location=null; //namespace and name of function 
containing breakpoint

http://git-wip-us.apache.org/repos/asf/systemml/blob/40dd894e/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java 
b/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java
index 3294384..46251e9 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java
@@ -35,7 +35,7 @@ public abstract class CPInstruction extends Instruction
                BuiltinMultiple, MultiReturnParameterizedBuiltin, 
ParameterizedBuiltin, MultiReturnBuiltin, 
                Builtin, Reorg, RelationalBinary, Variable, External, Append, 
Rand, QSort, QPick, 
                MatrixIndexing, MMTSJ, PMMJ, MMChain, MatrixReshape, Partition, 
Compression, SpoofFused,
-               StringInit, CentralMoment, Covariance, UaggOuterChain, 
Convolution };
+               StringInit, CentralMoment, Covariance, UaggOuterChain, 
Convolution }
        
        protected CPINSTRUCTION_TYPE _cptype;
        protected Operator _optr;

Reply via email to