// Path: library/src/main/java/com/danikula/aibolit/Validate.java
// public class Validate {
// 
//     /**
//      * Checks variable on <code>null</code>
//      * 
//      * @param object Object variable to be checked
//      * @param message String message of exception to be throwed if parameter is <code>null</code>
//      * @throws IllegalArgumentException if <code>object</code> is <code>null</code>
//      */
//     public static void notNull(Object object, String message) {
//         if (object == null) {
//             throw new IllegalArgumentException(message);
//         }
//     }
// 
//     /**
//      * Checks contition on <code>true</code>
//      * 
//      * @param condition boolean condition to check
//      * @param message String message of exception to be throwed if condition is not <code>true</code>
//      * @throws IllegalArgumentException if <code>condition</code> is not <code>true</code>
//      */
//     public static void checkTrue(boolean condition, String message) {
//         if (!condition) {
//             throw new IllegalArgumentException(message);
//         }
//     }
// 
// }


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import com.danikula.aibolit.Validate;
package com.danikula.aibolit.test.support;




public abstract class MutableListAdapter<T> extends BaseAdapter {

    private static final int UNDEFINED_LAYOUT_ID = -1;

    private Context context;

    private int layoutId;

    private List<T> objects = new ArrayList<T>();

    public MutableListAdapter(Context context, int layoutId) {
// Path: library/src/main/java/com/danikula/aibolit/Validate.java
// public class Validate {
// 
//     /**
//      * Checks variable on <code>null</code>
//      * 
//      * @param object Object variable to be checked
//      * @param message String message of exception to be throwed if parameter is <code>null</code>
//      * @throws IllegalArgumentException if <code>object</code> is <code>null</code>
//      */
//     public static void notNull(Object object, String message) {
//         if (object == null) {
//             throw new IllegalArgumentException(message);
//         }
//     }
// 
//     /**
//      * Checks contition on <code>true</code>
//      * 
//      * @param condition boolean condition to check
//      * @param message String message of exception to be throwed if condition is not <code>true</code>
//      * @throws IllegalArgumentException if <code>condition</code> is not <code>true</code>
//      */
//     public static void checkTrue(boolean condition, String message) {
//         if (!condition) {
//             throw new IllegalArgumentException(message);
//         }
//     }
// 
// }


// Path: sample/src/main/java/com/danikula/aibolit/test/support/MutableListAdapter.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import com.danikula.aibolit.Validate;

package com.danikula.aibolit.test.support;




public abstract class MutableListAdapter<T> extends BaseAdapter {

    private static final int UNDEFINED_LAYOUT_ID = -1;

    private Context context;

    private int layoutId;

    private List<T> objects = new ArrayList<T>();

    public MutableListAdapter(Context context, int layoutId) {
        Validate.notNull(context, "Context should not be null");