// Path: android/Commons/src/triaina/commons/exception/NotFoundRuntimeException.java
// public class NotFoundRuntimeException extends CommonRuntimeException {
// 
// 	private static final long serialVersionUID = 5486025835429632952L;
// 
// 	public NotFoundRuntimeException() {
// 		super();
// 	}
// 
// 	public NotFoundRuntimeException(String detailMessage, Throwable throwable) {
// 		super(detailMessage, throwable);
// 	}
// 
// 	public NotFoundRuntimeException(String detailMessage) {
// 		super(detailMessage);
// 	}
// 
// 	public NotFoundRuntimeException(Throwable throwable) {
// 		super(throwable);
// 	}
// }
// 
// Path: android/Commons/src/triaina/commons/exception/SecurityRuntimeException.java
// public class SecurityRuntimeException extends CommonRuntimeException {
// 
// 	private static final long serialVersionUID = 6244026068714272574L;
// 
// 	private String mUrl;
// 
// 	public SecurityRuntimeException() {
// 		super();
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage, Throwable throwable) {
// 		super(detailMessage, throwable);
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage) {
// 		super(detailMessage);
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage, String url) {
// 		this(detailMessage);
// 		mUrl = url;
// 	}
// 
// 	public SecurityRuntimeException(Throwable throwable) {
// 		super(throwable);
// 	}
// 
// 	public SecurityRuntimeException(Throwable throwable, String url) {
// 		this(throwable);
// 		mUrl = url;
// 	}
// 
// 	public String getUrl(){
// 		return mUrl;
// 	}
// }


import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import triaina.commons.exception.IllegalAccessRuntimeException;
import triaina.commons.exception.IllegalArgumentRuntimeException;
import triaina.commons.exception.InstantiationRuntimeException;
import triaina.commons.exception.InvocationRuntimeException;
import triaina.commons.exception.NotFoundRuntimeException;
import triaina.commons.exception.SecurityRuntimeException;
    public static <T> T newInstance(Class<T> clazz) {
        try {
            return clazz.newInstance();
        } catch (IllegalAccessException exp) {
            throw new IllegalAccessRuntimeException(exp);
        } catch (InstantiationException exp) {
            throw new InstantiationRuntimeException(exp);
        }
    }

    public static <T> T newInstance(Class<T> clazz, Object... args) {
        Class<?>[] paramTypes = toClasses(args);
        try {
            return getConstructor(clazz, paramTypes).newInstance(args);
        } catch (IllegalAccessException exp) {
            throw new IllegalAccessRuntimeException(exp);
        } catch (InstantiationException exp) {
            throw new InstantiationRuntimeException(exp);
        } catch (IllegalArgumentException exp) {
            throw new IllegalArgumentRuntimeException(exp);
        } catch (InvocationTargetException exp) {
            throw new InvocationRuntimeException(exp);
        }
    }

    public static <T> Constructor<T> getConstructor(Class<T> clazz,
            Class<?>[] paramTypes) {
        try {
            return clazz.getConstructor(paramTypes);
        } catch (SecurityException exp) {
// Path: android/Commons/src/triaina/commons/exception/NotFoundRuntimeException.java
// public class NotFoundRuntimeException extends CommonRuntimeException {
// 
// 	private static final long serialVersionUID = 5486025835429632952L;
// 
// 	public NotFoundRuntimeException() {
// 		super();
// 	}
// 
// 	public NotFoundRuntimeException(String detailMessage, Throwable throwable) {
// 		super(detailMessage, throwable);
// 	}
// 
// 	public NotFoundRuntimeException(String detailMessage) {
// 		super(detailMessage);
// 	}
// 
// 	public NotFoundRuntimeException(Throwable throwable) {
// 		super(throwable);
// 	}
// }
// 
// Path: android/Commons/src/triaina/commons/exception/SecurityRuntimeException.java
// public class SecurityRuntimeException extends CommonRuntimeException {
// 
// 	private static final long serialVersionUID = 6244026068714272574L;
// 
// 	private String mUrl;
// 
// 	public SecurityRuntimeException() {
// 		super();
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage, Throwable throwable) {
// 		super(detailMessage, throwable);
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage) {
// 		super(detailMessage);
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage, String url) {
// 		this(detailMessage);
// 		mUrl = url;
// 	}
// 
// 	public SecurityRuntimeException(Throwable throwable) {
// 		super(throwable);
// 	}
// 
// 	public SecurityRuntimeException(Throwable throwable, String url) {
// 		this(throwable);
// 		mUrl = url;
// 	}
// 
// 	public String getUrl(){
// 		return mUrl;
// 	}
// }


// Path: android/Commons/src/triaina/commons/utils/ClassUtils.java
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import triaina.commons.exception.IllegalAccessRuntimeException;
import triaina.commons.exception.IllegalArgumentRuntimeException;
import triaina.commons.exception.InstantiationRuntimeException;
import triaina.commons.exception.InvocationRuntimeException;
import triaina.commons.exception.NotFoundRuntimeException;
import triaina.commons.exception.SecurityRuntimeException;

    public static <T> T newInstance(Class<T> clazz) {
        try {
            return clazz.newInstance();
        } catch (IllegalAccessException exp) {
            throw new IllegalAccessRuntimeException(exp);
        } catch (InstantiationException exp) {
            throw new InstantiationRuntimeException(exp);
        }
    }

    public static <T> T newInstance(Class<T> clazz, Object... args) {
        Class<?>[] paramTypes = toClasses(args);
        try {
            return getConstructor(clazz, paramTypes).newInstance(args);
        } catch (IllegalAccessException exp) {
            throw new IllegalAccessRuntimeException(exp);
        } catch (InstantiationException exp) {
            throw new InstantiationRuntimeException(exp);
        } catch (IllegalArgumentException exp) {
            throw new IllegalArgumentRuntimeException(exp);
        } catch (InvocationTargetException exp) {
            throw new InvocationRuntimeException(exp);
        }
    }

    public static <T> Constructor<T> getConstructor(Class<T> clazz,
            Class<?>[] paramTypes) {
        try {
            return clazz.getConstructor(paramTypes);
        } catch (SecurityException exp) {
            throw new SecurityRuntimeException(exp);