// Path: lib-core/src/main/java/xdroid/core/ObjectUtils.java
// public static <T> boolean isEmpty(T[] array) {
//     return array == null || array.length == 0;
// }
// 
// Path: lib-core/src/main/java/xdroid/core/ObjectUtils.java
// public static <T> T notNull(T object) {
//     if (object == null) {
//         throw new NullPointerException();
//     }
// 
//     return object;
// }


import android.content.Context;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.util.AttributeSet;
import android.view.InflateException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import static xdroid.core.ObjectUtils.isEmpty;
import static xdroid.core.ObjectUtils.notNull;
import static xdroid.inflater.BuildConfig.SNAPSHOT;
                type = parser.next();
            } while (type != XmlPullParser.START_TAG && type != XmlPullParser.END_DOCUMENT);

            if (type != XmlPullParser.START_TAG) {
                throw new InflateException(parser.getPositionDescription());
            }

            T result = notNull(createFromTag(context, parser, null, parser));

            if (mCompositeClazz.isInstance(result)) {
                inflateRec(context, parser, mCompositeClazz.cast(result), parser);
            }

            return result;
        } catch (XmlPullParserException | IOException ex) {
            throw new InflateException(parser.getPositionDescription(), ex);
        }
    }

    private void inflateRec(Context context, XmlPullParser parser, C parent, AttributeSet attrs) throws XmlPullParserException, IOException {
        final int depth = parser.getDepth();
        int type;

        while (((type = parser.next()) != XmlPullParser.END_TAG || parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) {
            if (type != XmlPullParser.START_TAG) {
                continue;
            }

            T item = notNull(createFromTag(context, parser, parent, attrs));

// Path: lib-core/src/main/java/xdroid/core/ObjectUtils.java
// public static <T> boolean isEmpty(T[] array) {
//     return array == null || array.length == 0;
// }
// 
// Path: lib-core/src/main/java/xdroid/core/ObjectUtils.java
// public static <T> T notNull(T object) {
//     if (object == null) {
//         throw new NullPointerException();
//     }
// 
//     return object;
// }


// Path: lib-inflater/src/main/java/xdroid/inflater/AbstractInflater.java
import android.content.Context;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.util.AttributeSet;
import android.view.InflateException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import static xdroid.core.ObjectUtils.isEmpty;
import static xdroid.core.ObjectUtils.notNull;
import static xdroid.inflater.BuildConfig.SNAPSHOT;

                type = parser.next();
            } while (type != XmlPullParser.START_TAG && type != XmlPullParser.END_DOCUMENT);

            if (type != XmlPullParser.START_TAG) {
                throw new InflateException(parser.getPositionDescription());
            }

            T result = notNull(createFromTag(context, parser, null, parser));

            if (mCompositeClazz.isInstance(result)) {
                inflateRec(context, parser, mCompositeClazz.cast(result), parser);
            }

            return result;
        } catch (XmlPullParserException | IOException ex) {
            throw new InflateException(parser.getPositionDescription(), ex);
        }
    }

    private void inflateRec(Context context, XmlPullParser parser, C parent, AttributeSet attrs) throws XmlPullParserException, IOException {
        final int depth = parser.getDepth();
        int type;

        while (((type = parser.next()) != XmlPullParser.END_TAG || parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) {
            if (type != XmlPullParser.START_TAG) {
                continue;
            }

            T item = notNull(createFromTag(context, parser, parent, attrs));

            if (mCompositeClazz.isInstance(item)) {