// Path: de.tototec.cmdoption/src/main/java/de/tototec/cmdoption/internal/I18n.java
// public abstract class I18n {
// 
// 	public static String marktr(final String string) {
// 		// Placeholder to allow mark of translatable strings.
// 		return string;
// 	}
// 
// 	public static String marktrc(final String context, final String msgid) {
// 		// Placeholder to allow mark of translatable strings.
// 		return msgid;
// 	}
// 
// 	public interface PreparedI18n {
// 		String notr();
// 
// 		String tr();
// 	}
// 
// 	public abstract String tr(final String msg, final Object... params);
// 
// 	public abstract String trn(String msgid, String msgidPlural, long n, Object... params);
// 
// 	public abstract String trc(String context, String msgid, Object... params);
// 
// 	public abstract String trcn(String context, String msgid, String msgidPlural, long n, Object... params);
// 
// 	public abstract PreparedI18n preparetr(final String msg, final Object... params);
// 
// 	public abstract Locale getLocale();
// 
// }
// 
// Path: de.tototec.cmdoption/src/main/java/de/tototec/cmdoption/internal/I18n.java
// public interface PreparedI18n {
// 	String notr();
// 
// 	String tr();
// }
// 
// Path: de.tototec.cmdoption/src/main/java/de/tototec/cmdoption/internal/I18nFactory.java
// public abstract class I18nFactory {
// 
// 	public static I18n getI18n(final Class<?> context) {
// 		return getI18n(context, Locale.getDefault());
// 	}
// 
// 	public static I18n getI18n(final Class<?> context, final Locale locale) {
// 		// TODO: Later, try to load a real I18n object, e.g. de.tototec.i18n
// 		return new I18n() {
// 
// 			@Override
// 			public String trn(final String msgid, final String msgidPlural, final long n, final Object... params) {
// 				final String translated = n == 1 ? msgid : msgidPlural;
// 				return tr(translated, params);
// 			}
// 
// 			@Override
// 			public String trcn(final String context, final String msgid, final String msgidPlural, final long n,
// 					final Object... params) {
// 				return trn(msgid, msgidPlural, n, params);
// 			}
// 
// 			@Override
// 			public String trc(final String context, final String msgid, final Object... params) {
// 				return tr(msgid, params);
// 			}
// 
// 			@Override
// 			public String tr(final String msgid, final Object... params) {
// 				String translated;
// 				try {
// 					translated = ResourceBundle.getBundle(context.getPackage().getName() + ".Messages", locale,
// 							context.getClassLoader()).getString(msgid);
// 				} catch (final MissingResourceException e) {
// 					translated = msgid;
// 				}
// 				return params == null || params.length == 0 ? translated : MessageFormat.format(translated, params);
// 			}
// 
// 			@Override
// 			public PreparedI18n preparetr(final String msg, final Object... params) {
// 				final I18n outer = this;
// 				return new PreparedI18n() {
// 
// 					public String tr() {
// 						return outer.tr(msg, params);
// 					}
// 
// 					public String notr() {
// 						if (params != null && params.length > 0) {
// 							return MessageFormat.format(msg, params);
// 						} else {
// 							return msg;
// 						}
// 					}
// 				};
// 			}
// 
// 			@Override
// 			public Locale getLocale() {
// 				return locale;
// 			}
// 		};
// 	}
// }


