// Obtain key-value pairs to check from parameters
                                LOG.trace("reading keys parameter list");
-                               HashMap<String,String> keys_values = new HashMap<String,String>();
+                               HashMap<String,String> keys_values = new HashMap<>();
                                for( int i = 0; i < keys_length; i++ ) {
                                        keys_values.put(parameters.get("keys[" + i + "].key"), parameters.get("keys[" + i + "].value"));
                                }
      */
        public void ctxSortList( Map<String, String> parameters, SvcLogicContext ctx ) throws SvcLogicException {
                checkParameters(parameters, new String[]{"list","delimiter"}, LOG);
-               ArrayList<SortableCtxListElement> list = new ArrayList<SortableCtxListElement>();
+               ArrayList<SortableCtxListElement> list = new ArrayList<>();
 
                String[] sort_fields = null;
                if( parameters.containsKey("sort-fields") ) {
                        i++;
                }
                // Reset list length (removed by ctxBulkErase above)
-               ctx.setAttribute(ctx_list_str+"_length",  ""+listSz);
+               ctx.setAttribute(ctx_list_str+"_length", Integer.toString(listSz));
        }
 
     /**
             log.debug("required parameters was empty, exiting early.");
             return;
         }
-        if (parametersMap == null || parametersMap.keySet().size() < 1){
+        if (parametersMap == null || parametersMap.keySet().isEmpty()){
             String errorMessage = "This method requires the parameters [" +   StringUtils.join(requiredParams,",") + "], but no parameters were passed in.";
             log.error(errorMessage);
             throw new SvcLogicException(errorMessage);
         * @since 1.0
         */
        public static final void ctxBulkErase( SvcLogicContext ctx, String pfx ) {
-               ArrayList<String> Keys = new ArrayList<String>( ctx.getAttributeKeySet() );
+               ArrayList<String> Keys = new ArrayList<>(ctx.getAttributeKeySet());
                for( String key : Keys ) {
                        if( key.startsWith( pfx ) ) {
                                ctx.setAttribute( pfx + key.substring(pfx.length()) , null);
 
                // For each context key that begins with src_pfx, set the value of the
                // key dest_pfx + the suffix of the key to the key's value
-               ArrayList<String> Keys = new ArrayList<String>(ctx.getAttributeKeySet());
+               ArrayList<String> Keys = new ArrayList<>(ctx.getAttributeKeySet());
                for( String key : Keys ) {
                        if( key.startsWith(src_pfx) ) {
                                // Get suffix (no leading period)
         * in ctx whose key begins with prefix.
         */
        public static final Map<String, String> ctxGetBeginsWith( SvcLogicContext ctx, String prefix ) {
-               Map<String, String> prefixMap = new HashMap<String, String>();
+               Map<String, String> prefixMap = new HashMap<>();
 
                for( String key : ctx.getAttributeKeySet() ) {
                        if( key.startsWith(prefix) ) {
         * @since 1.0
         */
        public static final int getArrayLength( SvcLogicContext ctx, String key, Logger log, LogLevel logLevel, String log_message ) {
-               String ctxKey = ( key.endsWith("_length") ) ? key : key + "_length";
+               String ctxKey = key.endsWith("_length") ? key : key + "_length";
                try {
                        return Integer.parseInt(ctx.getAttribute(ctxKey));
                }
                logLevelIsEnabled( log, logLevel );
 
                // Print sorted context memory key-value pairs to the log
-               ArrayList<String> keys = new ArrayList<String>(ctx.getAttributeKeySet());
+               ArrayList<String> keys = new ArrayList<>(ctx.getAttributeKeySet());
                Collections.sort(keys);
                for( String key : keys ) {
                        logMessageAtLevel( log, logLevel, key + " = " + ctx.getAttribute(key) );
        // ========== LOCAL CLASSES ==========
 
        private class SortableCtxListElement implements Comparable<SortableCtxListElement> {
-               HashMap<String,String> child_elements = new HashMap<String,String>();
+               HashMap<String,String> child_elements = new HashMap<>();
                String[] sort_fields;
 
                public SortableCtxListElement( SvcLogicContext ctx, String root, String[] sort_fields ) {
      * @since 11.0.2
      */
        public static void requiredParameters(Map<String, String> parameters, SvcLogicContext ctx) throws SvcLogicException {
-               if (parameters == null || parameters.keySet().size() < 1) {
+               if (parameters == null || parameters.keySet().isEmpty()) {
             String errorMessage = "requiredParameters should not be called if the parameters hashmap is null or empty!";
             LOG.error(errorMessage);
             throw new SvcLogicException(errorMessage);