code: public void push(final Type value) {
          if (value == null) {
              mv.visitInsn(Opcodes.ACONST_NULL);
          } else {
              switch (value.getSort()) {
              case Type.BOOLEAN:
                  mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/Boolean",
                          "TYPE", CLDESC);
                  break;
              case Type.CHAR:
                  mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/Character",
                          "TYPE", CLDESC);
                  break;
              case Type.BYTE:
                  mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/Byte", "TYPE",
                          CLDESC);
                  break;
              case Type.SHORT:
                  mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/Short", "TYPE",
                          CLDESC);
                  break;
              case Type.INT:
                  mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/Integer",
                          "TYPE", CLDESC);
                  break;
              case Type.FLOAT:
                  mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/Float", "TYPE",
                          CLDESC);
                  break;
              case Type.LONG:
                  mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/Long", "TYPE",
                          CLDESC);
                  break;
              case Type.DOUBLE:
                  mv.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/Double",
                          "TYPE", CLDESC);
                  break;
              default:
                  mv.visitLdcInsn(value);
              }
          }
      }
docs: Generates the instruction to push the given value on the stack.
  
  @param value
  the value to be pushed on the stack.