public void arrayStore(Class cls) {
    if (cls.isPrimitive()) {
      if (cls == int.class) {
        assert debug("IASTORE");
        mv.visitInsn(IASTORE);
      }
      else if (cls == char.class) {
        assert debug("CASTORE");
        mv.visitInsn(CASTORE);
      }
      else if (cls == boolean.class) {
        assert debug("BASTORE");
        mv.visitInsn(BASTORE);
      }
      else if (cls == double.class) {
        assert debug("DASTORE");
        mv.visitInsn(DASTORE);
      }
      else if (cls == float.class) {
        assert debug("FASTORE");
        mv.visitInsn(FASTORE);
      }
      else if (cls == short.class) {
        assert debug("SASTORE");
        mv.visitInsn(SASTORE);
      }
      else if (cls == long.class) {
        assert debug("LASTORE");
        mv.visitInsn(LASTORE);
      }
      else if (cls == byte.class) {
        assert debug("BASTORE");
        mv.visitInsn(BASTORE);
      }
    }
    else {
      assert debug("AASTORE");
      mv.visitInsn(AASTORE);
    }

  }