// Path: uikit-library/src/main/java/android/utils/Preconditions.java
// public final class Preconditions {
//     private Preconditions() {
//     }
// 
//     public static <T> T checkNotNull(T reference) {
//         if (reference == null) {
//             throw new NullPointerException();
//         }
//         return reference;
//     }
// 
//     public static <T> T checkNotNull(T reference, @Nullable Object errorMessage) {
//         if (reference == null) {
//             throw new NullPointerException(String.valueOf(errorMessage));
//         }
//         return reference;
//     }
// 
//     public static boolean isNull(Object obj) {
//         return obj == null;
//     }
// 
//     public static boolean nonNull(Object obj) {
//         return obj != null;
//     }
// 
// }
// 
// Path: uikit-library/src/main/java/android/utils/AndroidAttrs.java
// public static final List<String> ANDROID_LAYOUT_TAG = Collections.unmodifiableList(new ArrayList<String>() {
//     {
//         add(FrameLayout.class.getSimpleName());
//         add(LinearLayout.class.getSimpleName());
//         add(RelativeLayout.class.getSimpleName());
//     }
// });


import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.utils.Preconditions;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Stack;
import static android.utils.AndroidAttrs.ANDROID_LAYOUT_TAG;
                }
                break;
                case ON_DESTROY: {
                    viewBlock.onDestroy();
                }
                break;
                case ON_ACTIVITY_RESULT: {
                    viewBlock.onActivityResult((Integer) args[0], (Integer) args[1], (Intent) args[2]);
                }
                case ON_BACK_PRESSED: {
                    viewBlock.onBackPressed();
                }
                break;
                case ON_RESTORE_INSTANCE_STATE: {
                    viewBlock.onRestoreInstanceState(((Bundle) args[0]));
                }
                break;
                case ON_SAVE_INSTANCE_STATE: {
                    viewBlock.onSaveInstanceState(((Bundle) args[0]));
                }
                break;
                default:
                    break;
            }

        }
        return false;
    }

    private boolean dispatch(final String method, final Object... args) {
// Path: uikit-library/src/main/java/android/utils/Preconditions.java
// public final class Preconditions {
//     private Preconditions() {
//     }
// 
//     public static <T> T checkNotNull(T reference) {
//         if (reference == null) {
//             throw new NullPointerException();
//         }
//         return reference;
//     }
// 
//     public static <T> T checkNotNull(T reference, @Nullable Object errorMessage) {
//         if (reference == null) {
//             throw new NullPointerException(String.valueOf(errorMessage));
//         }
//         return reference;
//     }
// 
//     public static boolean isNull(Object obj) {
//         return obj == null;
//     }
// 
//     public static boolean nonNull(Object obj) {
//         return obj != null;
//     }
// 
// }
// 
// Path: uikit-library/src/main/java/android/utils/AndroidAttrs.java
// public static final List<String> ANDROID_LAYOUT_TAG = Collections.unmodifiableList(new ArrayList<String>() {
//     {
//         add(FrameLayout.class.getSimpleName());
//         add(LinearLayout.class.getSimpleName());
//         add(RelativeLayout.class.getSimpleName());
//     }
// });


// Path: uikit-library/src/main/java/android/uikit/UIKitActivity.java
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.utils.Preconditions;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Stack;
import static android.utils.AndroidAttrs.ANDROID_LAYOUT_TAG;

                }
                break;
                case ON_DESTROY: {
                    viewBlock.onDestroy();
                }
                break;
                case ON_ACTIVITY_RESULT: {
                    viewBlock.onActivityResult((Integer) args[0], (Integer) args[1], (Intent) args[2]);
                }
                case ON_BACK_PRESSED: {
                    viewBlock.onBackPressed();
                }
                break;
                case ON_RESTORE_INSTANCE_STATE: {
                    viewBlock.onRestoreInstanceState(((Bundle) args[0]));
                }
                break;
                case ON_SAVE_INSTANCE_STATE: {
                    viewBlock.onSaveInstanceState(((Bundle) args[0]));
                }
                break;
                default:
                    break;
            }

        }
        return false;
    }

    private boolean dispatch(final String method, final Object... args) {
        SparseArray<ViewBlock> viewBlocks = getViewBlocks();