/** Creates a new clinit method and adds mixin instantiation if it does not exist. */
  public void visitEnd() {
    if (m_isAdvised && !m_hasClinit) {
      // add the <clinit> method
      MethodVisitor mv =
          cv.visitMethod(
              ACC_STATIC, CLINIT_METHOD_NAME, NO_PARAM_RETURN_VOID_SIGNATURE, null, null);
      for (Iterator i4 = m_mixinFields.values().iterator(); i4.hasNext(); ) {
        MixinFieldInfo fieldInfo = (MixinFieldInfo) i4.next();
        if (fieldInfo.isStatic) {
          initializeStaticMixinField(mv, fieldInfo);
        }
      }

      mv.visitInsn(RETURN);
      mv.visitMaxs(0, 0);
    }
    super.visitEnd();
  }
 @Override
 public void visitEnd() {
   super.visitEnd();
 }