import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import de.tototec.cmdoption.internal.I18n;
import de.tototec.cmdoption.internal.I18n.PreparedI18n;
import de.tototec.cmdoption.internal.I18nFactory;
				final Class<?> type = method.getParameterTypes()[0];
				return long.class.equals(type) || Long.class.equals(type);
			}
		}
		return false;
	}

	public void applyParams(final Object config, final AccessibleObject element, final String[] args,
			final String optionName) throws CmdOptionHandlerException {

		long parsedValue = 0;

		try {
			final String arg = args[0];
			parsedValue = Long.parseLong(arg);
		} catch (final NumberFormatException e) {
			final I18n i18n = I18nFactory.getI18n(LongHandler.class);
			final PreparedI18n msg = i18n.preparetr("Could not read long value \"{0}\".", args[0]);
			throw new CmdOptionHandlerException(msg.notr(), e, msg.tr());
		}

		try {
			if (element instanceof Field) {
				final Field field = (Field) element;
				field.set(config, parsedValue);
			} else {
				final Method method = (Method) element;
				method.invoke(config, parsedValue);
			}
		} catch (final Exception e) {
// Path: de.tototec.cmdoption/src/main/java/de/tototec/cmdoption/internal/I18n.java
// public abstract class I18n {
// 
// 	public static String marktr(final String string) {
// 		// Placeholder to allow mark of translatable strings.
// 		return string;
// 	}
// 
// 	public static String marktrc(final String context, final String msgid) {
// 		// Placeholder to allow mark of translatable strings.
// 		return msgid;
// 	}
// 
// 	public interface PreparedI18n {
// 		String notr();
// 
// 		String tr();
// 	}
// 
// 	public abstract String tr(final String msg, final Object... params);
// 
// 	public abstract String trn(String msgid, String msgidPlural, long n, Object... params);
// 
// 	public abstract String trc(String context, String msgid, Object... params);
// 
// 	public abstract String trcn(String context, String msgid, String msgidPlural, long n, Object... params);
// 
// 	public abstract PreparedI18n preparetr(final String msg, final Object... params);
// 
// 	public abstract Locale getLocale();
// 
// }
// 
// Path: de.tototec.cmdoption/src/main/java/de/tototec/cmdoption/internal/I18n.java
// public interface PreparedI18n {
// 	String notr();
// 
// 	String tr();
// }
// 
// Path: de.tototec.cmdoption/src/main/java/de/tototec/cmdoption/internal/I18nFactory.java
// public abstract class I18nFactory {
// 
// 	public static I18n getI18n(final Class<?> context) {
// 		return getI18n(context, Locale.getDefault());
// 	}
// 
// 	public static I18n getI18n(final Class<?> context, final Locale locale) {
// 		// TODO: Later, try to load a real I18n object, e.g. de.tototec.i18n
// 		return new I18n() {
// 
// 			@Override
// 			public String trn(final String msgid, final String msgidPlural, final long n, final Object... params) {
// 				final String translated = n == 1 ? msgid : msgidPlural;
// 				return tr(translated, params);
// 			}
// 
// 			@Override
// 			public String trcn(final String context, final String msgid, final String msgidPlural, final long n,
// 					final Object... params) {
// 				return trn(msgid, msgidPlural, n, params);
// 			}
// 
// 			@Override
// 			public String trc(final String context, final String msgid, final Object... params) {
// 				return tr(msgid, params);
// 			}
// 
// 			@Override
// 			public String tr(final String msgid, final Object... params) {
// 				String translated;
// 				try {
// 					translated = ResourceBundle.getBundle(context.getPackage().getName() + ".Messages", locale,
// 							context.getClassLoader()).getString(msgid);
// 				} catch (final MissingResourceException e) {
// 					translated = msgid;
// 				}
// 				return params == null || params.length == 0 ? translated : MessageFormat.format(translated, params);
// 			}
// 
// 			@Override
// 			public PreparedI18n preparetr(final String msg, final Object... params) {
// 				final I18n outer = this;
// 				return new PreparedI18n() {
// 
// 					public String tr() {
// 						return outer.tr(msg, params);
// 					}
// 
// 					public String notr() {
// 						if (params != null && params.length > 0) {
// 							return MessageFormat.format(msg, params);
// 						} else {
// 							return msg;
// 						}
// 					}
// 				};
// 			}
// 
// 			@Override
// 			public Locale getLocale() {
// 				return locale;
// 			}
// 		};
// 	}
// }


// Path: de.tototec.cmdoption/src/main/java/de/tototec/cmdoption/handler/LongHandler.java
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import de.tototec.cmdoption.internal.I18n;
import de.tototec.cmdoption.internal.I18n.PreparedI18n;
import de.tototec.cmdoption.internal.I18nFactory;

				final Class<?> type = method.getParameterTypes()[0];
				return long.class.equals(type) || Long.class.equals(type);
			}
		}
		return false;
	}

	public void applyParams(final Object config, final AccessibleObject element, final String[] args,
			final String optionName) throws CmdOptionHandlerException {

		long parsedValue = 0;

		try {
			final String arg = args[0];
			parsedValue = Long.parseLong(arg);
		} catch (final NumberFormatException e) {
			final I18n i18n = I18nFactory.getI18n(LongHandler.class);
			final PreparedI18n msg = i18n.preparetr("Could not read long value \"{0}\".", args[0]);
			throw new CmdOptionHandlerException(msg.notr(), e, msg.tr());
		}

		try {
			if (element instanceof Field) {
				final Field field = (Field) element;
				field.set(config, parsedValue);
			} else {
				final Method method = (Method) element;
				method.invoke(config, parsedValue);
			}
		} catch (final Exception e) {
			final I18n i18n = I18nFactory.getI18n(LongHandler.class);