<commit_before>
package kr.jm.utils.destory;

import java.util.Arrays;
import java.util.List;

import kr.jm.utils.exception.JMExceptionManager;
import kr.jm.utils.helper.JMThread;

/**
 * The Class Destroyer.
 */
public class Destroyer {

	private static final org.slf4j.Logger log =
			org.slf4j.LoggerFactory.getLogger(Destroyer.class);

	/**
	 * Clean up.
	 *
	 * @param <D>
	 *            the generic type
	 * @param destorys
	 *            the destorys
	 */
	public static <D extends DestroyInterface> void
			cleanUp(@SuppressWarnings("unchecked") D... destorys) {
		cleanUp(Arrays.asList(destorys));
	}

	/**
	 * Clean up.
	 *
	 * @param <D>
	 *            the generic type
	 * @param destroyList
	 *            the destroy list
	 */
	public static <D extends DestroyInterface> void
			cleanUp(List<D> destroyList) {
		for (DestroyInterface destroy : destroyList) {
			try {
				JMThread.sleep(10);
				log.info("Start Clean Up - {}", destroy);
				destroy.cleanUp();
				log.info("Complete Clean Up - {}", destroy);
			} catch (Exception e) {
				log.error("Fail Clean Up - {}", destroy);
				JMExceptionManager.logException(log, e, "cleanUp", destroy);
				continue;
			}
		}
	}

}
<commit_msg>handle null or empty<commit_after>
package kr.jm.utils.destory;

import java.util.Arrays;
import java.util.List;

import kr.jm.utils.exception.JMExceptionManager;
import kr.jm.utils.helper.JMOptional;
import kr.jm.utils.helper.JMThread;

/**
 * The Class Destroyer.
 */
public class Destroyer {

	private static final org.slf4j.Logger log =
			org.slf4j.LoggerFactory.getLogger(Destroyer.class);

	/**
	 * Clean up.
	 *
	 * @param <D>
	 *            the generic type
	 * @param destorys
	 *            the destorys
	 */
	public static <D extends DestroyInterface> void
			cleanUp(@SuppressWarnings("unchecked") D... destorys) {
		JMOptional.getOptional(destorys).map(Arrays::asList)
				.ifPresent(Destroyer::cleanUp);
	}

	/**
	 * Clean up.
	 *
	 * @param <D>
	 *            the generic type
	 * @param destroyList
	 *            the destroy list
	 */
	public static <D extends DestroyInterface> void
			cleanUp(List<D> destroyList) {
		JMOptional.getOptional(destroyList)
				.ifPresent(list -> list.forEach(Destroyer::cleanUp));
	}

	/**
	 * Clean up.
	 *
	 * @param destroy
	 *            the destroy
	 */
	public static void cleanUp(DestroyInterface destroy) {
		try {
			JMThread.sleep(10);
			log.info("Start Clean Up - {}", destroy);
			destroy.cleanUp();
			log.info("Complete Clean Up - {}", destroy);
		} catch (Exception e) {
			log.error("Fail Clean Up - {}", destroy);
			JMExceptionManager.logException(log, e, "cleanUp", destroy);
			return;
		}
	}

}

{'fraction_non_alphanumeric': 0.13440658929239985, 'fraction_numerical': 0.002995132909022838, 'mean_word_length': 2.9121522693997073, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5556424', 'n_tokens_mistral': 982, 'n_tokens_neox': 871, 'n_words': 198}