public void write(org.apache.thrift.protocol.TProtocol prot, put_args struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetInterfaceName()) {
          optionals.set(0);
        }
        if (struct.isSetImplClassName()) {
          optionals.set(1);
        }
        if (struct.isSetClassNames()) {
          optionals.set(2);
        }
        if (struct.isSetClasses()) {
          optionals.set(3);
        }
        oprot.writeBitSet(optionals, 4);
        if (struct.isSetInterfaceName()) {
          oprot.writeString(struct.interfaceName);
        }
        if (struct.isSetImplClassName()) {
          oprot.writeString(struct.implClassName);
        }
        if (struct.isSetClassNames()) {
          {
            oprot.writeI32(struct.classNames.size());
            for (String _iter8 : struct.classNames)
            {
              oprot.writeString(_iter8);
            }
          }
        }
        if (struct.isSetClasses()) {
          {
            oprot.writeI32(struct.classes.size());
            for (ByteBuffer _iter9 : struct.classes)
            {
              oprot.writeBinary(_iter9);
            }
          }
        }
      }