@Override
    public void read(org.apache.thrift.protocol.TProtocol prot, CompletionOption struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(4);
      if (incoming.get(0)) {
        struct.name = iprot.readString();
        struct.setNameIsSet(true);
      }
      if (incoming.get(1)) {
        struct.documentation = iprot.readString();
        struct.setDocumentationIsSet(true);
      }
      if (incoming.get(2)) {
        {
          org.apache.thrift.protocol.TList _list37 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
          struct.arguments = new java.util.ArrayList<java.lang.String>(_list37.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _elem38;
          for (int _i39 = 0; _i39 < _list37.size; ++_i39)
          {
            _elem38 = iprot.readString();
            struct.arguments.add(_elem38);
          }
        }
        struct.setArgumentsIsSet(true);
      }
      if (incoming.get(3)) {
        struct.type = com.jetbrains.python.console.protocol.CompletionOptionType.findByValue(iprot.readI32());
        struct.setTypeIsSet(true);
      }
    }
@Override
    public void read(org.apache.thrift.protocol.TProtocol prot, CompletionOption struct)