// Path: src/log/Logger.java
// public class Logger
// {
//     private static final String    infoKey  = "INFO";
//     private static final String    errorKey = "ERROR";
// 
//     private static final Printer   out      = new Printer();
// 
//     public static SimpleDateFormat sdf      = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
// 
//     private static String getCallingClass()
//     {
//         final Throwable t = new Throwable();
//         final StackTraceElement methodCaller = t.getStackTrace()[3];
//         String filename = methodCaller.getFileName();
//         return filename.substring(0, filename.lastIndexOf('.'));
//     }
// 
//     private static String baseLogMessage(String key, String msg)
//     {
//         return sdf.format(new Date()) + " [" + key + "] [" + getCallingClass() + "] " + msg;
//     }
// 
//     public static void traceINFO(String msg)
//     {
//         out.println(baseLogMessage(infoKey, msg));
//     }
// 
//     public static void traceINFO_NoNewLine(String msg)
//     {
//         out.print(baseLogMessage(infoKey, msg));
//     }
// 
//     public static void traceINFO_NoBaseLine(String msg)
//     {
//         out.println(msg);
//     }
// 
//     public static void traceERROR(String msg)
//     {
//         out.println(baseLogMessage(errorKey, msg));
//     }
// 
//     public static void traceINFO(int level, long[] array)
//     {
//         StringBuilder sBuilder = new StringBuilder();
//         sBuilder.append(level + " : ");
//         for (int i = 0; i < array.length; i++)
//         {
//             if (i == array.length - 1)
//             {
// 
//                 sBuilder.append(array[i]);
//             }
//             else
//             {
//                 sBuilder.append(array[i] + ", ");
//             }
//         }
//         traceINFO(sBuilder.toString());
//     }
// 
//     public static void traceINFO(String... msgs)
//     {
//         StringBuilder sBuilder = new StringBuilder();
//         for (int i = 0; i < msgs.length; i++)
//         {
//             if (i == msgs.length - 1)
//             {
// 
//                 sBuilder.append(msgs[i]);
//             }
//             else
//             {
//                 sBuilder.append(msgs[i] + ", ");
//             }
//         }
//         traceINFO(sBuilder.toString());
//     }
// 
//     public static void traceERROR(Exception e)
//     {
//         if (e != null)
//         {
//             out.println(baseLogMessage(errorKey, e.getMessage()));
//             e.printStackTrace(System.out);
//         }
//     }
// 
//     public static void endLogging()
//     {
//         out.close();
//     }
// }


import javax.mail.Flags.Flag;
import javax.mail.Message;
import javax.mail.internet.InternetAddress;
import log.Logger;

package mail.processing;


public class CleanDeletingAdEmail implements MessageProcess
{

// Path: src/log/Logger.java
// public class Logger
// {
//     private static final String    infoKey  = "INFO";
//     private static final String    errorKey = "ERROR";
// 
//     private static final Printer   out      = new Printer();
// 
//     public static SimpleDateFormat sdf      = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
// 
//     private static String getCallingClass()
//     {
//         final Throwable t = new Throwable();
//         final StackTraceElement methodCaller = t.getStackTrace()[3];
//         String filename = methodCaller.getFileName();
//         return filename.substring(0, filename.lastIndexOf('.'));
//     }
// 
//     private static String baseLogMessage(String key, String msg)
//     {
//         return sdf.format(new Date()) + " [" + key + "] [" + getCallingClass() + "] " + msg;
//     }
// 
//     public static void traceINFO(String msg)
//     {
//         out.println(baseLogMessage(infoKey, msg));
//     }
// 
//     public static void traceINFO_NoNewLine(String msg)
//     {
//         out.print(baseLogMessage(infoKey, msg));
//     }
// 
//     public static void traceINFO_NoBaseLine(String msg)
//     {
//         out.println(msg);
//     }
// 
//     public static void traceERROR(String msg)
//     {
//         out.println(baseLogMessage(errorKey, msg));
//     }
// 
//     public static void traceINFO(int level, long[] array)
//     {
//         StringBuilder sBuilder = new StringBuilder();
//         sBuilder.append(level + " : ");
//         for (int i = 0; i < array.length; i++)
//         {
//             if (i == array.length - 1)
//             {
// 
//                 sBuilder.append(array[i]);
//             }
//             else
//             {
//                 sBuilder.append(array[i] + ", ");
//             }
//         }
//         traceINFO(sBuilder.toString());
//     }
// 
//     public static void traceINFO(String... msgs)
//     {
//         StringBuilder sBuilder = new StringBuilder();
//         for (int i = 0; i < msgs.length; i++)
//         {
//             if (i == msgs.length - 1)
//             {
// 
//                 sBuilder.append(msgs[i]);
//             }
//             else
//             {
//                 sBuilder.append(msgs[i] + ", ");
//             }
//         }
//         traceINFO(sBuilder.toString());
//     }
// 
//     public static void traceERROR(Exception e)
//     {
//         if (e != null)
//         {
//             out.println(baseLogMessage(errorKey, e.getMessage()));
//             e.printStackTrace(System.out);
//         }
//     }
// 
//     public static void endLogging()
//     {
//         out.close();
//     }
// }


// Path: src/mail/processing/CleanDeletingAdEmail.java
import javax.mail.Flags.Flag;
import javax.mail.Message;
import javax.mail.internet.InternetAddress;
import log.Logger;

package mail.processing;


public class CleanDeletingAdEmail implements MessageProcess
{

    @Override
