diff --git a/core/java/android/view/inputmethod/InputConnectionWrapper.java b/core/java/android/view/inputmethod/InputConnectionWrapper.java
index 65c7654..afa72a2 100644
--- a/core/java/android/view/inputmethod/InputConnectionWrapper.java
+++ b/core/java/android/view/inputmethod/InputConnectionWrapper.java
@@ -16,33 +16,47 @@
 
 package android.view.inputmethod;
 
+import android.annotation.NonNull;
 import android.os.Bundle;
 import android.os.Handler;
 import android.view.KeyEvent;
 
+import static com.android.internal.util.Preconditions.checkNotNull;
+
 /**
  * <p>Wrapper class for proxying calls to another InputConnection.  Subclass
  * and have fun!
  */
 public class InputConnectionWrapper implements InputConnection {
+    @NonNull
     private InputConnection mTarget;
     final boolean mMutable;
-    
-    public InputConnectionWrapper(InputConnection target, boolean mutable) {
+
+    /**
+     * Initializes the wrapper for the given {@link InputConnection}.
+     * @param target the {@link InputConnection} to be wrapped.
+     * @param mutable {@code true} if the wrapper is to be mutable.
+     * @throws NullPointerException if {@code target} is {@code null}.
+     */
+    public InputConnectionWrapper(@NonNull InputConnection target, boolean mutable) {
+        checkNotNull(target);
         mMutable = mutable;
         mTarget = target;
     }
 
     /**
      * Change the target of the input connection.
+     * @param target the {@link InputConnection} to be wrapped.
+     * @throws NullPointerException if {@code target} is {@code null}.
      */
-    public void setTarget(InputConnection target) {
+    public void setTarget(@NonNull InputConnection target) {
+        checkNotNull(target);
         if (mTarget != null && !mMutable) {
             throw new SecurityException("not mutable");
         }
         mTarget = target;
     }
-    
+
     public CharSequence getTextBeforeCursor(int n, int flags) {
         return mTarget.getTextBeforeCursor(n, flags);
     }
