All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonarsource.sonarlint.core.proto.Sonarlint Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: sonarlint.proto

package org.sonarsource.sonarlint.core.proto;

public final class Sonarlint {
  private Sonarlint() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface StorageStatusOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.StorageStatus)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string storage_version = 1;
     * @return The storageVersion.
     */
    java.lang.String getStorageVersion();
    /**
     * string storage_version = 1;
     * @return The bytes for storageVersion.
     */
    com.google.protobuf.ByteString
        getStorageVersionBytes();

    /**
     * string sonarlint_core_version = 2;
     * @return The sonarlintCoreVersion.
     */
    java.lang.String getSonarlintCoreVersion();
    /**
     * string sonarlint_core_version = 2;
     * @return The bytes for sonarlintCoreVersion.
     */
    com.google.protobuf.ByteString
        getSonarlintCoreVersionBytes();

    /**
     * int64 update_timestamp = 4;
     * @return The updateTimestamp.
     */
    long getUpdateTimestamp();
  }
  /**
   * Protobuf type {@code sonarlint.StorageStatus}
   */
  public static final class StorageStatus extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.StorageStatus)
      StorageStatusOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StorageStatus.newBuilder() to construct.
    private StorageStatus(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private StorageStatus() {
      storageVersion_ = "";
      sonarlintCoreVersion_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StorageStatus();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StorageStatus(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              storageVersion_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              sonarlintCoreVersion_ = s;
              break;
            }
            case 32: {

              updateTimestamp_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageStatus_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageStatus_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus.class, org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus.Builder.class);
    }

    public static final int STORAGE_VERSION_FIELD_NUMBER = 1;
    private volatile java.lang.Object storageVersion_;
    /**
     * string storage_version = 1;
     * @return The storageVersion.
     */
    @java.lang.Override
    public java.lang.String getStorageVersion() {
      java.lang.Object ref = storageVersion_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        storageVersion_ = s;
        return s;
      }
    }
    /**
     * string storage_version = 1;
     * @return The bytes for storageVersion.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getStorageVersionBytes() {
      java.lang.Object ref = storageVersion_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        storageVersion_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SONARLINT_CORE_VERSION_FIELD_NUMBER = 2;
    private volatile java.lang.Object sonarlintCoreVersion_;
    /**
     * string sonarlint_core_version = 2;
     * @return The sonarlintCoreVersion.
     */
    @java.lang.Override
    public java.lang.String getSonarlintCoreVersion() {
      java.lang.Object ref = sonarlintCoreVersion_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        sonarlintCoreVersion_ = s;
        return s;
      }
    }
    /**
     * string sonarlint_core_version = 2;
     * @return The bytes for sonarlintCoreVersion.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSonarlintCoreVersionBytes() {
      java.lang.Object ref = sonarlintCoreVersion_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sonarlintCoreVersion_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int UPDATE_TIMESTAMP_FIELD_NUMBER = 4;
    private long updateTimestamp_;
    /**
     * int64 update_timestamp = 4;
     * @return The updateTimestamp.
     */
    @java.lang.Override
    public long getUpdateTimestamp() {
      return updateTimestamp_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getStorageVersionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, storageVersion_);
      }
      if (!getSonarlintCoreVersionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, sonarlintCoreVersion_);
      }
      if (updateTimestamp_ != 0L) {
        output.writeInt64(4, updateTimestamp_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getStorageVersionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, storageVersion_);
      }
      if (!getSonarlintCoreVersionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, sonarlintCoreVersion_);
      }
      if (updateTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, updateTimestamp_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus other = (org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus) obj;

      if (!getStorageVersion()
          .equals(other.getStorageVersion())) return false;
      if (!getSonarlintCoreVersion()
          .equals(other.getSonarlintCoreVersion())) return false;
      if (getUpdateTimestamp()
          != other.getUpdateTimestamp()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + STORAGE_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getStorageVersion().hashCode();
      hash = (37 * hash) + SONARLINT_CORE_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getSonarlintCoreVersion().hashCode();
      hash = (37 * hash) + UPDATE_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUpdateTimestamp());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.StorageStatus}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.StorageStatus)
        org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatusOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageStatus_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageStatus_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus.class, org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        storageVersion_ = "";

        sonarlintCoreVersion_ = "";

        updateTimestamp_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageStatus_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus result = new org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus(this);
        result.storageVersion_ = storageVersion_;
        result.sonarlintCoreVersion_ = sonarlintCoreVersion_;
        result.updateTimestamp_ = updateTimestamp_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus.getDefaultInstance()) return this;
        if (!other.getStorageVersion().isEmpty()) {
          storageVersion_ = other.storageVersion_;
          onChanged();
        }
        if (!other.getSonarlintCoreVersion().isEmpty()) {
          sonarlintCoreVersion_ = other.sonarlintCoreVersion_;
          onChanged();
        }
        if (other.getUpdateTimestamp() != 0L) {
          setUpdateTimestamp(other.getUpdateTimestamp());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object storageVersion_ = "";
      /**
       * string storage_version = 1;
       * @return The storageVersion.
       */
      public java.lang.String getStorageVersion() {
        java.lang.Object ref = storageVersion_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          storageVersion_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string storage_version = 1;
       * @return The bytes for storageVersion.
       */
      public com.google.protobuf.ByteString
          getStorageVersionBytes() {
        java.lang.Object ref = storageVersion_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          storageVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string storage_version = 1;
       * @param value The storageVersion to set.
       * @return This builder for chaining.
       */
      public Builder setStorageVersion(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        storageVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * string storage_version = 1;
       * @return This builder for chaining.
       */
      public Builder clearStorageVersion() {
        
        storageVersion_ = getDefaultInstance().getStorageVersion();
        onChanged();
        return this;
      }
      /**
       * string storage_version = 1;
       * @param value The bytes for storageVersion to set.
       * @return This builder for chaining.
       */
      public Builder setStorageVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        storageVersion_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object sonarlintCoreVersion_ = "";
      /**
       * string sonarlint_core_version = 2;
       * @return The sonarlintCoreVersion.
       */
      public java.lang.String getSonarlintCoreVersion() {
        java.lang.Object ref = sonarlintCoreVersion_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          sonarlintCoreVersion_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string sonarlint_core_version = 2;
       * @return The bytes for sonarlintCoreVersion.
       */
      public com.google.protobuf.ByteString
          getSonarlintCoreVersionBytes() {
        java.lang.Object ref = sonarlintCoreVersion_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sonarlintCoreVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string sonarlint_core_version = 2;
       * @param value The sonarlintCoreVersion to set.
       * @return This builder for chaining.
       */
      public Builder setSonarlintCoreVersion(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sonarlintCoreVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * string sonarlint_core_version = 2;
       * @return This builder for chaining.
       */
      public Builder clearSonarlintCoreVersion() {
        
        sonarlintCoreVersion_ = getDefaultInstance().getSonarlintCoreVersion();
        onChanged();
        return this;
      }
      /**
       * string sonarlint_core_version = 2;
       * @param value The bytes for sonarlintCoreVersion to set.
       * @return This builder for chaining.
       */
      public Builder setSonarlintCoreVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sonarlintCoreVersion_ = value;
        onChanged();
        return this;
      }

      private long updateTimestamp_ ;
      /**
       * int64 update_timestamp = 4;
       * @return The updateTimestamp.
       */
      @java.lang.Override
      public long getUpdateTimestamp() {
        return updateTimestamp_;
      }
      /**
       * int64 update_timestamp = 4;
       * @param value The updateTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setUpdateTimestamp(long value) {
        
        updateTimestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 update_timestamp = 4;
       * @return This builder for chaining.
       */
      public Builder clearUpdateTimestamp() {
        
        updateTimestamp_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.StorageStatus)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.StorageStatus)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public StorageStatus parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StorageStatus(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.StorageStatus getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ServerInfosOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.ServerInfos)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string id = 1;
     * @return The id.
     */
    java.lang.String getId();
    /**
     * string id = 1;
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * string version = 2;
     * @return The version.
     */
    java.lang.String getVersion();
    /**
     * string version = 2;
     * @return The bytes for version.
     */
    com.google.protobuf.ByteString
        getVersionBytes();

    /**
     * string status = 3;
     * @return The status.
     */
    java.lang.String getStatus();
    /**
     * string status = 3;
     * @return The bytes for status.
     */
    com.google.protobuf.ByteString
        getStatusBytes();
  }
  /**
   * Protobuf type {@code sonarlint.ServerInfos}
   */
  public static final class ServerInfos extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.ServerInfos)
      ServerInfosOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ServerInfos.newBuilder() to construct.
    private ServerInfos(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ServerInfos() {
      id_ = "";
      version_ = "";
      status_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ServerInfos();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ServerInfos(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              id_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              version_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              status_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerInfos_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerInfos_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * string id = 1;
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        id_ = s;
        return s;
      }
    }
    /**
     * string id = 1;
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VERSION_FIELD_NUMBER = 2;
    private volatile java.lang.Object version_;
    /**
     * string version = 2;
     * @return The version.
     */
    @java.lang.Override
    public java.lang.String getVersion() {
      java.lang.Object ref = version_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        version_ = s;
        return s;
      }
    }
    /**
     * string version = 2;
     * @return The bytes for version.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getVersionBytes() {
      java.lang.Object ref = version_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        version_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATUS_FIELD_NUMBER = 3;
    private volatile java.lang.Object status_;
    /**
     * string status = 3;
     * @return The status.
     */
    @java.lang.Override
    public java.lang.String getStatus() {
      java.lang.Object ref = status_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        status_ = s;
        return s;
      }
    }
    /**
     * string status = 3;
     * @return The bytes for status.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getStatusBytes() {
      java.lang.Object ref = status_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        status_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (!getVersionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, version_);
      }
      if (!getStatusBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, status_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (!getVersionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, version_);
      }
      if (!getStatusBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, status_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos) obj;

      if (!getId()
          .equals(other.getId())) return false;
      if (!getVersion()
          .equals(other.getVersion())) return false;
      if (!getStatus()
          .equals(other.getStatus())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getVersion().hashCode();
      hash = (37 * hash) + STATUS_FIELD_NUMBER;
      hash = (53 * hash) + getStatus().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.ServerInfos}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.ServerInfos)
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfosOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerInfos_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerInfos_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = "";

        version_ = "";

        status_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerInfos_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos(this);
        result.id_ = id_;
        result.version_ = version_;
        result.status_ = status_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (!other.getVersion().isEmpty()) {
          version_ = other.version_;
          onChanged();
        }
        if (!other.getStatus().isEmpty()) {
          status_ = other.status_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object id_ = "";
      /**
       * string id = 1;
       * @return The id.
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string id = 1;
       * @return The bytes for id.
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string id = 1;
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * string id = 1;
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object version_ = "";
      /**
       * string version = 2;
       * @return The version.
       */
      public java.lang.String getVersion() {
        java.lang.Object ref = version_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          version_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string version = 2;
       * @return The bytes for version.
       */
      public com.google.protobuf.ByteString
          getVersionBytes() {
        java.lang.Object ref = version_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          version_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string version = 2;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * string version = 2;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        
        version_ = getDefaultInstance().getVersion();
        onChanged();
        return this;
      }
      /**
       * string version = 2;
       * @param value The bytes for version to set.
       * @return This builder for chaining.
       */
      public Builder setVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        version_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object status_ = "";
      /**
       * string status = 3;
       * @return The status.
       */
      public java.lang.String getStatus() {
        java.lang.Object ref = status_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          status_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string status = 3;
       * @return The bytes for status.
       */
      public com.google.protobuf.ByteString
          getStatusBytes() {
        java.lang.Object ref = status_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          status_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string status = 3;
       * @param value The status to set.
       * @return This builder for chaining.
       */
      public Builder setStatus(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        status_ = value;
        onChanged();
        return this;
      }
      /**
       * string status = 3;
       * @return This builder for chaining.
       */
      public Builder clearStatus() {
        
        status_ = getDefaultInstance().getStatus();
        onChanged();
        return this;
      }
      /**
       * string status = 3;
       * @param value The bytes for status to set.
       * @return This builder for chaining.
       */
      public Builder setStatusBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        status_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.ServerInfos)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.ServerInfos)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ServerInfos parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ServerInfos(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PluginReferencesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.PluginReferences)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    java.util.List 
        getReferenceList();
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference getReference(int index);
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    int getReferenceCount();
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    java.util.List 
        getReferenceOrBuilderList();
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReferenceOrBuilder getReferenceOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code sonarlint.PluginReferences}
   */
  public static final class PluginReferences extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.PluginReferences)
      PluginReferencesOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PluginReferences.newBuilder() to construct.
    private PluginReferences(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PluginReferences() {
      reference_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PluginReferences();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PluginReferences(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                reference_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              reference_.add(
                  input.readMessage(org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          reference_ = java.util.Collections.unmodifiableList(reference_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.class, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.Builder.class);
    }

    public interface PluginReferenceOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.PluginReferences.PluginReference)
        com.google.protobuf.MessageOrBuilder {

      /**
       * string key = 1;
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * string key = 1;
       * @return The bytes for key.
       */
      com.google.protobuf.ByteString
          getKeyBytes();

      /**
       * string hash = 2;
       * @return The hash.
       */
      java.lang.String getHash();
      /**
       * string hash = 2;
       * @return The bytes for hash.
       */
      com.google.protobuf.ByteString
          getHashBytes();

      /**
       * string filename = 3;
       * @return The filename.
       */
      java.lang.String getFilename();
      /**
       * string filename = 3;
       * @return The bytes for filename.
       */
      com.google.protobuf.ByteString
          getFilenameBytes();
    }
    /**
     * Protobuf type {@code sonarlint.PluginReferences.PluginReference}
     */
    public static final class PluginReference extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:sonarlint.PluginReferences.PluginReference)
        PluginReferenceOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use PluginReference.newBuilder() to construct.
      private PluginReference(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private PluginReference() {
        key_ = "";
        hash_ = "";
        filename_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new PluginReference();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private PluginReference(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();

                key_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();

                hash_ = s;
                break;
              }
              case 26: {
                java.lang.String s = input.readStringRequireUtf8();

                filename_ = s;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_PluginReference_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_PluginReference_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.class, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder.class);
      }

      public static final int KEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object key_;
      /**
       * string key = 1;
       * @return The key.
       */
      @java.lang.Override
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          key_ = s;
          return s;
        }
      }
      /**
       * string key = 1;
       * @return The bytes for key.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int HASH_FIELD_NUMBER = 2;
      private volatile java.lang.Object hash_;
      /**
       * string hash = 2;
       * @return The hash.
       */
      @java.lang.Override
      public java.lang.String getHash() {
        java.lang.Object ref = hash_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          hash_ = s;
          return s;
        }
      }
      /**
       * string hash = 2;
       * @return The bytes for hash.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHashBytes() {
        java.lang.Object ref = hash_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hash_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int FILENAME_FIELD_NUMBER = 3;
      private volatile java.lang.Object filename_;
      /**
       * string filename = 3;
       * @return The filename.
       */
      @java.lang.Override
      public java.lang.String getFilename() {
        java.lang.Object ref = filename_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          filename_ = s;
          return s;
        }
      }
      /**
       * string filename = 3;
       * @return The bytes for filename.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getFilenameBytes() {
        java.lang.Object ref = filename_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          filename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!getKeyBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_);
        }
        if (!getHashBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, hash_);
        }
        if (!getFilenameBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 3, filename_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!getKeyBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_);
        }
        if (!getHashBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, hash_);
        }
        if (!getFilenameBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, filename_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference)) {
          return super.equals(obj);
        }
        org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference other = (org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference) obj;

        if (!getKey()
            .equals(other.getKey())) return false;
        if (!getHash()
            .equals(other.getHash())) return false;
        if (!getFilename()
            .equals(other.getFilename())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + KEY_FIELD_NUMBER;
        hash = (53 * hash) + getKey().hashCode();
        hash = (37 * hash) + HASH_FIELD_NUMBER;
        hash = (53 * hash) + getHash().hashCode();
        hash = (37 * hash) + FILENAME_FIELD_NUMBER;
        hash = (53 * hash) + getFilename().hashCode();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code sonarlint.PluginReferences.PluginReference}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:sonarlint.PluginReferences.PluginReference)
          org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReferenceOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_PluginReference_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_PluginReference_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.class, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder.class);
        }

        // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          key_ = "";

          hash_ = "";

          filename_ = "";

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_PluginReference_descriptor;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference getDefaultInstanceForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.getDefaultInstance();
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference build() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference buildPartial() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference result = new org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference(this);
          result.key_ = key_;
          result.hash_ = hash_;
          result.filename_ = filename_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference) {
            return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference other) {
          if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.getDefaultInstance()) return this;
          if (!other.getKey().isEmpty()) {
            key_ = other.key_;
            onChanged();
          }
          if (!other.getHash().isEmpty()) {
            hash_ = other.hash_;
            onChanged();
          }
          if (!other.getFilename().isEmpty()) {
            filename_ = other.filename_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private java.lang.Object key_ = "";
        /**
         * string key = 1;
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string key = 1;
         * @return The bytes for key.
         */
        public com.google.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string key = 1;
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * string key = 1;
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * string key = 1;
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          key_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object hash_ = "";
        /**
         * string hash = 2;
         * @return The hash.
         */
        public java.lang.String getHash() {
          java.lang.Object ref = hash_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            hash_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string hash = 2;
         * @return The bytes for hash.
         */
        public com.google.protobuf.ByteString
            getHashBytes() {
          java.lang.Object ref = hash_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            hash_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string hash = 2;
         * @param value The hash to set.
         * @return This builder for chaining.
         */
        public Builder setHash(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          hash_ = value;
          onChanged();
          return this;
        }
        /**
         * string hash = 2;
         * @return This builder for chaining.
         */
        public Builder clearHash() {
          
          hash_ = getDefaultInstance().getHash();
          onChanged();
          return this;
        }
        /**
         * string hash = 2;
         * @param value The bytes for hash to set.
         * @return This builder for chaining.
         */
        public Builder setHashBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          hash_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object filename_ = "";
        /**
         * string filename = 3;
         * @return The filename.
         */
        public java.lang.String getFilename() {
          java.lang.Object ref = filename_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            filename_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string filename = 3;
         * @return The bytes for filename.
         */
        public com.google.protobuf.ByteString
            getFilenameBytes() {
          java.lang.Object ref = filename_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            filename_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string filename = 3;
         * @param value The filename to set.
         * @return This builder for chaining.
         */
        public Builder setFilename(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          filename_ = value;
          onChanged();
          return this;
        }
        /**
         * string filename = 3;
         * @return This builder for chaining.
         */
        public Builder clearFilename() {
          
          filename_ = getDefaultInstance().getFilename();
          onChanged();
          return this;
        }
        /**
         * string filename = 3;
         * @param value The bytes for filename to set.
         * @return This builder for chaining.
         */
        public Builder setFilenameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          filename_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:sonarlint.PluginReferences.PluginReference)
      }

      // @@protoc_insertion_point(class_scope:sonarlint.PluginReferences.PluginReference)
      private static final org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference();
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public PluginReference parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new PluginReference(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int REFERENCE_FIELD_NUMBER = 1;
    private java.util.List reference_;
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    @java.lang.Override
    public java.util.List getReferenceList() {
      return reference_;
    }
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    @java.lang.Override
    public java.util.List 
        getReferenceOrBuilderList() {
      return reference_;
    }
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    @java.lang.Override
    public int getReferenceCount() {
      return reference_.size();
    }
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference getReference(int index) {
      return reference_.get(index);
    }
    /**
     * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
     */
    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReferenceOrBuilder getReferenceOrBuilder(
        int index) {
      return reference_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < reference_.size(); i++) {
        output.writeMessage(1, reference_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < reference_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, reference_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences other = (org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences) obj;

      if (!getReferenceList()
          .equals(other.getReferenceList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getReferenceCount() > 0) {
        hash = (37 * hash) + REFERENCE_FIELD_NUMBER;
        hash = (53 * hash) + getReferenceList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.PluginReferences}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.PluginReferences)
        org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferencesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.class, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getReferenceFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (referenceBuilder_ == null) {
          reference_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          referenceBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_PluginReferences_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences result = new org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences(this);
        int from_bitField0_ = bitField0_;
        if (referenceBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            reference_ = java.util.Collections.unmodifiableList(reference_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.reference_ = reference_;
        } else {
          result.reference_ = referenceBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.getDefaultInstance()) return this;
        if (referenceBuilder_ == null) {
          if (!other.reference_.isEmpty()) {
            if (reference_.isEmpty()) {
              reference_ = other.reference_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureReferenceIsMutable();
              reference_.addAll(other.reference_);
            }
            onChanged();
          }
        } else {
          if (!other.reference_.isEmpty()) {
            if (referenceBuilder_.isEmpty()) {
              referenceBuilder_.dispose();
              referenceBuilder_ = null;
              reference_ = other.reference_;
              bitField0_ = (bitField0_ & ~0x00000001);
              referenceBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getReferenceFieldBuilder() : null;
            } else {
              referenceBuilder_.addAllMessages(other.reference_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List reference_ =
        java.util.Collections.emptyList();
      private void ensureReferenceIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          reference_ = new java.util.ArrayList(reference_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReferenceOrBuilder> referenceBuilder_;

      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public java.util.List getReferenceList() {
        if (referenceBuilder_ == null) {
          return java.util.Collections.unmodifiableList(reference_);
        } else {
          return referenceBuilder_.getMessageList();
        }
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public int getReferenceCount() {
        if (referenceBuilder_ == null) {
          return reference_.size();
        } else {
          return referenceBuilder_.getCount();
        }
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference getReference(int index) {
        if (referenceBuilder_ == null) {
          return reference_.get(index);
        } else {
          return referenceBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder setReference(
          int index, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference value) {
        if (referenceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureReferenceIsMutable();
          reference_.set(index, value);
          onChanged();
        } else {
          referenceBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder setReference(
          int index, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder builderForValue) {
        if (referenceBuilder_ == null) {
          ensureReferenceIsMutable();
          reference_.set(index, builderForValue.build());
          onChanged();
        } else {
          referenceBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder addReference(org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference value) {
        if (referenceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureReferenceIsMutable();
          reference_.add(value);
          onChanged();
        } else {
          referenceBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder addReference(
          int index, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference value) {
        if (referenceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureReferenceIsMutable();
          reference_.add(index, value);
          onChanged();
        } else {
          referenceBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder addReference(
          org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder builderForValue) {
        if (referenceBuilder_ == null) {
          ensureReferenceIsMutable();
          reference_.add(builderForValue.build());
          onChanged();
        } else {
          referenceBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder addReference(
          int index, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder builderForValue) {
        if (referenceBuilder_ == null) {
          ensureReferenceIsMutable();
          reference_.add(index, builderForValue.build());
          onChanged();
        } else {
          referenceBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder addAllReference(
          java.lang.Iterable values) {
        if (referenceBuilder_ == null) {
          ensureReferenceIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, reference_);
          onChanged();
        } else {
          referenceBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder clearReference() {
        if (referenceBuilder_ == null) {
          reference_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          referenceBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public Builder removeReference(int index) {
        if (referenceBuilder_ == null) {
          ensureReferenceIsMutable();
          reference_.remove(index);
          onChanged();
        } else {
          referenceBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder getReferenceBuilder(
          int index) {
        return getReferenceFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReferenceOrBuilder getReferenceOrBuilder(
          int index) {
        if (referenceBuilder_ == null) {
          return reference_.get(index);  } else {
          return referenceBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public java.util.List 
           getReferenceOrBuilderList() {
        if (referenceBuilder_ != null) {
          return referenceBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(reference_);
        }
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder addReferenceBuilder() {
        return getReferenceFieldBuilder().addBuilder(
            org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.getDefaultInstance());
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder addReferenceBuilder(
          int index) {
        return getReferenceFieldBuilder().addBuilder(
            index, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.getDefaultInstance());
      }
      /**
       * repeated .sonarlint.PluginReferences.PluginReference reference = 1;
       */
      public java.util.List 
           getReferenceBuilderList() {
        return getReferenceFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReferenceOrBuilder> 
          getReferenceFieldBuilder() {
        if (referenceBuilder_ == null) {
          referenceBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReference.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences.PluginReferenceOrBuilder>(
                  reference_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          reference_ = null;
        }
        return referenceBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.PluginReferences)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.PluginReferences)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public PluginReferences parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PluginReferences(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.PluginReferences getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GlobalPropertiesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.GlobalProperties)
      com.google.protobuf.MessageOrBuilder {

    /**
     * map<string, string> properties = 1;
     */
    int getPropertiesCount();
    /**
     * map<string, string> properties = 1;
     */
    boolean containsProperties(
        java.lang.String key);
    /**
     * Use {@link #getPropertiesMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getProperties();
    /**
     * map<string, string> properties = 1;
     */
    java.util.Map
    getPropertiesMap();
    /**
     * map<string, string> properties = 1;
     */

    java.lang.String getPropertiesOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> properties = 1;
     */

    java.lang.String getPropertiesOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code sonarlint.GlobalProperties}
   */
  public static final class GlobalProperties extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.GlobalProperties)
      GlobalPropertiesOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GlobalProperties.newBuilder() to construct.
    private GlobalProperties(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private GlobalProperties() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new GlobalProperties();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GlobalProperties(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                properties_ = com.google.protobuf.MapField.newMapField(
                    PropertiesDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              properties__ = input.readMessage(
                  PropertiesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              properties_.getMutableMap().put(
                  properties__.getKey(), properties__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_GlobalProperties_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 1:
          return internalGetProperties();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_GlobalProperties_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties.class, org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties.Builder.class);
    }

    public static final int PROPERTIES_FIELD_NUMBER = 1;
    private static final class PropertiesDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_GlobalProperties_PropertiesEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> properties_;
    private com.google.protobuf.MapField
    internalGetProperties() {
      if (properties_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            PropertiesDefaultEntryHolder.defaultEntry);
      }
      return properties_;
    }

    public int getPropertiesCount() {
      return internalGetProperties().getMap().size();
    }
    /**
     * map<string, string> properties = 1;
     */

    @java.lang.Override
    public boolean containsProperties(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetProperties().getMap().containsKey(key);
    }
    /**
     * Use {@link #getPropertiesMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getProperties() {
      return getPropertiesMap();
    }
    /**
     * map<string, string> properties = 1;
     */
    @java.lang.Override

    public java.util.Map getPropertiesMap() {
      return internalGetProperties().getMap();
    }
    /**
     * map<string, string> properties = 1;
     */
    @java.lang.Override

    public java.lang.String getPropertiesOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetProperties().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> properties = 1;
     */
    @java.lang.Override

    public java.lang.String getPropertiesOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetProperties().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetProperties(),
          PropertiesDefaultEntryHolder.defaultEntry,
          1);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (java.util.Map.Entry entry
           : internalGetProperties().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        properties__ = PropertiesDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, properties__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties other = (org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties) obj;

      if (!internalGetProperties().equals(
          other.internalGetProperties())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (!internalGetProperties().getMap().isEmpty()) {
        hash = (37 * hash) + PROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + internalGetProperties().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.GlobalProperties}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.GlobalProperties)
        org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalPropertiesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_GlobalProperties_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetProperties();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetMutableProperties();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_GlobalProperties_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties.class, org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        internalGetMutableProperties().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_GlobalProperties_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties result = new org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties(this);
        int from_bitField0_ = bitField0_;
        result.properties_ = internalGetProperties();
        result.properties_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties.getDefaultInstance()) return this;
        internalGetMutableProperties().mergeFrom(
            other.internalGetProperties());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> properties_;
      private com.google.protobuf.MapField
      internalGetProperties() {
        if (properties_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              PropertiesDefaultEntryHolder.defaultEntry);
        }
        return properties_;
      }
      private com.google.protobuf.MapField
      internalGetMutableProperties() {
        onChanged();;
        if (properties_ == null) {
          properties_ = com.google.protobuf.MapField.newMapField(
              PropertiesDefaultEntryHolder.defaultEntry);
        }
        if (!properties_.isMutable()) {
          properties_ = properties_.copy();
        }
        return properties_;
      }

      public int getPropertiesCount() {
        return internalGetProperties().getMap().size();
      }
      /**
       * map<string, string> properties = 1;
       */

      @java.lang.Override
      public boolean containsProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetProperties().getMap().containsKey(key);
      }
      /**
       * Use {@link #getPropertiesMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getProperties() {
        return getPropertiesMap();
      }
      /**
       * map<string, string> properties = 1;
       */
      @java.lang.Override

      public java.util.Map getPropertiesMap() {
        return internalGetProperties().getMap();
      }
      /**
       * map<string, string> properties = 1;
       */
      @java.lang.Override

      public java.lang.String getPropertiesOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetProperties().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> properties = 1;
       */
      @java.lang.Override

      public java.lang.String getPropertiesOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetProperties().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearProperties() {
        internalGetMutableProperties().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> properties = 1;
       */

      public Builder removeProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProperties().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableProperties() {
        return internalGetMutableProperties().getMutableMap();
      }
      /**
       * map<string, string> properties = 1;
       */
      public Builder putProperties(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProperties().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> properties = 1;
       */

      public Builder putAllProperties(
          java.util.Map values) {
        internalGetMutableProperties().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.GlobalProperties)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.GlobalProperties)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public GlobalProperties parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new GlobalProperties(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RulesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.Rules)
      com.google.protobuf.MessageOrBuilder {

    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */
    int getRulesByKeyCount();
    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */
    boolean containsRulesByKey(
        java.lang.String key);
    /**
     * Use {@link #getRulesByKeyMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getRulesByKey();
    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */
    java.util.Map
    getRulesByKeyMap();
    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */

    org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getRulesByKeyOrDefault(
        java.lang.String key,
        org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule defaultValue);
    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */

    org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getRulesByKeyOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code sonarlint.Rules}
   */
  public static final class Rules extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.Rules)
      RulesOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Rules.newBuilder() to construct.
    private Rules(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private Rules() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Rules();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Rules(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                rulesByKey_ = com.google.protobuf.MapField.newMapField(
                    RulesByKeyDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              rulesByKey__ = input.readMessage(
                  RulesByKeyDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              rulesByKey_.getMutableMap().put(
                  rulesByKey__.getKey(), rulesByKey__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 1:
          return internalGetRulesByKey();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.class, org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Builder.class);
    }

    public interface RuleOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.Rules.Rule)
        com.google.protobuf.MessageOrBuilder {

      /**
       * string repo = 1;
       * @return The repo.
       */
      java.lang.String getRepo();
      /**
       * string repo = 1;
       * @return The bytes for repo.
       */
      com.google.protobuf.ByteString
          getRepoBytes();

      /**
       * string key = 2;
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * string key = 2;
       * @return The bytes for key.
       */
      com.google.protobuf.ByteString
          getKeyBytes();

      /**
       * string name = 3;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * string name = 3;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();

      /**
       * string severity = 4;
       * @return The severity.
       */
      java.lang.String getSeverity();
      /**
       * string severity = 4;
       * @return The bytes for severity.
       */
      com.google.protobuf.ByteString
          getSeverityBytes();

      /**
       * string lang = 5;
       * @return The lang.
       */
      java.lang.String getLang();
      /**
       * string lang = 5;
       * @return The bytes for lang.
       */
      com.google.protobuf.ByteString
          getLangBytes();

      /**
       * string internal_key = 6;
       * @return The internalKey.
       */
      java.lang.String getInternalKey();
      /**
       * string internal_key = 6;
       * @return The bytes for internalKey.
       */
      com.google.protobuf.ByteString
          getInternalKeyBytes();

      /**
       * string html_desc = 7;
       * @return The htmlDesc.
       */
      java.lang.String getHtmlDesc();
      /**
       * string html_desc = 7;
       * @return The bytes for htmlDesc.
       */
      com.google.protobuf.ByteString
          getHtmlDescBytes();

      /**
       * bool is_template = 8;
       * @return The isTemplate.
       */
      boolean getIsTemplate();

      /**
       * string template_key = 9;
       * @return The templateKey.
       */
      java.lang.String getTemplateKey();
      /**
       * string template_key = 9;
       * @return The bytes for templateKey.
       */
      com.google.protobuf.ByteString
          getTemplateKeyBytes();

      /**
       * string html_note = 10;
       * @return The htmlNote.
       */
      java.lang.String getHtmlNote();
      /**
       * string html_note = 10;
       * @return The bytes for htmlNote.
       */
      com.google.protobuf.ByteString
          getHtmlNoteBytes();

      /**
       * string type = 11;
       * @return The type.
       */
      java.lang.String getType();
      /**
       * string type = 11;
       * @return The bytes for type.
       */
      com.google.protobuf.ByteString
          getTypeBytes();
    }
    /**
     * Protobuf type {@code sonarlint.Rules.Rule}
     */
    public static final class Rule extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:sonarlint.Rules.Rule)
        RuleOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Rule.newBuilder() to construct.
      private Rule(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Rule() {
        repo_ = "";
        key_ = "";
        name_ = "";
        severity_ = "";
        lang_ = "";
        internalKey_ = "";
        htmlDesc_ = "";
        templateKey_ = "";
        htmlNote_ = "";
        type_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Rule();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Rule(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();

                repo_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();

                key_ = s;
                break;
              }
              case 26: {
                java.lang.String s = input.readStringRequireUtf8();

                name_ = s;
                break;
              }
              case 34: {
                java.lang.String s = input.readStringRequireUtf8();

                severity_ = s;
                break;
              }
              case 42: {
                java.lang.String s = input.readStringRequireUtf8();

                lang_ = s;
                break;
              }
              case 50: {
                java.lang.String s = input.readStringRequireUtf8();

                internalKey_ = s;
                break;
              }
              case 58: {
                java.lang.String s = input.readStringRequireUtf8();

                htmlDesc_ = s;
                break;
              }
              case 64: {

                isTemplate_ = input.readBool();
                break;
              }
              case 74: {
                java.lang.String s = input.readStringRequireUtf8();

                templateKey_ = s;
                break;
              }
              case 82: {
                java.lang.String s = input.readStringRequireUtf8();

                htmlNote_ = s;
                break;
              }
              case 90: {
                java.lang.String s = input.readStringRequireUtf8();

                type_ = s;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_Rule_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_Rule_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule.class, org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule.Builder.class);
      }

      public static final int REPO_FIELD_NUMBER = 1;
      private volatile java.lang.Object repo_;
      /**
       * string repo = 1;
       * @return The repo.
       */
      @java.lang.Override
      public java.lang.String getRepo() {
        java.lang.Object ref = repo_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          repo_ = s;
          return s;
        }
      }
      /**
       * string repo = 1;
       * @return The bytes for repo.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getRepoBytes() {
        java.lang.Object ref = repo_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          repo_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int KEY_FIELD_NUMBER = 2;
      private volatile java.lang.Object key_;
      /**
       * string key = 2;
       * @return The key.
       */
      @java.lang.Override
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          key_ = s;
          return s;
        }
      }
      /**
       * string key = 2;
       * @return The bytes for key.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int NAME_FIELD_NUMBER = 3;
      private volatile java.lang.Object name_;
      /**
       * string name = 3;
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        }
      }
      /**
       * string name = 3;
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int SEVERITY_FIELD_NUMBER = 4;
      private volatile java.lang.Object severity_;
      /**
       * string severity = 4;
       * @return The severity.
       */
      @java.lang.Override
      public java.lang.String getSeverity() {
        java.lang.Object ref = severity_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          severity_ = s;
          return s;
        }
      }
      /**
       * string severity = 4;
       * @return The bytes for severity.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSeverityBytes() {
        java.lang.Object ref = severity_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          severity_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int LANG_FIELD_NUMBER = 5;
      private volatile java.lang.Object lang_;
      /**
       * string lang = 5;
       * @return The lang.
       */
      @java.lang.Override
      public java.lang.String getLang() {
        java.lang.Object ref = lang_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          lang_ = s;
          return s;
        }
      }
      /**
       * string lang = 5;
       * @return The bytes for lang.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLangBytes() {
        java.lang.Object ref = lang_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          lang_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int INTERNAL_KEY_FIELD_NUMBER = 6;
      private volatile java.lang.Object internalKey_;
      /**
       * string internal_key = 6;
       * @return The internalKey.
       */
      @java.lang.Override
      public java.lang.String getInternalKey() {
        java.lang.Object ref = internalKey_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          internalKey_ = s;
          return s;
        }
      }
      /**
       * string internal_key = 6;
       * @return The bytes for internalKey.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getInternalKeyBytes() {
        java.lang.Object ref = internalKey_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          internalKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int HTML_DESC_FIELD_NUMBER = 7;
      private volatile java.lang.Object htmlDesc_;
      /**
       * string html_desc = 7;
       * @return The htmlDesc.
       */
      @java.lang.Override
      public java.lang.String getHtmlDesc() {
        java.lang.Object ref = htmlDesc_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          htmlDesc_ = s;
          return s;
        }
      }
      /**
       * string html_desc = 7;
       * @return The bytes for htmlDesc.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHtmlDescBytes() {
        java.lang.Object ref = htmlDesc_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          htmlDesc_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int IS_TEMPLATE_FIELD_NUMBER = 8;
      private boolean isTemplate_;
      /**
       * bool is_template = 8;
       * @return The isTemplate.
       */
      @java.lang.Override
      public boolean getIsTemplate() {
        return isTemplate_;
      }

      public static final int TEMPLATE_KEY_FIELD_NUMBER = 9;
      private volatile java.lang.Object templateKey_;
      /**
       * string template_key = 9;
       * @return The templateKey.
       */
      @java.lang.Override
      public java.lang.String getTemplateKey() {
        java.lang.Object ref = templateKey_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          templateKey_ = s;
          return s;
        }
      }
      /**
       * string template_key = 9;
       * @return The bytes for templateKey.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTemplateKeyBytes() {
        java.lang.Object ref = templateKey_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          templateKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int HTML_NOTE_FIELD_NUMBER = 10;
      private volatile java.lang.Object htmlNote_;
      /**
       * string html_note = 10;
       * @return The htmlNote.
       */
      @java.lang.Override
      public java.lang.String getHtmlNote() {
        java.lang.Object ref = htmlNote_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          htmlNote_ = s;
          return s;
        }
      }
      /**
       * string html_note = 10;
       * @return The bytes for htmlNote.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getHtmlNoteBytes() {
        java.lang.Object ref = htmlNote_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          htmlNote_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int TYPE_FIELD_NUMBER = 11;
      private volatile java.lang.Object type_;
      /**
       * string type = 11;
       * @return The type.
       */
      @java.lang.Override
      public java.lang.String getType() {
        java.lang.Object ref = type_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          type_ = s;
          return s;
        }
      }
      /**
       * string type = 11;
       * @return The bytes for type.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTypeBytes() {
        java.lang.Object ref = type_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          type_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!getRepoBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, repo_);
        }
        if (!getKeyBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, key_);
        }
        if (!getNameBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
        }
        if (!getSeverityBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 4, severity_);
        }
        if (!getLangBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 5, lang_);
        }
        if (!getInternalKeyBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 6, internalKey_);
        }
        if (!getHtmlDescBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 7, htmlDesc_);
        }
        if (isTemplate_ != false) {
          output.writeBool(8, isTemplate_);
        }
        if (!getTemplateKeyBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 9, templateKey_);
        }
        if (!getHtmlNoteBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 10, htmlNote_);
        }
        if (!getTypeBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 11, type_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!getRepoBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, repo_);
        }
        if (!getKeyBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, key_);
        }
        if (!getNameBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
        }
        if (!getSeverityBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, severity_);
        }
        if (!getLangBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, lang_);
        }
        if (!getInternalKeyBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, internalKey_);
        }
        if (!getHtmlDescBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, htmlDesc_);
        }
        if (isTemplate_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(8, isTemplate_);
        }
        if (!getTemplateKeyBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, templateKey_);
        }
        if (!getHtmlNoteBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, htmlNote_);
        }
        if (!getTypeBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, type_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule)) {
          return super.equals(obj);
        }
        org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule other = (org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule) obj;

        if (!getRepo()
            .equals(other.getRepo())) return false;
        if (!getKey()
            .equals(other.getKey())) return false;
        if (!getName()
            .equals(other.getName())) return false;
        if (!getSeverity()
            .equals(other.getSeverity())) return false;
        if (!getLang()
            .equals(other.getLang())) return false;
        if (!getInternalKey()
            .equals(other.getInternalKey())) return false;
        if (!getHtmlDesc()
            .equals(other.getHtmlDesc())) return false;
        if (getIsTemplate()
            != other.getIsTemplate()) return false;
        if (!getTemplateKey()
            .equals(other.getTemplateKey())) return false;
        if (!getHtmlNote()
            .equals(other.getHtmlNote())) return false;
        if (!getType()
            .equals(other.getType())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + REPO_FIELD_NUMBER;
        hash = (53 * hash) + getRepo().hashCode();
        hash = (37 * hash) + KEY_FIELD_NUMBER;
        hash = (53 * hash) + getKey().hashCode();
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        hash = (37 * hash) + SEVERITY_FIELD_NUMBER;
        hash = (53 * hash) + getSeverity().hashCode();
        hash = (37 * hash) + LANG_FIELD_NUMBER;
        hash = (53 * hash) + getLang().hashCode();
        hash = (37 * hash) + INTERNAL_KEY_FIELD_NUMBER;
        hash = (53 * hash) + getInternalKey().hashCode();
        hash = (37 * hash) + HTML_DESC_FIELD_NUMBER;
        hash = (53 * hash) + getHtmlDesc().hashCode();
        hash = (37 * hash) + IS_TEMPLATE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsTemplate());
        hash = (37 * hash) + TEMPLATE_KEY_FIELD_NUMBER;
        hash = (53 * hash) + getTemplateKey().hashCode();
        hash = (37 * hash) + HTML_NOTE_FIELD_NUMBER;
        hash = (53 * hash) + getHtmlNote().hashCode();
        hash = (37 * hash) + TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getType().hashCode();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code sonarlint.Rules.Rule}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:sonarlint.Rules.Rule)
          org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.RuleOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_Rule_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_Rule_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule.class, org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule.Builder.class);
        }

        // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          repo_ = "";

          key_ = "";

          name_ = "";

          severity_ = "";

          lang_ = "";

          internalKey_ = "";

          htmlDesc_ = "";

          isTemplate_ = false;

          templateKey_ = "";

          htmlNote_ = "";

          type_ = "";

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_Rule_descriptor;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getDefaultInstanceForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule.getDefaultInstance();
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule build() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule buildPartial() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule result = new org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule(this);
          result.repo_ = repo_;
          result.key_ = key_;
          result.name_ = name_;
          result.severity_ = severity_;
          result.lang_ = lang_;
          result.internalKey_ = internalKey_;
          result.htmlDesc_ = htmlDesc_;
          result.isTemplate_ = isTemplate_;
          result.templateKey_ = templateKey_;
          result.htmlNote_ = htmlNote_;
          result.type_ = type_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule) {
            return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule other) {
          if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule.getDefaultInstance()) return this;
          if (!other.getRepo().isEmpty()) {
            repo_ = other.repo_;
            onChanged();
          }
          if (!other.getKey().isEmpty()) {
            key_ = other.key_;
            onChanged();
          }
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            onChanged();
          }
          if (!other.getSeverity().isEmpty()) {
            severity_ = other.severity_;
            onChanged();
          }
          if (!other.getLang().isEmpty()) {
            lang_ = other.lang_;
            onChanged();
          }
          if (!other.getInternalKey().isEmpty()) {
            internalKey_ = other.internalKey_;
            onChanged();
          }
          if (!other.getHtmlDesc().isEmpty()) {
            htmlDesc_ = other.htmlDesc_;
            onChanged();
          }
          if (other.getIsTemplate() != false) {
            setIsTemplate(other.getIsTemplate());
          }
          if (!other.getTemplateKey().isEmpty()) {
            templateKey_ = other.templateKey_;
            onChanged();
          }
          if (!other.getHtmlNote().isEmpty()) {
            htmlNote_ = other.htmlNote_;
            onChanged();
          }
          if (!other.getType().isEmpty()) {
            type_ = other.type_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private java.lang.Object repo_ = "";
        /**
         * string repo = 1;
         * @return The repo.
         */
        public java.lang.String getRepo() {
          java.lang.Object ref = repo_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            repo_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string repo = 1;
         * @return The bytes for repo.
         */
        public com.google.protobuf.ByteString
            getRepoBytes() {
          java.lang.Object ref = repo_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            repo_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string repo = 1;
         * @param value The repo to set.
         * @return This builder for chaining.
         */
        public Builder setRepo(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          repo_ = value;
          onChanged();
          return this;
        }
        /**
         * string repo = 1;
         * @return This builder for chaining.
         */
        public Builder clearRepo() {
          
          repo_ = getDefaultInstance().getRepo();
          onChanged();
          return this;
        }
        /**
         * string repo = 1;
         * @param value The bytes for repo to set.
         * @return This builder for chaining.
         */
        public Builder setRepoBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          repo_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object key_ = "";
        /**
         * string key = 2;
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string key = 2;
         * @return The bytes for key.
         */
        public com.google.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string key = 2;
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * string key = 2;
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * string key = 2;
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          key_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object name_ = "";
        /**
         * string name = 3;
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string name = 3;
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string name = 3;
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * string name = 3;
         * @return This builder for chaining.
         */
        public Builder clearName() {
          
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * string name = 3;
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          name_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object severity_ = "";
        /**
         * string severity = 4;
         * @return The severity.
         */
        public java.lang.String getSeverity() {
          java.lang.Object ref = severity_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            severity_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string severity = 4;
         * @return The bytes for severity.
         */
        public com.google.protobuf.ByteString
            getSeverityBytes() {
          java.lang.Object ref = severity_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            severity_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string severity = 4;
         * @param value The severity to set.
         * @return This builder for chaining.
         */
        public Builder setSeverity(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          severity_ = value;
          onChanged();
          return this;
        }
        /**
         * string severity = 4;
         * @return This builder for chaining.
         */
        public Builder clearSeverity() {
          
          severity_ = getDefaultInstance().getSeverity();
          onChanged();
          return this;
        }
        /**
         * string severity = 4;
         * @param value The bytes for severity to set.
         * @return This builder for chaining.
         */
        public Builder setSeverityBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          severity_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object lang_ = "";
        /**
         * string lang = 5;
         * @return The lang.
         */
        public java.lang.String getLang() {
          java.lang.Object ref = lang_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            lang_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string lang = 5;
         * @return The bytes for lang.
         */
        public com.google.protobuf.ByteString
            getLangBytes() {
          java.lang.Object ref = lang_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            lang_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string lang = 5;
         * @param value The lang to set.
         * @return This builder for chaining.
         */
        public Builder setLang(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          lang_ = value;
          onChanged();
          return this;
        }
        /**
         * string lang = 5;
         * @return This builder for chaining.
         */
        public Builder clearLang() {
          
          lang_ = getDefaultInstance().getLang();
          onChanged();
          return this;
        }
        /**
         * string lang = 5;
         * @param value The bytes for lang to set.
         * @return This builder for chaining.
         */
        public Builder setLangBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          lang_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object internalKey_ = "";
        /**
         * string internal_key = 6;
         * @return The internalKey.
         */
        public java.lang.String getInternalKey() {
          java.lang.Object ref = internalKey_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            internalKey_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string internal_key = 6;
         * @return The bytes for internalKey.
         */
        public com.google.protobuf.ByteString
            getInternalKeyBytes() {
          java.lang.Object ref = internalKey_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            internalKey_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string internal_key = 6;
         * @param value The internalKey to set.
         * @return This builder for chaining.
         */
        public Builder setInternalKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          internalKey_ = value;
          onChanged();
          return this;
        }
        /**
         * string internal_key = 6;
         * @return This builder for chaining.
         */
        public Builder clearInternalKey() {
          
          internalKey_ = getDefaultInstance().getInternalKey();
          onChanged();
          return this;
        }
        /**
         * string internal_key = 6;
         * @param value The bytes for internalKey to set.
         * @return This builder for chaining.
         */
        public Builder setInternalKeyBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          internalKey_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object htmlDesc_ = "";
        /**
         * string html_desc = 7;
         * @return The htmlDesc.
         */
        public java.lang.String getHtmlDesc() {
          java.lang.Object ref = htmlDesc_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            htmlDesc_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string html_desc = 7;
         * @return The bytes for htmlDesc.
         */
        public com.google.protobuf.ByteString
            getHtmlDescBytes() {
          java.lang.Object ref = htmlDesc_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            htmlDesc_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string html_desc = 7;
         * @param value The htmlDesc to set.
         * @return This builder for chaining.
         */
        public Builder setHtmlDesc(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          htmlDesc_ = value;
          onChanged();
          return this;
        }
        /**
         * string html_desc = 7;
         * @return This builder for chaining.
         */
        public Builder clearHtmlDesc() {
          
          htmlDesc_ = getDefaultInstance().getHtmlDesc();
          onChanged();
          return this;
        }
        /**
         * string html_desc = 7;
         * @param value The bytes for htmlDesc to set.
         * @return This builder for chaining.
         */
        public Builder setHtmlDescBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          htmlDesc_ = value;
          onChanged();
          return this;
        }

        private boolean isTemplate_ ;
        /**
         * bool is_template = 8;
         * @return The isTemplate.
         */
        @java.lang.Override
        public boolean getIsTemplate() {
          return isTemplate_;
        }
        /**
         * bool is_template = 8;
         * @param value The isTemplate to set.
         * @return This builder for chaining.
         */
        public Builder setIsTemplate(boolean value) {
          
          isTemplate_ = value;
          onChanged();
          return this;
        }
        /**
         * bool is_template = 8;
         * @return This builder for chaining.
         */
        public Builder clearIsTemplate() {
          
          isTemplate_ = false;
          onChanged();
          return this;
        }

        private java.lang.Object templateKey_ = "";
        /**
         * string template_key = 9;
         * @return The templateKey.
         */
        public java.lang.String getTemplateKey() {
          java.lang.Object ref = templateKey_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            templateKey_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string template_key = 9;
         * @return The bytes for templateKey.
         */
        public com.google.protobuf.ByteString
            getTemplateKeyBytes() {
          java.lang.Object ref = templateKey_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            templateKey_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string template_key = 9;
         * @param value The templateKey to set.
         * @return This builder for chaining.
         */
        public Builder setTemplateKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          templateKey_ = value;
          onChanged();
          return this;
        }
        /**
         * string template_key = 9;
         * @return This builder for chaining.
         */
        public Builder clearTemplateKey() {
          
          templateKey_ = getDefaultInstance().getTemplateKey();
          onChanged();
          return this;
        }
        /**
         * string template_key = 9;
         * @param value The bytes for templateKey to set.
         * @return This builder for chaining.
         */
        public Builder setTemplateKeyBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          templateKey_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object htmlNote_ = "";
        /**
         * string html_note = 10;
         * @return The htmlNote.
         */
        public java.lang.String getHtmlNote() {
          java.lang.Object ref = htmlNote_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            htmlNote_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string html_note = 10;
         * @return The bytes for htmlNote.
         */
        public com.google.protobuf.ByteString
            getHtmlNoteBytes() {
          java.lang.Object ref = htmlNote_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            htmlNote_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string html_note = 10;
         * @param value The htmlNote to set.
         * @return This builder for chaining.
         */
        public Builder setHtmlNote(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          htmlNote_ = value;
          onChanged();
          return this;
        }
        /**
         * string html_note = 10;
         * @return This builder for chaining.
         */
        public Builder clearHtmlNote() {
          
          htmlNote_ = getDefaultInstance().getHtmlNote();
          onChanged();
          return this;
        }
        /**
         * string html_note = 10;
         * @param value The bytes for htmlNote to set.
         * @return This builder for chaining.
         */
        public Builder setHtmlNoteBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          htmlNote_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object type_ = "";
        /**
         * string type = 11;
         * @return The type.
         */
        public java.lang.String getType() {
          java.lang.Object ref = type_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            type_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string type = 11;
         * @return The bytes for type.
         */
        public com.google.protobuf.ByteString
            getTypeBytes() {
          java.lang.Object ref = type_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            type_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string type = 11;
         * @param value The type to set.
         * @return This builder for chaining.
         */
        public Builder setType(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * string type = 11;
         * @return This builder for chaining.
         */
        public Builder clearType() {
          
          type_ = getDefaultInstance().getType();
          onChanged();
          return this;
        }
        /**
         * string type = 11;
         * @param value The bytes for type to set.
         * @return This builder for chaining.
         */
        public Builder setTypeBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          type_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:sonarlint.Rules.Rule)
      }

      // @@protoc_insertion_point(class_scope:sonarlint.Rules.Rule)
      private static final org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule();
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Rule parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Rule(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int RULES_BY_KEY_FIELD_NUMBER = 1;
    private static final class RulesByKeyDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_RulesByKeyEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule> rulesByKey_;
    private com.google.protobuf.MapField
    internalGetRulesByKey() {
      if (rulesByKey_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            RulesByKeyDefaultEntryHolder.defaultEntry);
      }
      return rulesByKey_;
    }

    public int getRulesByKeyCount() {
      return internalGetRulesByKey().getMap().size();
    }
    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */

    @java.lang.Override
    public boolean containsRulesByKey(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetRulesByKey().getMap().containsKey(key);
    }
    /**
     * Use {@link #getRulesByKeyMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getRulesByKey() {
      return getRulesByKeyMap();
    }
    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */
    @java.lang.Override

    public java.util.Map getRulesByKeyMap() {
      return internalGetRulesByKey().getMap();
    }
    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */
    @java.lang.Override

    public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getRulesByKeyOrDefault(
        java.lang.String key,
        org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetRulesByKey().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
     */
    @java.lang.Override

    public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getRulesByKeyOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetRulesByKey().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetRulesByKey(),
          RulesByKeyDefaultEntryHolder.defaultEntry,
          1);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (java.util.Map.Entry entry
           : internalGetRulesByKey().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        rulesByKey__ = RulesByKeyDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, rulesByKey__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.Rules)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.Rules other = (org.sonarsource.sonarlint.core.proto.Sonarlint.Rules) obj;

      if (!internalGetRulesByKey().equals(
          other.internalGetRulesByKey())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (!internalGetRulesByKey().getMap().isEmpty()) {
        hash = (37 * hash) + RULES_BY_KEY_FIELD_NUMBER;
        hash = (53 * hash) + internalGetRulesByKey().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.Rules prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.Rules}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.Rules)
        org.sonarsource.sonarlint.core.proto.Sonarlint.RulesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetRulesByKey();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetMutableRulesByKey();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.class, org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        internalGetMutableRulesByKey().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Rules_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.Rules result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.Rules result = new org.sonarsource.sonarlint.core.proto.Sonarlint.Rules(this);
        int from_bitField0_ = bitField0_;
        result.rulesByKey_ = internalGetRulesByKey();
        result.rulesByKey_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.Rules) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.Rules)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.Rules other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.getDefaultInstance()) return this;
        internalGetMutableRulesByKey().mergeFrom(
            other.internalGetRulesByKey());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.Rules parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.Rules) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.MapField<
          java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule> rulesByKey_;
      private com.google.protobuf.MapField
      internalGetRulesByKey() {
        if (rulesByKey_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              RulesByKeyDefaultEntryHolder.defaultEntry);
        }
        return rulesByKey_;
      }
      private com.google.protobuf.MapField
      internalGetMutableRulesByKey() {
        onChanged();;
        if (rulesByKey_ == null) {
          rulesByKey_ = com.google.protobuf.MapField.newMapField(
              RulesByKeyDefaultEntryHolder.defaultEntry);
        }
        if (!rulesByKey_.isMutable()) {
          rulesByKey_ = rulesByKey_.copy();
        }
        return rulesByKey_;
      }

      public int getRulesByKeyCount() {
        return internalGetRulesByKey().getMap().size();
      }
      /**
       * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
       */

      @java.lang.Override
      public boolean containsRulesByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetRulesByKey().getMap().containsKey(key);
      }
      /**
       * Use {@link #getRulesByKeyMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getRulesByKey() {
        return getRulesByKeyMap();
      }
      /**
       * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
       */
      @java.lang.Override

      public java.util.Map getRulesByKeyMap() {
        return internalGetRulesByKey().getMap();
      }
      /**
       * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
       */
      @java.lang.Override

      public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getRulesByKeyOrDefault(
          java.lang.String key,
          org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetRulesByKey().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
       */
      @java.lang.Override

      public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule getRulesByKeyOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetRulesByKey().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearRulesByKey() {
        internalGetMutableRulesByKey().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
       */

      public Builder removeRulesByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableRulesByKey().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableRulesByKey() {
        return internalGetMutableRulesByKey().getMutableMap();
      }
      /**
       * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
       */
      public Builder putRulesByKey(
          java.lang.String key,
          org.sonarsource.sonarlint.core.proto.Sonarlint.Rules.Rule value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableRulesByKey().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, .sonarlint.Rules.Rule> rules_by_key = 1;
       */

      public Builder putAllRulesByKey(
          java.util.Map values) {
        internalGetMutableRulesByKey().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.Rules)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.Rules)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.Rules DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.Rules();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.Rules getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public Rules parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Rules(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.Rules getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface QProfilesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.QProfiles)
      com.google.protobuf.MessageOrBuilder {

    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */
    int getQprofilesByKeyCount();
    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */
    boolean containsQprofilesByKey(
        java.lang.String key);
    /**
     * Use {@link #getQprofilesByKeyMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getQprofilesByKey();
    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */
    java.util.Map
    getQprofilesByKeyMap();
    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */

    org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getQprofilesByKeyOrDefault(
        java.lang.String key,
        org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile defaultValue);
    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */

    org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getQprofilesByKeyOrThrow(
        java.lang.String key);

    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */
    int getDefaultQProfilesByLanguageCount();
    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */
    boolean containsDefaultQProfilesByLanguage(
        java.lang.String key);
    /**
     * Use {@link #getDefaultQProfilesByLanguageMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getDefaultQProfilesByLanguage();
    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */
    java.util.Map
    getDefaultQProfilesByLanguageMap();
    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */

    java.lang.String getDefaultQProfilesByLanguageOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */

    java.lang.String getDefaultQProfilesByLanguageOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code sonarlint.QProfiles}
   */
  public static final class QProfiles extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.QProfiles)
      QProfilesOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use QProfiles.newBuilder() to construct.
    private QProfiles(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private QProfiles() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new QProfiles();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private QProfiles(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                qprofilesByKey_ = com.google.protobuf.MapField.newMapField(
                    QprofilesByKeyDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              qprofilesByKey__ = input.readMessage(
                  QprofilesByKeyDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              qprofilesByKey_.getMutableMap().put(
                  qprofilesByKey__.getKey(), qprofilesByKey__.getValue());
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                defaultQProfilesByLanguage_ = com.google.protobuf.MapField.newMapField(
                    DefaultQProfilesByLanguageDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000002;
              }
              com.google.protobuf.MapEntry
              defaultQProfilesByLanguage__ = input.readMessage(
                  DefaultQProfilesByLanguageDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              defaultQProfilesByLanguage_.getMutableMap().put(
                  defaultQProfilesByLanguage__.getKey(), defaultQProfilesByLanguage__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 1:
          return internalGetQprofilesByKey();
        case 2:
          return internalGetDefaultQProfilesByLanguage();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.class, org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.Builder.class);
    }

    public interface QProfileOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.QProfiles.QProfile)
        com.google.protobuf.MessageOrBuilder {

      /**
       * string key = 1;
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * string key = 1;
       * @return The bytes for key.
       */
      com.google.protobuf.ByteString
          getKeyBytes();

      /**
       * string name = 2;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * string name = 2;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();

      /**
       * string language = 3;
       * @return The language.
       */
      java.lang.String getLanguage();
      /**
       * string language = 3;
       * @return The bytes for language.
       */
      com.google.protobuf.ByteString
          getLanguageBytes();

      /**
       * string language_name = 4;
       * @return The languageName.
       */
      java.lang.String getLanguageName();
      /**
       * string language_name = 4;
       * @return The bytes for languageName.
       */
      com.google.protobuf.ByteString
          getLanguageNameBytes();

      /**
       * int64 active_rule_count = 5;
       * @return The activeRuleCount.
       */
      long getActiveRuleCount();

      /**
       * string rules_updated_at = 6;
       * @return The rulesUpdatedAt.
       */
      java.lang.String getRulesUpdatedAt();
      /**
       * string rules_updated_at = 6;
       * @return The bytes for rulesUpdatedAt.
       */
      com.google.protobuf.ByteString
          getRulesUpdatedAtBytes();

      /**
       * string user_updated_at = 7;
       * @return The userUpdatedAt.
       */
      java.lang.String getUserUpdatedAt();
      /**
       * string user_updated_at = 7;
       * @return The bytes for userUpdatedAt.
       */
      com.google.protobuf.ByteString
          getUserUpdatedAtBytes();
    }
    /**
     * Protobuf type {@code sonarlint.QProfiles.QProfile}
     */
    public static final class QProfile extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:sonarlint.QProfiles.QProfile)
        QProfileOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use QProfile.newBuilder() to construct.
      private QProfile(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private QProfile() {
        key_ = "";
        name_ = "";
        language_ = "";
        languageName_ = "";
        rulesUpdatedAt_ = "";
        userUpdatedAt_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new QProfile();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private QProfile(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();

                key_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();

                name_ = s;
                break;
              }
              case 26: {
                java.lang.String s = input.readStringRequireUtf8();

                language_ = s;
                break;
              }
              case 34: {
                java.lang.String s = input.readStringRequireUtf8();

                languageName_ = s;
                break;
              }
              case 40: {

                activeRuleCount_ = input.readInt64();
                break;
              }
              case 50: {
                java.lang.String s = input.readStringRequireUtf8();

                rulesUpdatedAt_ = s;
                break;
              }
              case 58: {
                java.lang.String s = input.readStringRequireUtf8();

                userUpdatedAt_ = s;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_QProfile_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_QProfile_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile.class, org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile.Builder.class);
      }

      public static final int KEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object key_;
      /**
       * string key = 1;
       * @return The key.
       */
      @java.lang.Override
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          key_ = s;
          return s;
        }
      }
      /**
       * string key = 1;
       * @return The bytes for key.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int NAME_FIELD_NUMBER = 2;
      private volatile java.lang.Object name_;
      /**
       * string name = 2;
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        }
      }
      /**
       * string name = 2;
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int LANGUAGE_FIELD_NUMBER = 3;
      private volatile java.lang.Object language_;
      /**
       * string language = 3;
       * @return The language.
       */
      @java.lang.Override
      public java.lang.String getLanguage() {
        java.lang.Object ref = language_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          language_ = s;
          return s;
        }
      }
      /**
       * string language = 3;
       * @return The bytes for language.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLanguageBytes() {
        java.lang.Object ref = language_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          language_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int LANGUAGE_NAME_FIELD_NUMBER = 4;
      private volatile java.lang.Object languageName_;
      /**
       * string language_name = 4;
       * @return The languageName.
       */
      @java.lang.Override
      public java.lang.String getLanguageName() {
        java.lang.Object ref = languageName_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          languageName_ = s;
          return s;
        }
      }
      /**
       * string language_name = 4;
       * @return The bytes for languageName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLanguageNameBytes() {
        java.lang.Object ref = languageName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          languageName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int ACTIVE_RULE_COUNT_FIELD_NUMBER = 5;
      private long activeRuleCount_;
      /**
       * int64 active_rule_count = 5;
       * @return The activeRuleCount.
       */
      @java.lang.Override
      public long getActiveRuleCount() {
        return activeRuleCount_;
      }

      public static final int RULES_UPDATED_AT_FIELD_NUMBER = 6;
      private volatile java.lang.Object rulesUpdatedAt_;
      /**
       * string rules_updated_at = 6;
       * @return The rulesUpdatedAt.
       */
      @java.lang.Override
      public java.lang.String getRulesUpdatedAt() {
        java.lang.Object ref = rulesUpdatedAt_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          rulesUpdatedAt_ = s;
          return s;
        }
      }
      /**
       * string rules_updated_at = 6;
       * @return The bytes for rulesUpdatedAt.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getRulesUpdatedAtBytes() {
        java.lang.Object ref = rulesUpdatedAt_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          rulesUpdatedAt_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int USER_UPDATED_AT_FIELD_NUMBER = 7;
      private volatile java.lang.Object userUpdatedAt_;
      /**
       * string user_updated_at = 7;
       * @return The userUpdatedAt.
       */
      @java.lang.Override
      public java.lang.String getUserUpdatedAt() {
        java.lang.Object ref = userUpdatedAt_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userUpdatedAt_ = s;
          return s;
        }
      }
      /**
       * string user_updated_at = 7;
       * @return The bytes for userUpdatedAt.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUserUpdatedAtBytes() {
        java.lang.Object ref = userUpdatedAt_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userUpdatedAt_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!getKeyBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_);
        }
        if (!getNameBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
        }
        if (!getLanguageBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 3, language_);
        }
        if (!getLanguageNameBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 4, languageName_);
        }
        if (activeRuleCount_ != 0L) {
          output.writeInt64(5, activeRuleCount_);
        }
        if (!getRulesUpdatedAtBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 6, rulesUpdatedAt_);
        }
        if (!getUserUpdatedAtBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 7, userUpdatedAt_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!getKeyBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_);
        }
        if (!getNameBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
        }
        if (!getLanguageBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, language_);
        }
        if (!getLanguageNameBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, languageName_);
        }
        if (activeRuleCount_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(5, activeRuleCount_);
        }
        if (!getRulesUpdatedAtBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, rulesUpdatedAt_);
        }
        if (!getUserUpdatedAtBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, userUpdatedAt_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile)) {
          return super.equals(obj);
        }
        org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile other = (org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile) obj;

        if (!getKey()
            .equals(other.getKey())) return false;
        if (!getName()
            .equals(other.getName())) return false;
        if (!getLanguage()
            .equals(other.getLanguage())) return false;
        if (!getLanguageName()
            .equals(other.getLanguageName())) return false;
        if (getActiveRuleCount()
            != other.getActiveRuleCount()) return false;
        if (!getRulesUpdatedAt()
            .equals(other.getRulesUpdatedAt())) return false;
        if (!getUserUpdatedAt()
            .equals(other.getUserUpdatedAt())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + KEY_FIELD_NUMBER;
        hash = (53 * hash) + getKey().hashCode();
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        hash = (37 * hash) + LANGUAGE_FIELD_NUMBER;
        hash = (53 * hash) + getLanguage().hashCode();
        hash = (37 * hash) + LANGUAGE_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getLanguageName().hashCode();
        hash = (37 * hash) + ACTIVE_RULE_COUNT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getActiveRuleCount());
        hash = (37 * hash) + RULES_UPDATED_AT_FIELD_NUMBER;
        hash = (53 * hash) + getRulesUpdatedAt().hashCode();
        hash = (37 * hash) + USER_UPDATED_AT_FIELD_NUMBER;
        hash = (53 * hash) + getUserUpdatedAt().hashCode();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code sonarlint.QProfiles.QProfile}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:sonarlint.QProfiles.QProfile)
          org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfileOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_QProfile_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_QProfile_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile.class, org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile.Builder.class);
        }

        // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          key_ = "";

          name_ = "";

          language_ = "";

          languageName_ = "";

          activeRuleCount_ = 0L;

          rulesUpdatedAt_ = "";

          userUpdatedAt_ = "";

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_QProfile_descriptor;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getDefaultInstanceForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile.getDefaultInstance();
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile build() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile buildPartial() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile result = new org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile(this);
          result.key_ = key_;
          result.name_ = name_;
          result.language_ = language_;
          result.languageName_ = languageName_;
          result.activeRuleCount_ = activeRuleCount_;
          result.rulesUpdatedAt_ = rulesUpdatedAt_;
          result.userUpdatedAt_ = userUpdatedAt_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile) {
            return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile other) {
          if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile.getDefaultInstance()) return this;
          if (!other.getKey().isEmpty()) {
            key_ = other.key_;
            onChanged();
          }
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            onChanged();
          }
          if (!other.getLanguage().isEmpty()) {
            language_ = other.language_;
            onChanged();
          }
          if (!other.getLanguageName().isEmpty()) {
            languageName_ = other.languageName_;
            onChanged();
          }
          if (other.getActiveRuleCount() != 0L) {
            setActiveRuleCount(other.getActiveRuleCount());
          }
          if (!other.getRulesUpdatedAt().isEmpty()) {
            rulesUpdatedAt_ = other.rulesUpdatedAt_;
            onChanged();
          }
          if (!other.getUserUpdatedAt().isEmpty()) {
            userUpdatedAt_ = other.userUpdatedAt_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private java.lang.Object key_ = "";
        /**
         * string key = 1;
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string key = 1;
         * @return The bytes for key.
         */
        public com.google.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string key = 1;
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * string key = 1;
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * string key = 1;
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          key_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object name_ = "";
        /**
         * string name = 2;
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string name = 2;
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string name = 2;
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * string name = 2;
         * @return This builder for chaining.
         */
        public Builder clearName() {
          
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * string name = 2;
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          name_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object language_ = "";
        /**
         * string language = 3;
         * @return The language.
         */
        public java.lang.String getLanguage() {
          java.lang.Object ref = language_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            language_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string language = 3;
         * @return The bytes for language.
         */
        public com.google.protobuf.ByteString
            getLanguageBytes() {
          java.lang.Object ref = language_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            language_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string language = 3;
         * @param value The language to set.
         * @return This builder for chaining.
         */
        public Builder setLanguage(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          language_ = value;
          onChanged();
          return this;
        }
        /**
         * string language = 3;
         * @return This builder for chaining.
         */
        public Builder clearLanguage() {
          
          language_ = getDefaultInstance().getLanguage();
          onChanged();
          return this;
        }
        /**
         * string language = 3;
         * @param value The bytes for language to set.
         * @return This builder for chaining.
         */
        public Builder setLanguageBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          language_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object languageName_ = "";
        /**
         * string language_name = 4;
         * @return The languageName.
         */
        public java.lang.String getLanguageName() {
          java.lang.Object ref = languageName_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            languageName_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string language_name = 4;
         * @return The bytes for languageName.
         */
        public com.google.protobuf.ByteString
            getLanguageNameBytes() {
          java.lang.Object ref = languageName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            languageName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string language_name = 4;
         * @param value The languageName to set.
         * @return This builder for chaining.
         */
        public Builder setLanguageName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          languageName_ = value;
          onChanged();
          return this;
        }
        /**
         * string language_name = 4;
         * @return This builder for chaining.
         */
        public Builder clearLanguageName() {
          
          languageName_ = getDefaultInstance().getLanguageName();
          onChanged();
          return this;
        }
        /**
         * string language_name = 4;
         * @param value The bytes for languageName to set.
         * @return This builder for chaining.
         */
        public Builder setLanguageNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          languageName_ = value;
          onChanged();
          return this;
        }

        private long activeRuleCount_ ;
        /**
         * int64 active_rule_count = 5;
         * @return The activeRuleCount.
         */
        @java.lang.Override
        public long getActiveRuleCount() {
          return activeRuleCount_;
        }
        /**
         * int64 active_rule_count = 5;
         * @param value The activeRuleCount to set.
         * @return This builder for chaining.
         */
        public Builder setActiveRuleCount(long value) {
          
          activeRuleCount_ = value;
          onChanged();
          return this;
        }
        /**
         * int64 active_rule_count = 5;
         * @return This builder for chaining.
         */
        public Builder clearActiveRuleCount() {
          
          activeRuleCount_ = 0L;
          onChanged();
          return this;
        }

        private java.lang.Object rulesUpdatedAt_ = "";
        /**
         * string rules_updated_at = 6;
         * @return The rulesUpdatedAt.
         */
        public java.lang.String getRulesUpdatedAt() {
          java.lang.Object ref = rulesUpdatedAt_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            rulesUpdatedAt_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string rules_updated_at = 6;
         * @return The bytes for rulesUpdatedAt.
         */
        public com.google.protobuf.ByteString
            getRulesUpdatedAtBytes() {
          java.lang.Object ref = rulesUpdatedAt_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            rulesUpdatedAt_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string rules_updated_at = 6;
         * @param value The rulesUpdatedAt to set.
         * @return This builder for chaining.
         */
        public Builder setRulesUpdatedAt(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          rulesUpdatedAt_ = value;
          onChanged();
          return this;
        }
        /**
         * string rules_updated_at = 6;
         * @return This builder for chaining.
         */
        public Builder clearRulesUpdatedAt() {
          
          rulesUpdatedAt_ = getDefaultInstance().getRulesUpdatedAt();
          onChanged();
          return this;
        }
        /**
         * string rules_updated_at = 6;
         * @param value The bytes for rulesUpdatedAt to set.
         * @return This builder for chaining.
         */
        public Builder setRulesUpdatedAtBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          rulesUpdatedAt_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object userUpdatedAt_ = "";
        /**
         * string user_updated_at = 7;
         * @return The userUpdatedAt.
         */
        public java.lang.String getUserUpdatedAt() {
          java.lang.Object ref = userUpdatedAt_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            userUpdatedAt_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string user_updated_at = 7;
         * @return The bytes for userUpdatedAt.
         */
        public com.google.protobuf.ByteString
            getUserUpdatedAtBytes() {
          java.lang.Object ref = userUpdatedAt_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            userUpdatedAt_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string user_updated_at = 7;
         * @param value The userUpdatedAt to set.
         * @return This builder for chaining.
         */
        public Builder setUserUpdatedAt(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          userUpdatedAt_ = value;
          onChanged();
          return this;
        }
        /**
         * string user_updated_at = 7;
         * @return This builder for chaining.
         */
        public Builder clearUserUpdatedAt() {
          
          userUpdatedAt_ = getDefaultInstance().getUserUpdatedAt();
          onChanged();
          return this;
        }
        /**
         * string user_updated_at = 7;
         * @param value The bytes for userUpdatedAt to set.
         * @return This builder for chaining.
         */
        public Builder setUserUpdatedAtBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          userUpdatedAt_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:sonarlint.QProfiles.QProfile)
      }

      // @@protoc_insertion_point(class_scope:sonarlint.QProfiles.QProfile)
      private static final org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile();
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public QProfile parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new QProfile(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int QPROFILESBYKEY_FIELD_NUMBER = 1;
    private static final class QprofilesByKeyDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_QprofilesByKeyEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile> qprofilesByKey_;
    private com.google.protobuf.MapField
    internalGetQprofilesByKey() {
      if (qprofilesByKey_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            QprofilesByKeyDefaultEntryHolder.defaultEntry);
      }
      return qprofilesByKey_;
    }

    public int getQprofilesByKeyCount() {
      return internalGetQprofilesByKey().getMap().size();
    }
    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */

    @java.lang.Override
    public boolean containsQprofilesByKey(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetQprofilesByKey().getMap().containsKey(key);
    }
    /**
     * Use {@link #getQprofilesByKeyMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getQprofilesByKey() {
      return getQprofilesByKeyMap();
    }
    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */
    @java.lang.Override

    public java.util.Map getQprofilesByKeyMap() {
      return internalGetQprofilesByKey().getMap();
    }
    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */
    @java.lang.Override

    public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getQprofilesByKeyOrDefault(
        java.lang.String key,
        org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetQprofilesByKey().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
     */
    @java.lang.Override

    public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getQprofilesByKeyOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetQprofilesByKey().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int DEFAULTQPROFILESBYLANGUAGE_FIELD_NUMBER = 2;
    private static final class DefaultQProfilesByLanguageDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_DefaultQProfilesByLanguageEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> defaultQProfilesByLanguage_;
    private com.google.protobuf.MapField
    internalGetDefaultQProfilesByLanguage() {
      if (defaultQProfilesByLanguage_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            DefaultQProfilesByLanguageDefaultEntryHolder.defaultEntry);
      }
      return defaultQProfilesByLanguage_;
    }

    public int getDefaultQProfilesByLanguageCount() {
      return internalGetDefaultQProfilesByLanguage().getMap().size();
    }
    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */

    @java.lang.Override
    public boolean containsDefaultQProfilesByLanguage(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetDefaultQProfilesByLanguage().getMap().containsKey(key);
    }
    /**
     * Use {@link #getDefaultQProfilesByLanguageMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getDefaultQProfilesByLanguage() {
      return getDefaultQProfilesByLanguageMap();
    }
    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */
    @java.lang.Override

    public java.util.Map getDefaultQProfilesByLanguageMap() {
      return internalGetDefaultQProfilesByLanguage().getMap();
    }
    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */
    @java.lang.Override

    public java.lang.String getDefaultQProfilesByLanguageOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetDefaultQProfilesByLanguage().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> defaultQProfilesByLanguage = 2;
     */
    @java.lang.Override

    public java.lang.String getDefaultQProfilesByLanguageOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetDefaultQProfilesByLanguage().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetQprofilesByKey(),
          QprofilesByKeyDefaultEntryHolder.defaultEntry,
          1);
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetDefaultQProfilesByLanguage(),
          DefaultQProfilesByLanguageDefaultEntryHolder.defaultEntry,
          2);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (java.util.Map.Entry entry
           : internalGetQprofilesByKey().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        qprofilesByKey__ = QprofilesByKeyDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, qprofilesByKey__);
      }
      for (java.util.Map.Entry entry
           : internalGetDefaultQProfilesByLanguage().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        defaultQProfilesByLanguage__ = DefaultQProfilesByLanguageDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, defaultQProfilesByLanguage__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles other = (org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles) obj;

      if (!internalGetQprofilesByKey().equals(
          other.internalGetQprofilesByKey())) return false;
      if (!internalGetDefaultQProfilesByLanguage().equals(
          other.internalGetDefaultQProfilesByLanguage())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (!internalGetQprofilesByKey().getMap().isEmpty()) {
        hash = (37 * hash) + QPROFILESBYKEY_FIELD_NUMBER;
        hash = (53 * hash) + internalGetQprofilesByKey().hashCode();
      }
      if (!internalGetDefaultQProfilesByLanguage().getMap().isEmpty()) {
        hash = (37 * hash) + DEFAULTQPROFILESBYLANGUAGE_FIELD_NUMBER;
        hash = (53 * hash) + internalGetDefaultQProfilesByLanguage().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.QProfiles}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.QProfiles)
        org.sonarsource.sonarlint.core.proto.Sonarlint.QProfilesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetQprofilesByKey();
          case 2:
            return internalGetDefaultQProfilesByLanguage();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetMutableQprofilesByKey();
          case 2:
            return internalGetMutableDefaultQProfilesByLanguage();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.class, org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        internalGetMutableQprofilesByKey().clear();
        internalGetMutableDefaultQProfilesByLanguage().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_QProfiles_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles result = new org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles(this);
        int from_bitField0_ = bitField0_;
        result.qprofilesByKey_ = internalGetQprofilesByKey();
        result.qprofilesByKey_.makeImmutable();
        result.defaultQProfilesByLanguage_ = internalGetDefaultQProfilesByLanguage();
        result.defaultQProfilesByLanguage_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.getDefaultInstance()) return this;
        internalGetMutableQprofilesByKey().mergeFrom(
            other.internalGetQprofilesByKey());
        internalGetMutableDefaultQProfilesByLanguage().mergeFrom(
            other.internalGetDefaultQProfilesByLanguage());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.MapField<
          java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile> qprofilesByKey_;
      private com.google.protobuf.MapField
      internalGetQprofilesByKey() {
        if (qprofilesByKey_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              QprofilesByKeyDefaultEntryHolder.defaultEntry);
        }
        return qprofilesByKey_;
      }
      private com.google.protobuf.MapField
      internalGetMutableQprofilesByKey() {
        onChanged();;
        if (qprofilesByKey_ == null) {
          qprofilesByKey_ = com.google.protobuf.MapField.newMapField(
              QprofilesByKeyDefaultEntryHolder.defaultEntry);
        }
        if (!qprofilesByKey_.isMutable()) {
          qprofilesByKey_ = qprofilesByKey_.copy();
        }
        return qprofilesByKey_;
      }

      public int getQprofilesByKeyCount() {
        return internalGetQprofilesByKey().getMap().size();
      }
      /**
       * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
       */

      @java.lang.Override
      public boolean containsQprofilesByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetQprofilesByKey().getMap().containsKey(key);
      }
      /**
       * Use {@link #getQprofilesByKeyMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getQprofilesByKey() {
        return getQprofilesByKeyMap();
      }
      /**
       * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
       */
      @java.lang.Override

      public java.util.Map getQprofilesByKeyMap() {
        return internalGetQprofilesByKey().getMap();
      }
      /**
       * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
       */
      @java.lang.Override

      public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getQprofilesByKeyOrDefault(
          java.lang.String key,
          org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetQprofilesByKey().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
       */
      @java.lang.Override

      public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile getQprofilesByKeyOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetQprofilesByKey().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearQprofilesByKey() {
        internalGetMutableQprofilesByKey().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
       */

      public Builder removeQprofilesByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableQprofilesByKey().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableQprofilesByKey() {
        return internalGetMutableQprofilesByKey().getMutableMap();
      }
      /**
       * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
       */
      public Builder putQprofilesByKey(
          java.lang.String key,
          org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles.QProfile value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableQprofilesByKey().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, .sonarlint.QProfiles.QProfile> qprofilesByKey = 1;
       */

      public Builder putAllQprofilesByKey(
          java.util.Map values) {
        internalGetMutableQprofilesByKey().getMutableMap()
            .putAll(values);
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> defaultQProfilesByLanguage_;
      private com.google.protobuf.MapField
      internalGetDefaultQProfilesByLanguage() {
        if (defaultQProfilesByLanguage_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              DefaultQProfilesByLanguageDefaultEntryHolder.defaultEntry);
        }
        return defaultQProfilesByLanguage_;
      }
      private com.google.protobuf.MapField
      internalGetMutableDefaultQProfilesByLanguage() {
        onChanged();;
        if (defaultQProfilesByLanguage_ == null) {
          defaultQProfilesByLanguage_ = com.google.protobuf.MapField.newMapField(
              DefaultQProfilesByLanguageDefaultEntryHolder.defaultEntry);
        }
        if (!defaultQProfilesByLanguage_.isMutable()) {
          defaultQProfilesByLanguage_ = defaultQProfilesByLanguage_.copy();
        }
        return defaultQProfilesByLanguage_;
      }

      public int getDefaultQProfilesByLanguageCount() {
        return internalGetDefaultQProfilesByLanguage().getMap().size();
      }
      /**
       * map<string, string> defaultQProfilesByLanguage = 2;
       */

      @java.lang.Override
      public boolean containsDefaultQProfilesByLanguage(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetDefaultQProfilesByLanguage().getMap().containsKey(key);
      }
      /**
       * Use {@link #getDefaultQProfilesByLanguageMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getDefaultQProfilesByLanguage() {
        return getDefaultQProfilesByLanguageMap();
      }
      /**
       * map<string, string> defaultQProfilesByLanguage = 2;
       */
      @java.lang.Override

      public java.util.Map getDefaultQProfilesByLanguageMap() {
        return internalGetDefaultQProfilesByLanguage().getMap();
      }
      /**
       * map<string, string> defaultQProfilesByLanguage = 2;
       */
      @java.lang.Override

      public java.lang.String getDefaultQProfilesByLanguageOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetDefaultQProfilesByLanguage().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> defaultQProfilesByLanguage = 2;
       */
      @java.lang.Override

      public java.lang.String getDefaultQProfilesByLanguageOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetDefaultQProfilesByLanguage().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearDefaultQProfilesByLanguage() {
        internalGetMutableDefaultQProfilesByLanguage().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> defaultQProfilesByLanguage = 2;
       */

      public Builder removeDefaultQProfilesByLanguage(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableDefaultQProfilesByLanguage().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableDefaultQProfilesByLanguage() {
        return internalGetMutableDefaultQProfilesByLanguage().getMutableMap();
      }
      /**
       * map<string, string> defaultQProfilesByLanguage = 2;
       */
      public Builder putDefaultQProfilesByLanguage(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableDefaultQProfilesByLanguage().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> defaultQProfilesByLanguage = 2;
       */

      public Builder putAllDefaultQProfilesByLanguage(
          java.util.Map values) {
        internalGetMutableDefaultQProfilesByLanguage().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.QProfiles)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.QProfiles)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public QProfiles parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new QProfiles(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.QProfiles getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ActiveRulesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.ActiveRules)
      com.google.protobuf.MessageOrBuilder {

    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */
    int getActiveRulesByKeyCount();
    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */
    boolean containsActiveRulesByKey(
        java.lang.String key);
    /**
     * Use {@link #getActiveRulesByKeyMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getActiveRulesByKey();
    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */
    java.util.Map
    getActiveRulesByKeyMap();
    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */

    org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getActiveRulesByKeyOrDefault(
        java.lang.String key,
        org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule defaultValue);
    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */

    org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getActiveRulesByKeyOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code sonarlint.ActiveRules}
   */
  public static final class ActiveRules extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.ActiveRules)
      ActiveRulesOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ActiveRules.newBuilder() to construct.
    private ActiveRules(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ActiveRules() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ActiveRules();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ActiveRules(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                activeRulesByKey_ = com.google.protobuf.MapField.newMapField(
                    ActiveRulesByKeyDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              activeRulesByKey__ = input.readMessage(
                  ActiveRulesByKeyDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              activeRulesByKey_.getMutableMap().put(
                  activeRulesByKey__.getKey(), activeRulesByKey__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 1:
          return internalGetActiveRulesByKey();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.Builder.class);
    }

    public interface ActiveRuleOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.ActiveRules.ActiveRule)
        com.google.protobuf.MessageOrBuilder {

      /**
       * string repo = 1;
       * @return The repo.
       */
      java.lang.String getRepo();
      /**
       * string repo = 1;
       * @return The bytes for repo.
       */
      com.google.protobuf.ByteString
          getRepoBytes();

      /**
       * string key = 2;
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * string key = 2;
       * @return The bytes for key.
       */
      com.google.protobuf.ByteString
          getKeyBytes();

      /**
       * string severity = 3;
       * @return The severity.
       */
      java.lang.String getSeverity();
      /**
       * string severity = 3;
       * @return The bytes for severity.
       */
      com.google.protobuf.ByteString
          getSeverityBytes();

      /**
       * map<string, string> params = 4;
       */
      int getParamsCount();
      /**
       * map<string, string> params = 4;
       */
      boolean containsParams(
          java.lang.String key);
      /**
       * Use {@link #getParamsMap()} instead.
       */
      @java.lang.Deprecated
      java.util.Map
      getParams();
      /**
       * map<string, string> params = 4;
       */
      java.util.Map
      getParamsMap();
      /**
       * map<string, string> params = 4;
       */

      java.lang.String getParamsOrDefault(
          java.lang.String key,
          java.lang.String defaultValue);
      /**
       * map<string, string> params = 4;
       */

      java.lang.String getParamsOrThrow(
          java.lang.String key);
    }
    /**
     * Protobuf type {@code sonarlint.ActiveRules.ActiveRule}
     */
    public static final class ActiveRule extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:sonarlint.ActiveRules.ActiveRule)
        ActiveRuleOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use ActiveRule.newBuilder() to construct.
      private ActiveRule(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private ActiveRule() {
        repo_ = "";
        key_ = "";
        severity_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new ActiveRule();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private ActiveRule(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();

                repo_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();

                key_ = s;
                break;
              }
              case 26: {
                java.lang.String s = input.readStringRequireUtf8();

                severity_ = s;
                break;
              }
              case 34: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  params_ = com.google.protobuf.MapField.newMapField(
                      ParamsDefaultEntryHolder.defaultEntry);
                  mutable_bitField0_ |= 0x00000001;
                }
                com.google.protobuf.MapEntry
                params__ = input.readMessage(
                    ParamsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                params_.getMutableMap().put(
                    params__.getKey(), params__.getValue());
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_ActiveRule_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      @java.lang.Override
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetParams();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_ActiveRule_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule.Builder.class);
      }

      public static final int REPO_FIELD_NUMBER = 1;
      private volatile java.lang.Object repo_;
      /**
       * string repo = 1;
       * @return The repo.
       */
      @java.lang.Override
      public java.lang.String getRepo() {
        java.lang.Object ref = repo_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          repo_ = s;
          return s;
        }
      }
      /**
       * string repo = 1;
       * @return The bytes for repo.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getRepoBytes() {
        java.lang.Object ref = repo_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          repo_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int KEY_FIELD_NUMBER = 2;
      private volatile java.lang.Object key_;
      /**
       * string key = 2;
       * @return The key.
       */
      @java.lang.Override
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          key_ = s;
          return s;
        }
      }
      /**
       * string key = 2;
       * @return The bytes for key.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int SEVERITY_FIELD_NUMBER = 3;
      private volatile java.lang.Object severity_;
      /**
       * string severity = 3;
       * @return The severity.
       */
      @java.lang.Override
      public java.lang.String getSeverity() {
        java.lang.Object ref = severity_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          severity_ = s;
          return s;
        }
      }
      /**
       * string severity = 3;
       * @return The bytes for severity.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSeverityBytes() {
        java.lang.Object ref = severity_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          severity_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int PARAMS_FIELD_NUMBER = 4;
      private static final class ParamsDefaultEntryHolder {
        static final com.google.protobuf.MapEntry<
            java.lang.String, java.lang.String> defaultEntry =
                com.google.protobuf.MapEntry
                .newDefaultInstance(
                    org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_ActiveRule_ParamsEntry_descriptor, 
                    com.google.protobuf.WireFormat.FieldType.STRING,
                    "",
                    com.google.protobuf.WireFormat.FieldType.STRING,
                    "");
      }
      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> params_;
      private com.google.protobuf.MapField
      internalGetParams() {
        if (params_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ParamsDefaultEntryHolder.defaultEntry);
        }
        return params_;
      }

      public int getParamsCount() {
        return internalGetParams().getMap().size();
      }
      /**
       * map<string, string> params = 4;
       */

      @java.lang.Override
      public boolean containsParams(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetParams().getMap().containsKey(key);
      }
      /**
       * Use {@link #getParamsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getParams() {
        return getParamsMap();
      }
      /**
       * map<string, string> params = 4;
       */
      @java.lang.Override

      public java.util.Map getParamsMap() {
        return internalGetParams().getMap();
      }
      /**
       * map<string, string> params = 4;
       */
      @java.lang.Override

      public java.lang.String getParamsOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetParams().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> params = 4;
       */
      @java.lang.Override

      public java.lang.String getParamsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetParams().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!getRepoBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, repo_);
        }
        if (!getKeyBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, key_);
        }
        if (!getSeverityBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 3, severity_);
        }
        com.google.protobuf.GeneratedMessageV3
          .serializeStringMapTo(
            output,
            internalGetParams(),
            ParamsDefaultEntryHolder.defaultEntry,
            4);
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!getRepoBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, repo_);
        }
        if (!getKeyBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, key_);
        }
        if (!getSeverityBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, severity_);
        }
        for (java.util.Map.Entry entry
             : internalGetParams().getMap().entrySet()) {
          com.google.protobuf.MapEntry
          params__ = ParamsDefaultEntryHolder.defaultEntry.newBuilderForType()
              .setKey(entry.getKey())
              .setValue(entry.getValue())
              .build();
          size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(4, params__);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule)) {
          return super.equals(obj);
        }
        org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule) obj;

        if (!getRepo()
            .equals(other.getRepo())) return false;
        if (!getKey()
            .equals(other.getKey())) return false;
        if (!getSeverity()
            .equals(other.getSeverity())) return false;
        if (!internalGetParams().equals(
            other.internalGetParams())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + REPO_FIELD_NUMBER;
        hash = (53 * hash) + getRepo().hashCode();
        hash = (37 * hash) + KEY_FIELD_NUMBER;
        hash = (53 * hash) + getKey().hashCode();
        hash = (37 * hash) + SEVERITY_FIELD_NUMBER;
        hash = (53 * hash) + getSeverity().hashCode();
        if (!internalGetParams().getMap().isEmpty()) {
          hash = (37 * hash) + PARAMS_FIELD_NUMBER;
          hash = (53 * hash) + internalGetParams().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code sonarlint.ActiveRules.ActiveRule}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:sonarlint.ActiveRules.ActiveRule)
          org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRuleOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_ActiveRule_descriptor;
        }

        @SuppressWarnings({"rawtypes"})
        protected com.google.protobuf.MapField internalGetMapField(
            int number) {
          switch (number) {
            case 4:
              return internalGetParams();
            default:
              throw new RuntimeException(
                  "Invalid map field number: " + number);
          }
        }
        @SuppressWarnings({"rawtypes"})
        protected com.google.protobuf.MapField internalGetMutableMapField(
            int number) {
          switch (number) {
            case 4:
              return internalGetMutableParams();
            default:
              throw new RuntimeException(
                  "Invalid map field number: " + number);
          }
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_ActiveRule_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule.Builder.class);
        }

        // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          repo_ = "";

          key_ = "";

          severity_ = "";

          internalGetMutableParams().clear();
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_ActiveRule_descriptor;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getDefaultInstanceForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule.getDefaultInstance();
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule build() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule buildPartial() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule(this);
          int from_bitField0_ = bitField0_;
          result.repo_ = repo_;
          result.key_ = key_;
          result.severity_ = severity_;
          result.params_ = internalGetParams();
          result.params_.makeImmutable();
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule) {
            return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule other) {
          if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule.getDefaultInstance()) return this;
          if (!other.getRepo().isEmpty()) {
            repo_ = other.repo_;
            onChanged();
          }
          if (!other.getKey().isEmpty()) {
            key_ = other.key_;
            onChanged();
          }
          if (!other.getSeverity().isEmpty()) {
            severity_ = other.severity_;
            onChanged();
          }
          internalGetMutableParams().mergeFrom(
              other.internalGetParams());
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object repo_ = "";
        /**
         * string repo = 1;
         * @return The repo.
         */
        public java.lang.String getRepo() {
          java.lang.Object ref = repo_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            repo_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string repo = 1;
         * @return The bytes for repo.
         */
        public com.google.protobuf.ByteString
            getRepoBytes() {
          java.lang.Object ref = repo_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            repo_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string repo = 1;
         * @param value The repo to set.
         * @return This builder for chaining.
         */
        public Builder setRepo(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          repo_ = value;
          onChanged();
          return this;
        }
        /**
         * string repo = 1;
         * @return This builder for chaining.
         */
        public Builder clearRepo() {
          
          repo_ = getDefaultInstance().getRepo();
          onChanged();
          return this;
        }
        /**
         * string repo = 1;
         * @param value The bytes for repo to set.
         * @return This builder for chaining.
         */
        public Builder setRepoBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          repo_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object key_ = "";
        /**
         * string key = 2;
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string key = 2;
         * @return The bytes for key.
         */
        public com.google.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string key = 2;
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * string key = 2;
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * string key = 2;
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          key_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object severity_ = "";
        /**
         * string severity = 3;
         * @return The severity.
         */
        public java.lang.String getSeverity() {
          java.lang.Object ref = severity_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            severity_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string severity = 3;
         * @return The bytes for severity.
         */
        public com.google.protobuf.ByteString
            getSeverityBytes() {
          java.lang.Object ref = severity_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            severity_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string severity = 3;
         * @param value The severity to set.
         * @return This builder for chaining.
         */
        public Builder setSeverity(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          severity_ = value;
          onChanged();
          return this;
        }
        /**
         * string severity = 3;
         * @return This builder for chaining.
         */
        public Builder clearSeverity() {
          
          severity_ = getDefaultInstance().getSeverity();
          onChanged();
          return this;
        }
        /**
         * string severity = 3;
         * @param value The bytes for severity to set.
         * @return This builder for chaining.
         */
        public Builder setSeverityBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          severity_ = value;
          onChanged();
          return this;
        }

        private com.google.protobuf.MapField<
            java.lang.String, java.lang.String> params_;
        private com.google.protobuf.MapField
        internalGetParams() {
          if (params_ == null) {
            return com.google.protobuf.MapField.emptyMapField(
                ParamsDefaultEntryHolder.defaultEntry);
          }
          return params_;
        }
        private com.google.protobuf.MapField
        internalGetMutableParams() {
          onChanged();;
          if (params_ == null) {
            params_ = com.google.protobuf.MapField.newMapField(
                ParamsDefaultEntryHolder.defaultEntry);
          }
          if (!params_.isMutable()) {
            params_ = params_.copy();
          }
          return params_;
        }

        public int getParamsCount() {
          return internalGetParams().getMap().size();
        }
        /**
         * map<string, string> params = 4;
         */

        @java.lang.Override
        public boolean containsParams(
            java.lang.String key) {
          if (key == null) { throw new java.lang.NullPointerException(); }
          return internalGetParams().getMap().containsKey(key);
        }
        /**
         * Use {@link #getParamsMap()} instead.
         */
        @java.lang.Override
        @java.lang.Deprecated
        public java.util.Map getParams() {
          return getParamsMap();
        }
        /**
         * map<string, string> params = 4;
         */
        @java.lang.Override

        public java.util.Map getParamsMap() {
          return internalGetParams().getMap();
        }
        /**
         * map<string, string> params = 4;
         */
        @java.lang.Override

        public java.lang.String getParamsOrDefault(
            java.lang.String key,
            java.lang.String defaultValue) {
          if (key == null) { throw new java.lang.NullPointerException(); }
          java.util.Map map =
              internalGetParams().getMap();
          return map.containsKey(key) ? map.get(key) : defaultValue;
        }
        /**
         * map<string, string> params = 4;
         */
        @java.lang.Override

        public java.lang.String getParamsOrThrow(
            java.lang.String key) {
          if (key == null) { throw new java.lang.NullPointerException(); }
          java.util.Map map =
              internalGetParams().getMap();
          if (!map.containsKey(key)) {
            throw new java.lang.IllegalArgumentException();
          }
          return map.get(key);
        }

        public Builder clearParams() {
          internalGetMutableParams().getMutableMap()
              .clear();
          return this;
        }
        /**
         * map<string, string> params = 4;
         */

        public Builder removeParams(
            java.lang.String key) {
          if (key == null) { throw new java.lang.NullPointerException(); }
          internalGetMutableParams().getMutableMap()
              .remove(key);
          return this;
        }
        /**
         * Use alternate mutation accessors instead.
         */
        @java.lang.Deprecated
        public java.util.Map
        getMutableParams() {
          return internalGetMutableParams().getMutableMap();
        }
        /**
         * map<string, string> params = 4;
         */
        public Builder putParams(
            java.lang.String key,
            java.lang.String value) {
          if (key == null) { throw new java.lang.NullPointerException(); }
          if (value == null) { throw new java.lang.NullPointerException(); }
          internalGetMutableParams().getMutableMap()
              .put(key, value);
          return this;
        }
        /**
         * map<string, string> params = 4;
         */

        public Builder putAllParams(
            java.util.Map values) {
          internalGetMutableParams().getMutableMap()
              .putAll(values);
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:sonarlint.ActiveRules.ActiveRule)
      }

      // @@protoc_insertion_point(class_scope:sonarlint.ActiveRules.ActiveRule)
      private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule();
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public ActiveRule parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new ActiveRule(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int ACTIVE_RULES_BY_KEY_FIELD_NUMBER = 1;
    private static final class ActiveRulesByKeyDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_ActiveRulesByKeyEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule> activeRulesByKey_;
    private com.google.protobuf.MapField
    internalGetActiveRulesByKey() {
      if (activeRulesByKey_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ActiveRulesByKeyDefaultEntryHolder.defaultEntry);
      }
      return activeRulesByKey_;
    }

    public int getActiveRulesByKeyCount() {
      return internalGetActiveRulesByKey().getMap().size();
    }
    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */

    @java.lang.Override
    public boolean containsActiveRulesByKey(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetActiveRulesByKey().getMap().containsKey(key);
    }
    /**
     * Use {@link #getActiveRulesByKeyMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getActiveRulesByKey() {
      return getActiveRulesByKeyMap();
    }
    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */
    @java.lang.Override

    public java.util.Map getActiveRulesByKeyMap() {
      return internalGetActiveRulesByKey().getMap();
    }
    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */
    @java.lang.Override

    public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getActiveRulesByKeyOrDefault(
        java.lang.String key,
        org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetActiveRulesByKey().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
     */
    @java.lang.Override

    public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getActiveRulesByKeyOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetActiveRulesByKey().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetActiveRulesByKey(),
          ActiveRulesByKeyDefaultEntryHolder.defaultEntry,
          1);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (java.util.Map.Entry entry
           : internalGetActiveRulesByKey().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        activeRulesByKey__ = ActiveRulesByKeyDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, activeRulesByKey__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules) obj;

      if (!internalGetActiveRulesByKey().equals(
          other.internalGetActiveRulesByKey())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (!internalGetActiveRulesByKey().getMap().isEmpty()) {
        hash = (37 * hash) + ACTIVE_RULES_BY_KEY_FIELD_NUMBER;
        hash = (53 * hash) + internalGetActiveRulesByKey().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.ActiveRules}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.ActiveRules)
        org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRulesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetActiveRulesByKey();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetMutableActiveRulesByKey();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        internalGetMutableActiveRulesByKey().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ActiveRules_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules(this);
        int from_bitField0_ = bitField0_;
        result.activeRulesByKey_ = internalGetActiveRulesByKey();
        result.activeRulesByKey_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.getDefaultInstance()) return this;
        internalGetMutableActiveRulesByKey().mergeFrom(
            other.internalGetActiveRulesByKey());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.MapField<
          java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule> activeRulesByKey_;
      private com.google.protobuf.MapField
      internalGetActiveRulesByKey() {
        if (activeRulesByKey_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ActiveRulesByKeyDefaultEntryHolder.defaultEntry);
        }
        return activeRulesByKey_;
      }
      private com.google.protobuf.MapField
      internalGetMutableActiveRulesByKey() {
        onChanged();;
        if (activeRulesByKey_ == null) {
          activeRulesByKey_ = com.google.protobuf.MapField.newMapField(
              ActiveRulesByKeyDefaultEntryHolder.defaultEntry);
        }
        if (!activeRulesByKey_.isMutable()) {
          activeRulesByKey_ = activeRulesByKey_.copy();
        }
        return activeRulesByKey_;
      }

      public int getActiveRulesByKeyCount() {
        return internalGetActiveRulesByKey().getMap().size();
      }
      /**
       * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
       */

      @java.lang.Override
      public boolean containsActiveRulesByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetActiveRulesByKey().getMap().containsKey(key);
      }
      /**
       * Use {@link #getActiveRulesByKeyMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getActiveRulesByKey() {
        return getActiveRulesByKeyMap();
      }
      /**
       * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
       */
      @java.lang.Override

      public java.util.Map getActiveRulesByKeyMap() {
        return internalGetActiveRulesByKey().getMap();
      }
      /**
       * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
       */
      @java.lang.Override

      public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getActiveRulesByKeyOrDefault(
          java.lang.String key,
          org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetActiveRulesByKey().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
       */
      @java.lang.Override

      public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule getActiveRulesByKeyOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetActiveRulesByKey().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearActiveRulesByKey() {
        internalGetMutableActiveRulesByKey().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
       */

      public Builder removeActiveRulesByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableActiveRulesByKey().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableActiveRulesByKey() {
        return internalGetMutableActiveRulesByKey().getMutableMap();
      }
      /**
       * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
       */
      public Builder putActiveRulesByKey(
          java.lang.String key,
          org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules.ActiveRule value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableActiveRulesByKey().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, .sonarlint.ActiveRules.ActiveRule> active_rules_by_key = 1;
       */

      public Builder putAllActiveRulesByKey(
          java.util.Map values) {
        internalGetMutableActiveRulesByKey().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.ActiveRules)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.ActiveRules)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ActiveRules parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ActiveRules(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ActiveRules getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ServerIssueOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.ServerIssue)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string rule_repository = 3;
     * @return The ruleRepository.
     */
    java.lang.String getRuleRepository();
    /**
     * string rule_repository = 3;
     * @return The bytes for ruleRepository.
     */
    com.google.protobuf.ByteString
        getRuleRepositoryBytes();

    /**
     * string rule_key = 4;
     * @return The ruleKey.
     */
    java.lang.String getRuleKey();
    /**
     * string rule_key = 4;
     * @return The bytes for ruleKey.
     */
    com.google.protobuf.ByteString
        getRuleKeyBytes();

    /**
     * string severity = 7;
     * @return The severity.
     */
    java.lang.String getSeverity();
    /**
     * string severity = 7;
     * @return The bytes for severity.
     */
    com.google.protobuf.ByteString
        getSeverityBytes();

    /**
     * string resolution = 9;
     * @return The resolution.
     */
    java.lang.String getResolution();
    /**
     * string resolution = 9;
     * @return The bytes for resolution.
     */
    com.google.protobuf.ByteString
        getResolutionBytes();

    /**
     * string status = 10;
     * @return The status.
     */
    java.lang.String getStatus();
    /**
     * string status = 10;
     * @return The bytes for status.
     */
    com.google.protobuf.ByteString
        getStatusBytes();

    /**
     * string line_hash = 11;
     * @return The lineHash.
     */
    java.lang.String getLineHash();
    /**
     * string line_hash = 11;
     * @return The bytes for lineHash.
     */
    com.google.protobuf.ByteString
        getLineHashBytes();

    /**
     * string assignee_login = 12;
     * @return The assigneeLogin.
     */
    java.lang.String getAssigneeLogin();
    /**
     * string assignee_login = 12;
     * @return The bytes for assigneeLogin.
     */
    com.google.protobuf.ByteString
        getAssigneeLoginBytes();

    /**
     * int64 creation_date = 13;
     * @return The creationDate.
     */
    long getCreationDate();

    /**
     * string type = 14;
     * @return The type.
     */
    java.lang.String getType();
    /**
     * string type = 14;
     * @return The bytes for type.
     */
    com.google.protobuf.ByteString
        getTypeBytes();

    /**
     * string key = 15;
     * @return The key.
     */
    java.lang.String getKey();
    /**
     * string key = 15;
     * @return The bytes for key.
     */
    com.google.protobuf.ByteString
        getKeyBytes();

    /**
     * .sonarlint.ServerIssue.Location primary_location = 16;
     * @return Whether the primaryLocation field is set.
     */
    boolean hasPrimaryLocation();
    /**
     * .sonarlint.ServerIssue.Location primary_location = 16;
     * @return The primaryLocation.
     */
    org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getPrimaryLocation();
    /**
     * .sonarlint.ServerIssue.Location primary_location = 16;
     */
    org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder getPrimaryLocationOrBuilder();

    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    java.util.List 
        getFlowList();
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow getFlow(int index);
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    int getFlowCount();
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    java.util.List 
        getFlowOrBuilderList();
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.FlowOrBuilder getFlowOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code sonarlint.ServerIssue}
   */
  public static final class ServerIssue extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.ServerIssue)
      ServerIssueOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ServerIssue.newBuilder() to construct.
    private ServerIssue(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ServerIssue() {
      ruleRepository_ = "";
      ruleKey_ = "";
      severity_ = "";
      resolution_ = "";
      status_ = "";
      lineHash_ = "";
      assigneeLogin_ = "";
      type_ = "";
      key_ = "";
      flow_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ServerIssue();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ServerIssue(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              ruleRepository_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              ruleKey_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              severity_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              resolution_ = s;
              break;
            }
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();

              status_ = s;
              break;
            }
            case 90: {
              java.lang.String s = input.readStringRequireUtf8();

              lineHash_ = s;
              break;
            }
            case 98: {
              java.lang.String s = input.readStringRequireUtf8();

              assigneeLogin_ = s;
              break;
            }
            case 104: {

              creationDate_ = input.readInt64();
              break;
            }
            case 114: {
              java.lang.String s = input.readStringRequireUtf8();

              type_ = s;
              break;
            }
            case 122: {
              java.lang.String s = input.readStringRequireUtf8();

              key_ = s;
              break;
            }
            case 130: {
              org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder subBuilder = null;
              if (primaryLocation_ != null) {
                subBuilder = primaryLocation_.toBuilder();
              }
              primaryLocation_ = input.readMessage(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(primaryLocation_);
                primaryLocation_ = subBuilder.buildPartial();
              }

              break;
            }
            case 138: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                flow_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              flow_.add(
                  input.readMessage(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          flow_ = java.util.Collections.unmodifiableList(flow_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Builder.class);
    }

    public interface FlowOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.ServerIssue.Flow)
        com.google.protobuf.MessageOrBuilder {

      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      java.util.List 
          getLocationList();
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getLocation(int index);
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      int getLocationCount();
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      java.util.List 
          getLocationOrBuilderList();
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder getLocationOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code sonarlint.ServerIssue.Flow}
     */
    public static final class Flow extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:sonarlint.ServerIssue.Flow)
        FlowOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Flow.newBuilder() to construct.
      private Flow(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Flow() {
        location_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Flow();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Flow(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  location_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                location_.add(
                    input.readMessage(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.parser(), extensionRegistry));
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) != 0)) {
            location_ = java.util.Collections.unmodifiableList(location_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Flow_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Flow_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder.class);
      }

      public static final int LOCATION_FIELD_NUMBER = 1;
      private java.util.List location_;
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      @java.lang.Override
      public java.util.List getLocationList() {
        return location_;
      }
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      @java.lang.Override
      public java.util.List 
          getLocationOrBuilderList() {
        return location_;
      }
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      @java.lang.Override
      public int getLocationCount() {
        return location_.size();
      }
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getLocation(int index) {
        return location_.get(index);
      }
      /**
       * repeated .sonarlint.ServerIssue.Location location = 1;
       */
      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder getLocationOrBuilder(
          int index) {
        return location_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < location_.size(); i++) {
          output.writeMessage(1, location_.get(i));
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        for (int i = 0; i < location_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, location_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow)) {
          return super.equals(obj);
        }
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow) obj;

        if (!getLocationList()
            .equals(other.getLocationList())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getLocationCount() > 0) {
          hash = (37 * hash) + LOCATION_FIELD_NUMBER;
          hash = (53 * hash) + getLocationList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code sonarlint.ServerIssue.Flow}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:sonarlint.ServerIssue.Flow)
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.FlowOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Flow_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Flow_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder.class);
        }

        // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getLocationFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (locationBuilder_ == null) {
            location_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            locationBuilder_.clear();
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Flow_descriptor;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow getDefaultInstanceForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.getDefaultInstance();
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow build() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow buildPartial() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow(this);
          int from_bitField0_ = bitField0_;
          if (locationBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)) {
              location_ = java.util.Collections.unmodifiableList(location_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.location_ = location_;
          } else {
            result.location_ = locationBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow) {
            return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow other) {
          if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.getDefaultInstance()) return this;
          if (locationBuilder_ == null) {
            if (!other.location_.isEmpty()) {
              if (location_.isEmpty()) {
                location_ = other.location_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureLocationIsMutable();
                location_.addAll(other.location_);
              }
              onChanged();
            }
          } else {
            if (!other.location_.isEmpty()) {
              if (locationBuilder_.isEmpty()) {
                locationBuilder_.dispose();
                locationBuilder_ = null;
                location_ = other.location_;
                bitField0_ = (bitField0_ & ~0x00000001);
                locationBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getLocationFieldBuilder() : null;
              } else {
                locationBuilder_.addAllMessages(other.location_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.util.List location_ =
          java.util.Collections.emptyList();
        private void ensureLocationIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            location_ = new java.util.ArrayList(location_);
            bitField0_ |= 0x00000001;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder> locationBuilder_;

        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public java.util.List getLocationList() {
          if (locationBuilder_ == null) {
            return java.util.Collections.unmodifiableList(location_);
          } else {
            return locationBuilder_.getMessageList();
          }
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public int getLocationCount() {
          if (locationBuilder_ == null) {
            return location_.size();
          } else {
            return locationBuilder_.getCount();
          }
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getLocation(int index) {
          if (locationBuilder_ == null) {
            return location_.get(index);
          } else {
            return locationBuilder_.getMessage(index);
          }
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder setLocation(
            int index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location value) {
          if (locationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureLocationIsMutable();
            location_.set(index, value);
            onChanged();
          } else {
            locationBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder setLocation(
            int index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder builderForValue) {
          if (locationBuilder_ == null) {
            ensureLocationIsMutable();
            location_.set(index, builderForValue.build());
            onChanged();
          } else {
            locationBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder addLocation(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location value) {
          if (locationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureLocationIsMutable();
            location_.add(value);
            onChanged();
          } else {
            locationBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder addLocation(
            int index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location value) {
          if (locationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureLocationIsMutable();
            location_.add(index, value);
            onChanged();
          } else {
            locationBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder addLocation(
            org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder builderForValue) {
          if (locationBuilder_ == null) {
            ensureLocationIsMutable();
            location_.add(builderForValue.build());
            onChanged();
          } else {
            locationBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder addLocation(
            int index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder builderForValue) {
          if (locationBuilder_ == null) {
            ensureLocationIsMutable();
            location_.add(index, builderForValue.build());
            onChanged();
          } else {
            locationBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder addAllLocation(
            java.lang.Iterable values) {
          if (locationBuilder_ == null) {
            ensureLocationIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, location_);
            onChanged();
          } else {
            locationBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder clearLocation() {
          if (locationBuilder_ == null) {
            location_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            locationBuilder_.clear();
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public Builder removeLocation(int index) {
          if (locationBuilder_ == null) {
            ensureLocationIsMutable();
            location_.remove(index);
            onChanged();
          } else {
            locationBuilder_.remove(index);
          }
          return this;
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder getLocationBuilder(
            int index) {
          return getLocationFieldBuilder().getBuilder(index);
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder getLocationOrBuilder(
            int index) {
          if (locationBuilder_ == null) {
            return location_.get(index);  } else {
            return locationBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public java.util.List 
             getLocationOrBuilderList() {
          if (locationBuilder_ != null) {
            return locationBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(location_);
          }
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder addLocationBuilder() {
          return getLocationFieldBuilder().addBuilder(
              org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.getDefaultInstance());
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder addLocationBuilder(
            int index) {
          return getLocationFieldBuilder().addBuilder(
              index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.getDefaultInstance());
        }
        /**
         * repeated .sonarlint.ServerIssue.Location location = 1;
         */
        public java.util.List 
             getLocationBuilderList() {
          return getLocationFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder> 
            getLocationFieldBuilder() {
          if (locationBuilder_ == null) {
            locationBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder>(
                    location_,
                    ((bitField0_ & 0x00000001) != 0),
                    getParentForChildren(),
                    isClean());
            location_ = null;
          }
          return locationBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:sonarlint.ServerIssue.Flow)
      }

      // @@protoc_insertion_point(class_scope:sonarlint.ServerIssue.Flow)
      private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow();
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Flow parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Flow(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface LocationOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.ServerIssue.Location)
        com.google.protobuf.MessageOrBuilder {

      /**
       * string path = 1;
       * @return The path.
       */
      java.lang.String getPath();
      /**
       * string path = 1;
       * @return The bytes for path.
       */
      com.google.protobuf.ByteString
          getPathBytes();

      /**
       * string msg = 2;
       * @return The msg.
       */
      java.lang.String getMsg();
      /**
       * string msg = 2;
       * @return The bytes for msg.
       */
      com.google.protobuf.ByteString
          getMsgBytes();

      /**
       * .sonarlint.ServerIssue.TextRange text_range = 3;
       * @return Whether the textRange field is set.
       */
      boolean hasTextRange();
      /**
       * .sonarlint.ServerIssue.TextRange text_range = 3;
       * @return The textRange.
       */
      org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange getTextRange();
      /**
       * .sonarlint.ServerIssue.TextRange text_range = 3;
       */
      org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRangeOrBuilder getTextRangeOrBuilder();

      /**
       * string code_snippet = 4;
       * @return The codeSnippet.
       */
      java.lang.String getCodeSnippet();
      /**
       * string code_snippet = 4;
       * @return The bytes for codeSnippet.
       */
      com.google.protobuf.ByteString
          getCodeSnippetBytes();
    }
    /**
     * Protobuf type {@code sonarlint.ServerIssue.Location}
     */
    public static final class Location extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:sonarlint.ServerIssue.Location)
        LocationOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Location.newBuilder() to construct.
      private Location(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Location() {
        path_ = "";
        msg_ = "";
        codeSnippet_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Location();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Location(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();

                path_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();

                msg_ = s;
                break;
              }
              case 26: {
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.Builder subBuilder = null;
                if (textRange_ != null) {
                  subBuilder = textRange_.toBuilder();
                }
                textRange_ = input.readMessage(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(textRange_);
                  textRange_ = subBuilder.buildPartial();
                }

                break;
              }
              case 34: {
                java.lang.String s = input.readStringRequireUtf8();

                codeSnippet_ = s;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Location_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Location_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder.class);
      }

      public static final int PATH_FIELD_NUMBER = 1;
      private volatile java.lang.Object path_;
      /**
       * string path = 1;
       * @return The path.
       */
      @java.lang.Override
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          path_ = s;
          return s;
        }
      }
      /**
       * string path = 1;
       * @return The bytes for path.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int MSG_FIELD_NUMBER = 2;
      private volatile java.lang.Object msg_;
      /**
       * string msg = 2;
       * @return The msg.
       */
      @java.lang.Override
      public java.lang.String getMsg() {
        java.lang.Object ref = msg_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          msg_ = s;
          return s;
        }
      }
      /**
       * string msg = 2;
       * @return The bytes for msg.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getMsgBytes() {
        java.lang.Object ref = msg_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          msg_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int TEXT_RANGE_FIELD_NUMBER = 3;
      private org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange textRange_;
      /**
       * .sonarlint.ServerIssue.TextRange text_range = 3;
       * @return Whether the textRange field is set.
       */
      @java.lang.Override
      public boolean hasTextRange() {
        return textRange_ != null;
      }
      /**
       * .sonarlint.ServerIssue.TextRange text_range = 3;
       * @return The textRange.
       */
      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange getTextRange() {
        return textRange_ == null ? org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.getDefaultInstance() : textRange_;
      }
      /**
       * .sonarlint.ServerIssue.TextRange text_range = 3;
       */
      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRangeOrBuilder getTextRangeOrBuilder() {
        return getTextRange();
      }

      public static final int CODE_SNIPPET_FIELD_NUMBER = 4;
      private volatile java.lang.Object codeSnippet_;
      /**
       * string code_snippet = 4;
       * @return The codeSnippet.
       */
      @java.lang.Override
      public java.lang.String getCodeSnippet() {
        java.lang.Object ref = codeSnippet_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          codeSnippet_ = s;
          return s;
        }
      }
      /**
       * string code_snippet = 4;
       * @return The bytes for codeSnippet.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeSnippetBytes() {
        java.lang.Object ref = codeSnippet_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          codeSnippet_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!getPathBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, path_);
        }
        if (!getMsgBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, msg_);
        }
        if (textRange_ != null) {
          output.writeMessage(3, getTextRange());
        }
        if (!getCodeSnippetBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 4, codeSnippet_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!getPathBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, path_);
        }
        if (!getMsgBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, msg_);
        }
        if (textRange_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, getTextRange());
        }
        if (!getCodeSnippetBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, codeSnippet_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location)) {
          return super.equals(obj);
        }
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location) obj;

        if (!getPath()
            .equals(other.getPath())) return false;
        if (!getMsg()
            .equals(other.getMsg())) return false;
        if (hasTextRange() != other.hasTextRange()) return false;
        if (hasTextRange()) {
          if (!getTextRange()
              .equals(other.getTextRange())) return false;
        }
        if (!getCodeSnippet()
            .equals(other.getCodeSnippet())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + PATH_FIELD_NUMBER;
        hash = (53 * hash) + getPath().hashCode();
        hash = (37 * hash) + MSG_FIELD_NUMBER;
        hash = (53 * hash) + getMsg().hashCode();
        if (hasTextRange()) {
          hash = (37 * hash) + TEXT_RANGE_FIELD_NUMBER;
          hash = (53 * hash) + getTextRange().hashCode();
        }
        hash = (37 * hash) + CODE_SNIPPET_FIELD_NUMBER;
        hash = (53 * hash) + getCodeSnippet().hashCode();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code sonarlint.ServerIssue.Location}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:sonarlint.ServerIssue.Location)
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Location_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Location_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder.class);
        }

        // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          path_ = "";

          msg_ = "";

          if (textRangeBuilder_ == null) {
            textRange_ = null;
          } else {
            textRange_ = null;
            textRangeBuilder_ = null;
          }
          codeSnippet_ = "";

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_Location_descriptor;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getDefaultInstanceForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.getDefaultInstance();
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location build() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location buildPartial() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location(this);
          result.path_ = path_;
          result.msg_ = msg_;
          if (textRangeBuilder_ == null) {
            result.textRange_ = textRange_;
          } else {
            result.textRange_ = textRangeBuilder_.build();
          }
          result.codeSnippet_ = codeSnippet_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location) {
            return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location other) {
          if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.getDefaultInstance()) return this;
          if (!other.getPath().isEmpty()) {
            path_ = other.path_;
            onChanged();
          }
          if (!other.getMsg().isEmpty()) {
            msg_ = other.msg_;
            onChanged();
          }
          if (other.hasTextRange()) {
            mergeTextRange(other.getTextRange());
          }
          if (!other.getCodeSnippet().isEmpty()) {
            codeSnippet_ = other.codeSnippet_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private java.lang.Object path_ = "";
        /**
         * string path = 1;
         * @return The path.
         */
        public java.lang.String getPath() {
          java.lang.Object ref = path_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            path_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string path = 1;
         * @return The bytes for path.
         */
        public com.google.protobuf.ByteString
            getPathBytes() {
          java.lang.Object ref = path_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            path_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string path = 1;
         * @param value The path to set.
         * @return This builder for chaining.
         */
        public Builder setPath(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          path_ = value;
          onChanged();
          return this;
        }
        /**
         * string path = 1;
         * @return This builder for chaining.
         */
        public Builder clearPath() {
          
          path_ = getDefaultInstance().getPath();
          onChanged();
          return this;
        }
        /**
         * string path = 1;
         * @param value The bytes for path to set.
         * @return This builder for chaining.
         */
        public Builder setPathBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          path_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object msg_ = "";
        /**
         * string msg = 2;
         * @return The msg.
         */
        public java.lang.String getMsg() {
          java.lang.Object ref = msg_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            msg_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string msg = 2;
         * @return The bytes for msg.
         */
        public com.google.protobuf.ByteString
            getMsgBytes() {
          java.lang.Object ref = msg_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            msg_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string msg = 2;
         * @param value The msg to set.
         * @return This builder for chaining.
         */
        public Builder setMsg(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          msg_ = value;
          onChanged();
          return this;
        }
        /**
         * string msg = 2;
         * @return This builder for chaining.
         */
        public Builder clearMsg() {
          
          msg_ = getDefaultInstance().getMsg();
          onChanged();
          return this;
        }
        /**
         * string msg = 2;
         * @param value The bytes for msg to set.
         * @return This builder for chaining.
         */
        public Builder setMsgBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          msg_ = value;
          onChanged();
          return this;
        }

        private org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange textRange_;
        private com.google.protobuf.SingleFieldBuilderV3<
            org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRangeOrBuilder> textRangeBuilder_;
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         * @return Whether the textRange field is set.
         */
        public boolean hasTextRange() {
          return textRangeBuilder_ != null || textRange_ != null;
        }
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         * @return The textRange.
         */
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange getTextRange() {
          if (textRangeBuilder_ == null) {
            return textRange_ == null ? org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.getDefaultInstance() : textRange_;
          } else {
            return textRangeBuilder_.getMessage();
          }
        }
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         */
        public Builder setTextRange(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange value) {
          if (textRangeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            textRange_ = value;
            onChanged();
          } else {
            textRangeBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         */
        public Builder setTextRange(
            org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.Builder builderForValue) {
          if (textRangeBuilder_ == null) {
            textRange_ = builderForValue.build();
            onChanged();
          } else {
            textRangeBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         */
        public Builder mergeTextRange(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange value) {
          if (textRangeBuilder_ == null) {
            if (textRange_ != null) {
              textRange_ =
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.newBuilder(textRange_).mergeFrom(value).buildPartial();
            } else {
              textRange_ = value;
            }
            onChanged();
          } else {
            textRangeBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         */
        public Builder clearTextRange() {
          if (textRangeBuilder_ == null) {
            textRange_ = null;
            onChanged();
          } else {
            textRange_ = null;
            textRangeBuilder_ = null;
          }

          return this;
        }
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         */
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.Builder getTextRangeBuilder() {
          
          onChanged();
          return getTextRangeFieldBuilder().getBuilder();
        }
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         */
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRangeOrBuilder getTextRangeOrBuilder() {
          if (textRangeBuilder_ != null) {
            return textRangeBuilder_.getMessageOrBuilder();
          } else {
            return textRange_ == null ?
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.getDefaultInstance() : textRange_;
          }
        }
        /**
         * .sonarlint.ServerIssue.TextRange text_range = 3;
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRangeOrBuilder> 
            getTextRangeFieldBuilder() {
          if (textRangeBuilder_ == null) {
            textRangeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRangeOrBuilder>(
                    getTextRange(),
                    getParentForChildren(),
                    isClean());
            textRange_ = null;
          }
          return textRangeBuilder_;
        }

        private java.lang.Object codeSnippet_ = "";
        /**
         * string code_snippet = 4;
         * @return The codeSnippet.
         */
        public java.lang.String getCodeSnippet() {
          java.lang.Object ref = codeSnippet_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            codeSnippet_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string code_snippet = 4;
         * @return The bytes for codeSnippet.
         */
        public com.google.protobuf.ByteString
            getCodeSnippetBytes() {
          java.lang.Object ref = codeSnippet_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            codeSnippet_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string code_snippet = 4;
         * @param value The codeSnippet to set.
         * @return This builder for chaining.
         */
        public Builder setCodeSnippet(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          codeSnippet_ = value;
          onChanged();
          return this;
        }
        /**
         * string code_snippet = 4;
         * @return This builder for chaining.
         */
        public Builder clearCodeSnippet() {
          
          codeSnippet_ = getDefaultInstance().getCodeSnippet();
          onChanged();
          return this;
        }
        /**
         * string code_snippet = 4;
         * @param value The bytes for codeSnippet to set.
         * @return This builder for chaining.
         */
        public Builder setCodeSnippetBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          codeSnippet_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:sonarlint.ServerIssue.Location)
      }

      // @@protoc_insertion_point(class_scope:sonarlint.ServerIssue.Location)
      private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location();
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Location parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Location(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface TextRangeOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.ServerIssue.TextRange)
        com.google.protobuf.MessageOrBuilder {

      /**
       * int32 start_line = 1;
       * @return The startLine.
       */
      int getStartLine();

      /**
       * int32 start_line_offset = 2;
       * @return The startLineOffset.
       */
      int getStartLineOffset();

      /**
       * int32 end_line = 3;
       * @return The endLine.
       */
      int getEndLine();

      /**
       * int32 end_line_offset = 4;
       * @return The endLineOffset.
       */
      int getEndLineOffset();
    }
    /**
     * Protobuf type {@code sonarlint.ServerIssue.TextRange}
     */
    public static final class TextRange extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:sonarlint.ServerIssue.TextRange)
        TextRangeOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use TextRange.newBuilder() to construct.
      private TextRange(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private TextRange() {
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new TextRange();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private TextRange(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {

                startLine_ = input.readInt32();
                break;
              }
              case 16: {

                startLineOffset_ = input.readInt32();
                break;
              }
              case 24: {

                endLine_ = input.readInt32();
                break;
              }
              case 32: {

                endLineOffset_ = input.readInt32();
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_TextRange_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_TextRange_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.Builder.class);
      }

      public static final int START_LINE_FIELD_NUMBER = 1;
      private int startLine_;
      /**
       * int32 start_line = 1;
       * @return The startLine.
       */
      @java.lang.Override
      public int getStartLine() {
        return startLine_;
      }

      public static final int START_LINE_OFFSET_FIELD_NUMBER = 2;
      private int startLineOffset_;
      /**
       * int32 start_line_offset = 2;
       * @return The startLineOffset.
       */
      @java.lang.Override
      public int getStartLineOffset() {
        return startLineOffset_;
      }

      public static final int END_LINE_FIELD_NUMBER = 3;
      private int endLine_;
      /**
       * int32 end_line = 3;
       * @return The endLine.
       */
      @java.lang.Override
      public int getEndLine() {
        return endLine_;
      }

      public static final int END_LINE_OFFSET_FIELD_NUMBER = 4;
      private int endLineOffset_;
      /**
       * int32 end_line_offset = 4;
       * @return The endLineOffset.
       */
      @java.lang.Override
      public int getEndLineOffset() {
        return endLineOffset_;
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (startLine_ != 0) {
          output.writeInt32(1, startLine_);
        }
        if (startLineOffset_ != 0) {
          output.writeInt32(2, startLineOffset_);
        }
        if (endLine_ != 0) {
          output.writeInt32(3, endLine_);
        }
        if (endLineOffset_ != 0) {
          output.writeInt32(4, endLineOffset_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (startLine_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, startLine_);
        }
        if (startLineOffset_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, startLineOffset_);
        }
        if (endLine_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, endLine_);
        }
        if (endLineOffset_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, endLineOffset_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange)) {
          return super.equals(obj);
        }
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange) obj;

        if (getStartLine()
            != other.getStartLine()) return false;
        if (getStartLineOffset()
            != other.getStartLineOffset()) return false;
        if (getEndLine()
            != other.getEndLine()) return false;
        if (getEndLineOffset()
            != other.getEndLineOffset()) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + START_LINE_FIELD_NUMBER;
        hash = (53 * hash) + getStartLine();
        hash = (37 * hash) + START_LINE_OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + getStartLineOffset();
        hash = (37 * hash) + END_LINE_FIELD_NUMBER;
        hash = (53 * hash) + getEndLine();
        hash = (37 * hash) + END_LINE_OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + getEndLineOffset();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code sonarlint.ServerIssue.TextRange}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:sonarlint.ServerIssue.TextRange)
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRangeOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_TextRange_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_TextRange_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.Builder.class);
        }

        // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          startLine_ = 0;

          startLineOffset_ = 0;

          endLine_ = 0;

          endLineOffset_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_TextRange_descriptor;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange getDefaultInstanceForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.getDefaultInstance();
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange build() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange buildPartial() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange(this);
          result.startLine_ = startLine_;
          result.startLineOffset_ = startLineOffset_;
          result.endLine_ = endLine_;
          result.endLineOffset_ = endLineOffset_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange) {
            return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange other) {
          if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange.getDefaultInstance()) return this;
          if (other.getStartLine() != 0) {
            setStartLine(other.getStartLine());
          }
          if (other.getStartLineOffset() != 0) {
            setStartLineOffset(other.getStartLineOffset());
          }
          if (other.getEndLine() != 0) {
            setEndLine(other.getEndLine());
          }
          if (other.getEndLineOffset() != 0) {
            setEndLineOffset(other.getEndLineOffset());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int startLine_ ;
        /**
         * int32 start_line = 1;
         * @return The startLine.
         */
        @java.lang.Override
        public int getStartLine() {
          return startLine_;
        }
        /**
         * int32 start_line = 1;
         * @param value The startLine to set.
         * @return This builder for chaining.
         */
        public Builder setStartLine(int value) {
          
          startLine_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 start_line = 1;
         * @return This builder for chaining.
         */
        public Builder clearStartLine() {
          
          startLine_ = 0;
          onChanged();
          return this;
        }

        private int startLineOffset_ ;
        /**
         * int32 start_line_offset = 2;
         * @return The startLineOffset.
         */
        @java.lang.Override
        public int getStartLineOffset() {
          return startLineOffset_;
        }
        /**
         * int32 start_line_offset = 2;
         * @param value The startLineOffset to set.
         * @return This builder for chaining.
         */
        public Builder setStartLineOffset(int value) {
          
          startLineOffset_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 start_line_offset = 2;
         * @return This builder for chaining.
         */
        public Builder clearStartLineOffset() {
          
          startLineOffset_ = 0;
          onChanged();
          return this;
        }

        private int endLine_ ;
        /**
         * int32 end_line = 3;
         * @return The endLine.
         */
        @java.lang.Override
        public int getEndLine() {
          return endLine_;
        }
        /**
         * int32 end_line = 3;
         * @param value The endLine to set.
         * @return This builder for chaining.
         */
        public Builder setEndLine(int value) {
          
          endLine_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 end_line = 3;
         * @return This builder for chaining.
         */
        public Builder clearEndLine() {
          
          endLine_ = 0;
          onChanged();
          return this;
        }

        private int endLineOffset_ ;
        /**
         * int32 end_line_offset = 4;
         * @return The endLineOffset.
         */
        @java.lang.Override
        public int getEndLineOffset() {
          return endLineOffset_;
        }
        /**
         * int32 end_line_offset = 4;
         * @param value The endLineOffset to set.
         * @return This builder for chaining.
         */
        public Builder setEndLineOffset(int value) {
          
          endLineOffset_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 end_line_offset = 4;
         * @return This builder for chaining.
         */
        public Builder clearEndLineOffset() {
          
          endLineOffset_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:sonarlint.ServerIssue.TextRange)
      }

      // @@protoc_insertion_point(class_scope:sonarlint.ServerIssue.TextRange)
      private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange();
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public TextRange parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new TextRange(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.TextRange getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int RULE_REPOSITORY_FIELD_NUMBER = 3;
    private volatile java.lang.Object ruleRepository_;
    /**
     * string rule_repository = 3;
     * @return The ruleRepository.
     */
    @java.lang.Override
    public java.lang.String getRuleRepository() {
      java.lang.Object ref = ruleRepository_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        ruleRepository_ = s;
        return s;
      }
    }
    /**
     * string rule_repository = 3;
     * @return The bytes for ruleRepository.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRuleRepositoryBytes() {
      java.lang.Object ref = ruleRepository_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ruleRepository_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RULE_KEY_FIELD_NUMBER = 4;
    private volatile java.lang.Object ruleKey_;
    /**
     * string rule_key = 4;
     * @return The ruleKey.
     */
    @java.lang.Override
    public java.lang.String getRuleKey() {
      java.lang.Object ref = ruleKey_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        ruleKey_ = s;
        return s;
      }
    }
    /**
     * string rule_key = 4;
     * @return The bytes for ruleKey.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRuleKeyBytes() {
      java.lang.Object ref = ruleKey_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ruleKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SEVERITY_FIELD_NUMBER = 7;
    private volatile java.lang.Object severity_;
    /**
     * string severity = 7;
     * @return The severity.
     */
    @java.lang.Override
    public java.lang.String getSeverity() {
      java.lang.Object ref = severity_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        severity_ = s;
        return s;
      }
    }
    /**
     * string severity = 7;
     * @return The bytes for severity.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSeverityBytes() {
      java.lang.Object ref = severity_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        severity_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RESOLUTION_FIELD_NUMBER = 9;
    private volatile java.lang.Object resolution_;
    /**
     * string resolution = 9;
     * @return The resolution.
     */
    @java.lang.Override
    public java.lang.String getResolution() {
      java.lang.Object ref = resolution_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        resolution_ = s;
        return s;
      }
    }
    /**
     * string resolution = 9;
     * @return The bytes for resolution.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResolutionBytes() {
      java.lang.Object ref = resolution_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        resolution_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATUS_FIELD_NUMBER = 10;
    private volatile java.lang.Object status_;
    /**
     * string status = 10;
     * @return The status.
     */
    @java.lang.Override
    public java.lang.String getStatus() {
      java.lang.Object ref = status_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        status_ = s;
        return s;
      }
    }
    /**
     * string status = 10;
     * @return The bytes for status.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getStatusBytes() {
      java.lang.Object ref = status_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        status_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LINE_HASH_FIELD_NUMBER = 11;
    private volatile java.lang.Object lineHash_;
    /**
     * string line_hash = 11;
     * @return The lineHash.
     */
    @java.lang.Override
    public java.lang.String getLineHash() {
      java.lang.Object ref = lineHash_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        lineHash_ = s;
        return s;
      }
    }
    /**
     * string line_hash = 11;
     * @return The bytes for lineHash.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLineHashBytes() {
      java.lang.Object ref = lineHash_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        lineHash_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ASSIGNEE_LOGIN_FIELD_NUMBER = 12;
    private volatile java.lang.Object assigneeLogin_;
    /**
     * string assignee_login = 12;
     * @return The assigneeLogin.
     */
    @java.lang.Override
    public java.lang.String getAssigneeLogin() {
      java.lang.Object ref = assigneeLogin_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        assigneeLogin_ = s;
        return s;
      }
    }
    /**
     * string assignee_login = 12;
     * @return The bytes for assigneeLogin.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAssigneeLoginBytes() {
      java.lang.Object ref = assigneeLogin_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        assigneeLogin_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CREATION_DATE_FIELD_NUMBER = 13;
    private long creationDate_;
    /**
     * int64 creation_date = 13;
     * @return The creationDate.
     */
    @java.lang.Override
    public long getCreationDate() {
      return creationDate_;
    }

    public static final int TYPE_FIELD_NUMBER = 14;
    private volatile java.lang.Object type_;
    /**
     * string type = 14;
     * @return The type.
     */
    @java.lang.Override
    public java.lang.String getType() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        type_ = s;
        return s;
      }
    }
    /**
     * string type = 14;
     * @return The bytes for type.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTypeBytes() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        type_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int KEY_FIELD_NUMBER = 15;
    private volatile java.lang.Object key_;
    /**
     * string key = 15;
     * @return The key.
     */
    @java.lang.Override
    public java.lang.String getKey() {
      java.lang.Object ref = key_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        key_ = s;
        return s;
      }
    }
    /**
     * string key = 15;
     * @return The bytes for key.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getKeyBytes() {
      java.lang.Object ref = key_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        key_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PRIMARY_LOCATION_FIELD_NUMBER = 16;
    private org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location primaryLocation_;
    /**
     * .sonarlint.ServerIssue.Location primary_location = 16;
     * @return Whether the primaryLocation field is set.
     */
    @java.lang.Override
    public boolean hasPrimaryLocation() {
      return primaryLocation_ != null;
    }
    /**
     * .sonarlint.ServerIssue.Location primary_location = 16;
     * @return The primaryLocation.
     */
    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getPrimaryLocation() {
      return primaryLocation_ == null ? org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.getDefaultInstance() : primaryLocation_;
    }
    /**
     * .sonarlint.ServerIssue.Location primary_location = 16;
     */
    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder getPrimaryLocationOrBuilder() {
      return getPrimaryLocation();
    }

    public static final int FLOW_FIELD_NUMBER = 17;
    private java.util.List flow_;
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    @java.lang.Override
    public java.util.List getFlowList() {
      return flow_;
    }
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    @java.lang.Override
    public java.util.List 
        getFlowOrBuilderList() {
      return flow_;
    }
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    @java.lang.Override
    public int getFlowCount() {
      return flow_.size();
    }
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow getFlow(int index) {
      return flow_.get(index);
    }
    /**
     * repeated .sonarlint.ServerIssue.Flow flow = 17;
     */
    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.FlowOrBuilder getFlowOrBuilder(
        int index) {
      return flow_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getRuleRepositoryBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, ruleRepository_);
      }
      if (!getRuleKeyBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, ruleKey_);
      }
      if (!getSeverityBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, severity_);
      }
      if (!getResolutionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, resolution_);
      }
      if (!getStatusBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, status_);
      }
      if (!getLineHashBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, lineHash_);
      }
      if (!getAssigneeLoginBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 12, assigneeLogin_);
      }
      if (creationDate_ != 0L) {
        output.writeInt64(13, creationDate_);
      }
      if (!getTypeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 14, type_);
      }
      if (!getKeyBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 15, key_);
      }
      if (primaryLocation_ != null) {
        output.writeMessage(16, getPrimaryLocation());
      }
      for (int i = 0; i < flow_.size(); i++) {
        output.writeMessage(17, flow_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getRuleRepositoryBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, ruleRepository_);
      }
      if (!getRuleKeyBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, ruleKey_);
      }
      if (!getSeverityBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, severity_);
      }
      if (!getResolutionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, resolution_);
      }
      if (!getStatusBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, status_);
      }
      if (!getLineHashBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, lineHash_);
      }
      if (!getAssigneeLoginBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, assigneeLogin_);
      }
      if (creationDate_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(13, creationDate_);
      }
      if (!getTypeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, type_);
      }
      if (!getKeyBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, key_);
      }
      if (primaryLocation_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, getPrimaryLocation());
      }
      for (int i = 0; i < flow_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, flow_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue) obj;

      if (!getRuleRepository()
          .equals(other.getRuleRepository())) return false;
      if (!getRuleKey()
          .equals(other.getRuleKey())) return false;
      if (!getSeverity()
          .equals(other.getSeverity())) return false;
      if (!getResolution()
          .equals(other.getResolution())) return false;
      if (!getStatus()
          .equals(other.getStatus())) return false;
      if (!getLineHash()
          .equals(other.getLineHash())) return false;
      if (!getAssigneeLogin()
          .equals(other.getAssigneeLogin())) return false;
      if (getCreationDate()
          != other.getCreationDate()) return false;
      if (!getType()
          .equals(other.getType())) return false;
      if (!getKey()
          .equals(other.getKey())) return false;
      if (hasPrimaryLocation() != other.hasPrimaryLocation()) return false;
      if (hasPrimaryLocation()) {
        if (!getPrimaryLocation()
            .equals(other.getPrimaryLocation())) return false;
      }
      if (!getFlowList()
          .equals(other.getFlowList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + RULE_REPOSITORY_FIELD_NUMBER;
      hash = (53 * hash) + getRuleRepository().hashCode();
      hash = (37 * hash) + RULE_KEY_FIELD_NUMBER;
      hash = (53 * hash) + getRuleKey().hashCode();
      hash = (37 * hash) + SEVERITY_FIELD_NUMBER;
      hash = (53 * hash) + getSeverity().hashCode();
      hash = (37 * hash) + RESOLUTION_FIELD_NUMBER;
      hash = (53 * hash) + getResolution().hashCode();
      hash = (37 * hash) + STATUS_FIELD_NUMBER;
      hash = (53 * hash) + getStatus().hashCode();
      hash = (37 * hash) + LINE_HASH_FIELD_NUMBER;
      hash = (53 * hash) + getLineHash().hashCode();
      hash = (37 * hash) + ASSIGNEE_LOGIN_FIELD_NUMBER;
      hash = (53 * hash) + getAssigneeLogin().hashCode();
      hash = (37 * hash) + CREATION_DATE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getCreationDate());
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getType().hashCode();
      hash = (37 * hash) + KEY_FIELD_NUMBER;
      hash = (53 * hash) + getKey().hashCode();
      if (hasPrimaryLocation()) {
        hash = (37 * hash) + PRIMARY_LOCATION_FIELD_NUMBER;
        hash = (53 * hash) + getPrimaryLocation().hashCode();
      }
      if (getFlowCount() > 0) {
        hash = (37 * hash) + FLOW_FIELD_NUMBER;
        hash = (53 * hash) + getFlowList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.ServerIssue}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.ServerIssue)
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssueOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getFlowFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        ruleRepository_ = "";

        ruleKey_ = "";

        severity_ = "";

        resolution_ = "";

        status_ = "";

        lineHash_ = "";

        assigneeLogin_ = "";

        creationDate_ = 0L;

        type_ = "";

        key_ = "";

        if (primaryLocationBuilder_ == null) {
          primaryLocation_ = null;
        } else {
          primaryLocation_ = null;
          primaryLocationBuilder_ = null;
        }
        if (flowBuilder_ == null) {
          flow_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          flowBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ServerIssue_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue(this);
        int from_bitField0_ = bitField0_;
        result.ruleRepository_ = ruleRepository_;
        result.ruleKey_ = ruleKey_;
        result.severity_ = severity_;
        result.resolution_ = resolution_;
        result.status_ = status_;
        result.lineHash_ = lineHash_;
        result.assigneeLogin_ = assigneeLogin_;
        result.creationDate_ = creationDate_;
        result.type_ = type_;
        result.key_ = key_;
        if (primaryLocationBuilder_ == null) {
          result.primaryLocation_ = primaryLocation_;
        } else {
          result.primaryLocation_ = primaryLocationBuilder_.build();
        }
        if (flowBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            flow_ = java.util.Collections.unmodifiableList(flow_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.flow_ = flow_;
        } else {
          result.flow_ = flowBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.getDefaultInstance()) return this;
        if (!other.getRuleRepository().isEmpty()) {
          ruleRepository_ = other.ruleRepository_;
          onChanged();
        }
        if (!other.getRuleKey().isEmpty()) {
          ruleKey_ = other.ruleKey_;
          onChanged();
        }
        if (!other.getSeverity().isEmpty()) {
          severity_ = other.severity_;
          onChanged();
        }
        if (!other.getResolution().isEmpty()) {
          resolution_ = other.resolution_;
          onChanged();
        }
        if (!other.getStatus().isEmpty()) {
          status_ = other.status_;
          onChanged();
        }
        if (!other.getLineHash().isEmpty()) {
          lineHash_ = other.lineHash_;
          onChanged();
        }
        if (!other.getAssigneeLogin().isEmpty()) {
          assigneeLogin_ = other.assigneeLogin_;
          onChanged();
        }
        if (other.getCreationDate() != 0L) {
          setCreationDate(other.getCreationDate());
        }
        if (!other.getType().isEmpty()) {
          type_ = other.type_;
          onChanged();
        }
        if (!other.getKey().isEmpty()) {
          key_ = other.key_;
          onChanged();
        }
        if (other.hasPrimaryLocation()) {
          mergePrimaryLocation(other.getPrimaryLocation());
        }
        if (flowBuilder_ == null) {
          if (!other.flow_.isEmpty()) {
            if (flow_.isEmpty()) {
              flow_ = other.flow_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureFlowIsMutable();
              flow_.addAll(other.flow_);
            }
            onChanged();
          }
        } else {
          if (!other.flow_.isEmpty()) {
            if (flowBuilder_.isEmpty()) {
              flowBuilder_.dispose();
              flowBuilder_ = null;
              flow_ = other.flow_;
              bitField0_ = (bitField0_ & ~0x00000001);
              flowBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getFlowFieldBuilder() : null;
            } else {
              flowBuilder_.addAllMessages(other.flow_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object ruleRepository_ = "";
      /**
       * string rule_repository = 3;
       * @return The ruleRepository.
       */
      public java.lang.String getRuleRepository() {
        java.lang.Object ref = ruleRepository_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ruleRepository_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string rule_repository = 3;
       * @return The bytes for ruleRepository.
       */
      public com.google.protobuf.ByteString
          getRuleRepositoryBytes() {
        java.lang.Object ref = ruleRepository_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ruleRepository_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string rule_repository = 3;
       * @param value The ruleRepository to set.
       * @return This builder for chaining.
       */
      public Builder setRuleRepository(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ruleRepository_ = value;
        onChanged();
        return this;
      }
      /**
       * string rule_repository = 3;
       * @return This builder for chaining.
       */
      public Builder clearRuleRepository() {
        
        ruleRepository_ = getDefaultInstance().getRuleRepository();
        onChanged();
        return this;
      }
      /**
       * string rule_repository = 3;
       * @param value The bytes for ruleRepository to set.
       * @return This builder for chaining.
       */
      public Builder setRuleRepositoryBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ruleRepository_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ruleKey_ = "";
      /**
       * string rule_key = 4;
       * @return The ruleKey.
       */
      public java.lang.String getRuleKey() {
        java.lang.Object ref = ruleKey_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ruleKey_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string rule_key = 4;
       * @return The bytes for ruleKey.
       */
      public com.google.protobuf.ByteString
          getRuleKeyBytes() {
        java.lang.Object ref = ruleKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ruleKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string rule_key = 4;
       * @param value The ruleKey to set.
       * @return This builder for chaining.
       */
      public Builder setRuleKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ruleKey_ = value;
        onChanged();
        return this;
      }
      /**
       * string rule_key = 4;
       * @return This builder for chaining.
       */
      public Builder clearRuleKey() {
        
        ruleKey_ = getDefaultInstance().getRuleKey();
        onChanged();
        return this;
      }
      /**
       * string rule_key = 4;
       * @param value The bytes for ruleKey to set.
       * @return This builder for chaining.
       */
      public Builder setRuleKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ruleKey_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object severity_ = "";
      /**
       * string severity = 7;
       * @return The severity.
       */
      public java.lang.String getSeverity() {
        java.lang.Object ref = severity_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          severity_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string severity = 7;
       * @return The bytes for severity.
       */
      public com.google.protobuf.ByteString
          getSeverityBytes() {
        java.lang.Object ref = severity_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          severity_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string severity = 7;
       * @param value The severity to set.
       * @return This builder for chaining.
       */
      public Builder setSeverity(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        severity_ = value;
        onChanged();
        return this;
      }
      /**
       * string severity = 7;
       * @return This builder for chaining.
       */
      public Builder clearSeverity() {
        
        severity_ = getDefaultInstance().getSeverity();
        onChanged();
        return this;
      }
      /**
       * string severity = 7;
       * @param value The bytes for severity to set.
       * @return This builder for chaining.
       */
      public Builder setSeverityBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        severity_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object resolution_ = "";
      /**
       * string resolution = 9;
       * @return The resolution.
       */
      public java.lang.String getResolution() {
        java.lang.Object ref = resolution_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          resolution_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string resolution = 9;
       * @return The bytes for resolution.
       */
      public com.google.protobuf.ByteString
          getResolutionBytes() {
        java.lang.Object ref = resolution_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          resolution_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string resolution = 9;
       * @param value The resolution to set.
       * @return This builder for chaining.
       */
      public Builder setResolution(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        resolution_ = value;
        onChanged();
        return this;
      }
      /**
       * string resolution = 9;
       * @return This builder for chaining.
       */
      public Builder clearResolution() {
        
        resolution_ = getDefaultInstance().getResolution();
        onChanged();
        return this;
      }
      /**
       * string resolution = 9;
       * @param value The bytes for resolution to set.
       * @return This builder for chaining.
       */
      public Builder setResolutionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        resolution_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object status_ = "";
      /**
       * string status = 10;
       * @return The status.
       */
      public java.lang.String getStatus() {
        java.lang.Object ref = status_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          status_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string status = 10;
       * @return The bytes for status.
       */
      public com.google.protobuf.ByteString
          getStatusBytes() {
        java.lang.Object ref = status_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          status_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string status = 10;
       * @param value The status to set.
       * @return This builder for chaining.
       */
      public Builder setStatus(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        status_ = value;
        onChanged();
        return this;
      }
      /**
       * string status = 10;
       * @return This builder for chaining.
       */
      public Builder clearStatus() {
        
        status_ = getDefaultInstance().getStatus();
        onChanged();
        return this;
      }
      /**
       * string status = 10;
       * @param value The bytes for status to set.
       * @return This builder for chaining.
       */
      public Builder setStatusBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        status_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object lineHash_ = "";
      /**
       * string line_hash = 11;
       * @return The lineHash.
       */
      public java.lang.String getLineHash() {
        java.lang.Object ref = lineHash_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          lineHash_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string line_hash = 11;
       * @return The bytes for lineHash.
       */
      public com.google.protobuf.ByteString
          getLineHashBytes() {
        java.lang.Object ref = lineHash_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          lineHash_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string line_hash = 11;
       * @param value The lineHash to set.
       * @return This builder for chaining.
       */
      public Builder setLineHash(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        lineHash_ = value;
        onChanged();
        return this;
      }
      /**
       * string line_hash = 11;
       * @return This builder for chaining.
       */
      public Builder clearLineHash() {
        
        lineHash_ = getDefaultInstance().getLineHash();
        onChanged();
        return this;
      }
      /**
       * string line_hash = 11;
       * @param value The bytes for lineHash to set.
       * @return This builder for chaining.
       */
      public Builder setLineHashBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        lineHash_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object assigneeLogin_ = "";
      /**
       * string assignee_login = 12;
       * @return The assigneeLogin.
       */
      public java.lang.String getAssigneeLogin() {
        java.lang.Object ref = assigneeLogin_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          assigneeLogin_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string assignee_login = 12;
       * @return The bytes for assigneeLogin.
       */
      public com.google.protobuf.ByteString
          getAssigneeLoginBytes() {
        java.lang.Object ref = assigneeLogin_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          assigneeLogin_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string assignee_login = 12;
       * @param value The assigneeLogin to set.
       * @return This builder for chaining.
       */
      public Builder setAssigneeLogin(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        assigneeLogin_ = value;
        onChanged();
        return this;
      }
      /**
       * string assignee_login = 12;
       * @return This builder for chaining.
       */
      public Builder clearAssigneeLogin() {
        
        assigneeLogin_ = getDefaultInstance().getAssigneeLogin();
        onChanged();
        return this;
      }
      /**
       * string assignee_login = 12;
       * @param value The bytes for assigneeLogin to set.
       * @return This builder for chaining.
       */
      public Builder setAssigneeLoginBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        assigneeLogin_ = value;
        onChanged();
        return this;
      }

      private long creationDate_ ;
      /**
       * int64 creation_date = 13;
       * @return The creationDate.
       */
      @java.lang.Override
      public long getCreationDate() {
        return creationDate_;
      }
      /**
       * int64 creation_date = 13;
       * @param value The creationDate to set.
       * @return This builder for chaining.
       */
      public Builder setCreationDate(long value) {
        
        creationDate_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 creation_date = 13;
       * @return This builder for chaining.
       */
      public Builder clearCreationDate() {
        
        creationDate_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object type_ = "";
      /**
       * string type = 14;
       * @return The type.
       */
      public java.lang.String getType() {
        java.lang.Object ref = type_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          type_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string type = 14;
       * @return The bytes for type.
       */
      public com.google.protobuf.ByteString
          getTypeBytes() {
        java.lang.Object ref = type_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          type_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string type = 14;
       * @param value The type to set.
       * @return This builder for chaining.
       */
      public Builder setType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * string type = 14;
       * @return This builder for chaining.
       */
      public Builder clearType() {
        
        type_ = getDefaultInstance().getType();
        onChanged();
        return this;
      }
      /**
       * string type = 14;
       * @param value The bytes for type to set.
       * @return This builder for chaining.
       */
      public Builder setTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        type_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object key_ = "";
      /**
       * string key = 15;
       * @return The key.
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          key_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string key = 15;
       * @return The bytes for key.
       */
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string key = 15;
       * @param value The key to set.
       * @return This builder for chaining.
       */
      public Builder setKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        key_ = value;
        onChanged();
        return this;
      }
      /**
       * string key = 15;
       * @return This builder for chaining.
       */
      public Builder clearKey() {
        
        key_ = getDefaultInstance().getKey();
        onChanged();
        return this;
      }
      /**
       * string key = 15;
       * @param value The bytes for key to set.
       * @return This builder for chaining.
       */
      public Builder setKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        key_ = value;
        onChanged();
        return this;
      }

      private org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location primaryLocation_;
      private com.google.protobuf.SingleFieldBuilderV3<
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder> primaryLocationBuilder_;
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       * @return Whether the primaryLocation field is set.
       */
      public boolean hasPrimaryLocation() {
        return primaryLocationBuilder_ != null || primaryLocation_ != null;
      }
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       * @return The primaryLocation.
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location getPrimaryLocation() {
        if (primaryLocationBuilder_ == null) {
          return primaryLocation_ == null ? org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.getDefaultInstance() : primaryLocation_;
        } else {
          return primaryLocationBuilder_.getMessage();
        }
      }
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       */
      public Builder setPrimaryLocation(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location value) {
        if (primaryLocationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          primaryLocation_ = value;
          onChanged();
        } else {
          primaryLocationBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       */
      public Builder setPrimaryLocation(
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder builderForValue) {
        if (primaryLocationBuilder_ == null) {
          primaryLocation_ = builderForValue.build();
          onChanged();
        } else {
          primaryLocationBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       */
      public Builder mergePrimaryLocation(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location value) {
        if (primaryLocationBuilder_ == null) {
          if (primaryLocation_ != null) {
            primaryLocation_ =
              org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.newBuilder(primaryLocation_).mergeFrom(value).buildPartial();
          } else {
            primaryLocation_ = value;
          }
          onChanged();
        } else {
          primaryLocationBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       */
      public Builder clearPrimaryLocation() {
        if (primaryLocationBuilder_ == null) {
          primaryLocation_ = null;
          onChanged();
        } else {
          primaryLocation_ = null;
          primaryLocationBuilder_ = null;
        }

        return this;
      }
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder getPrimaryLocationBuilder() {
        
        onChanged();
        return getPrimaryLocationFieldBuilder().getBuilder();
      }
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder getPrimaryLocationOrBuilder() {
        if (primaryLocationBuilder_ != null) {
          return primaryLocationBuilder_.getMessageOrBuilder();
        } else {
          return primaryLocation_ == null ?
              org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.getDefaultInstance() : primaryLocation_;
        }
      }
      /**
       * .sonarlint.ServerIssue.Location primary_location = 16;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder> 
          getPrimaryLocationFieldBuilder() {
        if (primaryLocationBuilder_ == null) {
          primaryLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Location.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.LocationOrBuilder>(
                  getPrimaryLocation(),
                  getParentForChildren(),
                  isClean());
          primaryLocation_ = null;
        }
        return primaryLocationBuilder_;
      }

      private java.util.List flow_ =
        java.util.Collections.emptyList();
      private void ensureFlowIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          flow_ = new java.util.ArrayList(flow_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.FlowOrBuilder> flowBuilder_;

      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public java.util.List getFlowList() {
        if (flowBuilder_ == null) {
          return java.util.Collections.unmodifiableList(flow_);
        } else {
          return flowBuilder_.getMessageList();
        }
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public int getFlowCount() {
        if (flowBuilder_ == null) {
          return flow_.size();
        } else {
          return flowBuilder_.getCount();
        }
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow getFlow(int index) {
        if (flowBuilder_ == null) {
          return flow_.get(index);
        } else {
          return flowBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder setFlow(
          int index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow value) {
        if (flowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFlowIsMutable();
          flow_.set(index, value);
          onChanged();
        } else {
          flowBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder setFlow(
          int index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder builderForValue) {
        if (flowBuilder_ == null) {
          ensureFlowIsMutable();
          flow_.set(index, builderForValue.build());
          onChanged();
        } else {
          flowBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder addFlow(org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow value) {
        if (flowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFlowIsMutable();
          flow_.add(value);
          onChanged();
        } else {
          flowBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder addFlow(
          int index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow value) {
        if (flowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFlowIsMutable();
          flow_.add(index, value);
          onChanged();
        } else {
          flowBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder addFlow(
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder builderForValue) {
        if (flowBuilder_ == null) {
          ensureFlowIsMutable();
          flow_.add(builderForValue.build());
          onChanged();
        } else {
          flowBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder addFlow(
          int index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder builderForValue) {
        if (flowBuilder_ == null) {
          ensureFlowIsMutable();
          flow_.add(index, builderForValue.build());
          onChanged();
        } else {
          flowBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder addAllFlow(
          java.lang.Iterable values) {
        if (flowBuilder_ == null) {
          ensureFlowIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, flow_);
          onChanged();
        } else {
          flowBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder clearFlow() {
        if (flowBuilder_ == null) {
          flow_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          flowBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public Builder removeFlow(int index) {
        if (flowBuilder_ == null) {
          ensureFlowIsMutable();
          flow_.remove(index);
          onChanged();
        } else {
          flowBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder getFlowBuilder(
          int index) {
        return getFlowFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.FlowOrBuilder getFlowOrBuilder(
          int index) {
        if (flowBuilder_ == null) {
          return flow_.get(index);  } else {
          return flowBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public java.util.List 
           getFlowOrBuilderList() {
        if (flowBuilder_ != null) {
          return flowBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(flow_);
        }
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder addFlowBuilder() {
        return getFlowFieldBuilder().addBuilder(
            org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.getDefaultInstance());
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder addFlowBuilder(
          int index) {
        return getFlowFieldBuilder().addBuilder(
            index, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.getDefaultInstance());
      }
      /**
       * repeated .sonarlint.ServerIssue.Flow flow = 17;
       */
      public java.util.List 
           getFlowBuilderList() {
        return getFlowFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.FlowOrBuilder> 
          getFlowFieldBuilder() {
        if (flowBuilder_ == null) {
          flowBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.Flow.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue.FlowOrBuilder>(
                  flow_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          flow_ = null;
        }
        return flowBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.ServerIssue)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.ServerIssue)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ServerIssue parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ServerIssue(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ServerIssue getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ProjectListOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.ProjectList)
      com.google.protobuf.MessageOrBuilder {

    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */
    int getProjectsByKeyCount();
    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */
    boolean containsProjectsByKey(
        java.lang.String key);
    /**
     * Use {@link #getProjectsByKeyMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getProjectsByKey();
    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */
    java.util.Map
    getProjectsByKeyMap();
    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */

    org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getProjectsByKeyOrDefault(
        java.lang.String key,
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project defaultValue);
    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */

    org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getProjectsByKeyOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code sonarlint.ProjectList}
   */
  public static final class ProjectList extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.ProjectList)
      ProjectListOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ProjectList.newBuilder() to construct.
    private ProjectList(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ProjectList() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ProjectList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ProjectList(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                projectsByKey_ = com.google.protobuf.MapField.newMapField(
                    ProjectsByKeyDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              projectsByKey__ = input.readMessage(
                  ProjectsByKeyDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              projectsByKey_.getMutableMap().put(
                  projectsByKey__.getKey(), projectsByKey__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 1:
          return internalGetProjectsByKey();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Builder.class);
    }

    public interface ProjectOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.ProjectList.Project)
        com.google.protobuf.MessageOrBuilder {

      /**
       * string key = 1;
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * string key = 1;
       * @return The bytes for key.
       */
      com.google.protobuf.ByteString
          getKeyBytes();

      /**
       * string name = 2;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * string name = 2;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();
    }
    /**
     * Protobuf type {@code sonarlint.ProjectList.Project}
     */
    public static final class Project extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:sonarlint.ProjectList.Project)
        ProjectOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Project.newBuilder() to construct.
      private Project(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Project() {
        key_ = "";
        name_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Project();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Project(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                java.lang.String s = input.readStringRequireUtf8();

                key_ = s;
                break;
              }
              case 18: {
                java.lang.String s = input.readStringRequireUtf8();

                name_ = s;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_Project_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_Project_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project.Builder.class);
      }

      public static final int KEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object key_;
      /**
       * string key = 1;
       * @return The key.
       */
      @java.lang.Override
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          key_ = s;
          return s;
        }
      }
      /**
       * string key = 1;
       * @return The bytes for key.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int NAME_FIELD_NUMBER = 2;
      private volatile java.lang.Object name_;
      /**
       * string name = 2;
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        }
      }
      /**
       * string name = 2;
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!getKeyBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_);
        }
        if (!getNameBytes().isEmpty()) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!getKeyBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_);
        }
        if (!getNameBytes().isEmpty()) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project)) {
          return super.equals(obj);
        }
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project) obj;

        if (!getKey()
            .equals(other.getKey())) return false;
        if (!getName()
            .equals(other.getName())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + KEY_FIELD_NUMBER;
        hash = (53 * hash) + getKey().hashCode();
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code sonarlint.ProjectList.Project}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:sonarlint.ProjectList.Project)
          org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.ProjectOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_Project_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_Project_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project.Builder.class);
        }

        // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          key_ = "";

          name_ = "";

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_Project_descriptor;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getDefaultInstanceForType() {
          return org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project.getDefaultInstance();
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project build() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project buildPartial() {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project(this);
          result.key_ = key_;
          result.name_ = name_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project) {
            return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project other) {
          if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project.getDefaultInstance()) return this;
          if (!other.getKey().isEmpty()) {
            key_ = other.key_;
            onChanged();
          }
          if (!other.getName().isEmpty()) {
            name_ = other.name_;
            onChanged();
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private java.lang.Object key_ = "";
        /**
         * string key = 1;
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string key = 1;
         * @return The bytes for key.
         */
        public com.google.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string key = 1;
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * string key = 1;
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * string key = 1;
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          key_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object name_ = "";
        /**
         * string name = 2;
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * string name = 2;
         * @return The bytes for name.
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * string name = 2;
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * string name = 2;
         * @return This builder for chaining.
         */
        public Builder clearName() {
          
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * string name = 2;
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          name_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:sonarlint.ProjectList.Project)
      }

      // @@protoc_insertion_point(class_scope:sonarlint.ProjectList.Project)
      private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project();
      }

      public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Project parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Project(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int PROJECTS_BY_KEY_FIELD_NUMBER = 1;
    private static final class ProjectsByKeyDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_ProjectsByKeyEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project> projectsByKey_;
    private com.google.protobuf.MapField
    internalGetProjectsByKey() {
      if (projectsByKey_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ProjectsByKeyDefaultEntryHolder.defaultEntry);
      }
      return projectsByKey_;
    }

    public int getProjectsByKeyCount() {
      return internalGetProjectsByKey().getMap().size();
    }
    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */

    @java.lang.Override
    public boolean containsProjectsByKey(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetProjectsByKey().getMap().containsKey(key);
    }
    /**
     * Use {@link #getProjectsByKeyMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getProjectsByKey() {
      return getProjectsByKeyMap();
    }
    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */
    @java.lang.Override

    public java.util.Map getProjectsByKeyMap() {
      return internalGetProjectsByKey().getMap();
    }
    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */
    @java.lang.Override

    public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getProjectsByKeyOrDefault(
        java.lang.String key,
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetProjectsByKey().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
     */
    @java.lang.Override

    public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getProjectsByKeyOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetProjectsByKey().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetProjectsByKey(),
          ProjectsByKeyDefaultEntryHolder.defaultEntry,
          1);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (java.util.Map.Entry entry
           : internalGetProjectsByKey().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        projectsByKey__ = ProjectsByKeyDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, projectsByKey__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList) obj;

      if (!internalGetProjectsByKey().equals(
          other.internalGetProjectsByKey())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (!internalGetProjectsByKey().getMap().isEmpty()) {
        hash = (37 * hash) + PROJECTS_BY_KEY_FIELD_NUMBER;
        hash = (53 * hash) + internalGetProjectsByKey().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.ProjectList}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.ProjectList)
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectListOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetProjectsByKey();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetMutableProjectsByKey();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        internalGetMutableProjectsByKey().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectList_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList(this);
        int from_bitField0_ = bitField0_;
        result.projectsByKey_ = internalGetProjectsByKey();
        result.projectsByKey_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.getDefaultInstance()) return this;
        internalGetMutableProjectsByKey().mergeFrom(
            other.internalGetProjectsByKey());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.MapField<
          java.lang.String, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project> projectsByKey_;
      private com.google.protobuf.MapField
      internalGetProjectsByKey() {
        if (projectsByKey_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ProjectsByKeyDefaultEntryHolder.defaultEntry);
        }
        return projectsByKey_;
      }
      private com.google.protobuf.MapField
      internalGetMutableProjectsByKey() {
        onChanged();;
        if (projectsByKey_ == null) {
          projectsByKey_ = com.google.protobuf.MapField.newMapField(
              ProjectsByKeyDefaultEntryHolder.defaultEntry);
        }
        if (!projectsByKey_.isMutable()) {
          projectsByKey_ = projectsByKey_.copy();
        }
        return projectsByKey_;
      }

      public int getProjectsByKeyCount() {
        return internalGetProjectsByKey().getMap().size();
      }
      /**
       * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
       */

      @java.lang.Override
      public boolean containsProjectsByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetProjectsByKey().getMap().containsKey(key);
      }
      /**
       * Use {@link #getProjectsByKeyMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getProjectsByKey() {
        return getProjectsByKeyMap();
      }
      /**
       * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
       */
      @java.lang.Override

      public java.util.Map getProjectsByKeyMap() {
        return internalGetProjectsByKey().getMap();
      }
      /**
       * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
       */
      @java.lang.Override

      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getProjectsByKeyOrDefault(
          java.lang.String key,
          org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetProjectsByKey().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
       */
      @java.lang.Override

      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project getProjectsByKeyOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetProjectsByKey().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearProjectsByKey() {
        internalGetMutableProjectsByKey().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
       */

      public Builder removeProjectsByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProjectsByKey().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableProjectsByKey() {
        return internalGetMutableProjectsByKey().getMutableMap();
      }
      /**
       * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
       */
      public Builder putProjectsByKey(
          java.lang.String key,
          org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList.Project value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProjectsByKey().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, .sonarlint.ProjectList.Project> projects_by_key = 1;
       */

      public Builder putAllProjectsByKey(
          java.util.Map values) {
        internalGetMutableProjectsByKey().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.ProjectList)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.ProjectList)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ProjectList parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ProjectList(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectList getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ProjectConfigurationOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.ProjectConfiguration)
      com.google.protobuf.MessageOrBuilder {

    /**
     * map<string, string> qprofile_per_language = 1;
     */
    int getQprofilePerLanguageCount();
    /**
     * map<string, string> qprofile_per_language = 1;
     */
    boolean containsQprofilePerLanguage(
        java.lang.String key);
    /**
     * Use {@link #getQprofilePerLanguageMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getQprofilePerLanguage();
    /**
     * map<string, string> qprofile_per_language = 1;
     */
    java.util.Map
    getQprofilePerLanguageMap();
    /**
     * map<string, string> qprofile_per_language = 1;
     */

    java.lang.String getQprofilePerLanguageOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> qprofile_per_language = 1;
     */

    java.lang.String getQprofilePerLanguageOrThrow(
        java.lang.String key);

    /**
     * map<string, string> properties = 2;
     */
    int getPropertiesCount();
    /**
     * map<string, string> properties = 2;
     */
    boolean containsProperties(
        java.lang.String key);
    /**
     * Use {@link #getPropertiesMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getProperties();
    /**
     * map<string, string> properties = 2;
     */
    java.util.Map
    getPropertiesMap();
    /**
     * map<string, string> properties = 2;
     */

    java.lang.String getPropertiesOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> properties = 2;
     */

    java.lang.String getPropertiesOrThrow(
        java.lang.String key);

    /**
     * map<string, string> module_path_by_key = 3;
     */
    int getModulePathByKeyCount();
    /**
     * map<string, string> module_path_by_key = 3;
     */
    boolean containsModulePathByKey(
        java.lang.String key);
    /**
     * Use {@link #getModulePathByKeyMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map
    getModulePathByKey();
    /**
     * map<string, string> module_path_by_key = 3;
     */
    java.util.Map
    getModulePathByKeyMap();
    /**
     * map<string, string> module_path_by_key = 3;
     */

    java.lang.String getModulePathByKeyOrDefault(
        java.lang.String key,
        java.lang.String defaultValue);
    /**
     * map<string, string> module_path_by_key = 3;
     */

    java.lang.String getModulePathByKeyOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code sonarlint.ProjectConfiguration}
   */
  public static final class ProjectConfiguration extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.ProjectConfiguration)
      ProjectConfigurationOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ProjectConfiguration.newBuilder() to construct.
    private ProjectConfiguration(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ProjectConfiguration() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ProjectConfiguration();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ProjectConfiguration(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                qprofilePerLanguage_ = com.google.protobuf.MapField.newMapField(
                    QprofilePerLanguageDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry
              qprofilePerLanguage__ = input.readMessage(
                  QprofilePerLanguageDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              qprofilePerLanguage_.getMutableMap().put(
                  qprofilePerLanguage__.getKey(), qprofilePerLanguage__.getValue());
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                properties_ = com.google.protobuf.MapField.newMapField(
                    PropertiesDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000002;
              }
              com.google.protobuf.MapEntry
              properties__ = input.readMessage(
                  PropertiesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              properties_.getMutableMap().put(
                  properties__.getKey(), properties__.getValue());
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                modulePathByKey_ = com.google.protobuf.MapField.newMapField(
                    ModulePathByKeyDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000004;
              }
              com.google.protobuf.MapEntry
              modulePathByKey__ = input.readMessage(
                  ModulePathByKeyDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              modulePathByKey_.getMutableMap().put(
                  modulePathByKey__.getKey(), modulePathByKey__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectConfiguration_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 1:
          return internalGetQprofilePerLanguage();
        case 2:
          return internalGetProperties();
        case 3:
          return internalGetModulePathByKey();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectConfiguration_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration.Builder.class);
    }

    public static final int QPROFILE_PER_LANGUAGE_FIELD_NUMBER = 1;
    private static final class QprofilePerLanguageDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectConfiguration_QprofilePerLanguageEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> qprofilePerLanguage_;
    private com.google.protobuf.MapField
    internalGetQprofilePerLanguage() {
      if (qprofilePerLanguage_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            QprofilePerLanguageDefaultEntryHolder.defaultEntry);
      }
      return qprofilePerLanguage_;
    }

    public int getQprofilePerLanguageCount() {
      return internalGetQprofilePerLanguage().getMap().size();
    }
    /**
     * map<string, string> qprofile_per_language = 1;
     */

    @java.lang.Override
    public boolean containsQprofilePerLanguage(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetQprofilePerLanguage().getMap().containsKey(key);
    }
    /**
     * Use {@link #getQprofilePerLanguageMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getQprofilePerLanguage() {
      return getQprofilePerLanguageMap();
    }
    /**
     * map<string, string> qprofile_per_language = 1;
     */
    @java.lang.Override

    public java.util.Map getQprofilePerLanguageMap() {
      return internalGetQprofilePerLanguage().getMap();
    }
    /**
     * map<string, string> qprofile_per_language = 1;
     */
    @java.lang.Override

    public java.lang.String getQprofilePerLanguageOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetQprofilePerLanguage().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> qprofile_per_language = 1;
     */
    @java.lang.Override

    public java.lang.String getQprofilePerLanguageOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetQprofilePerLanguage().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int PROPERTIES_FIELD_NUMBER = 2;
    private static final class PropertiesDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectConfiguration_PropertiesEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> properties_;
    private com.google.protobuf.MapField
    internalGetProperties() {
      if (properties_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            PropertiesDefaultEntryHolder.defaultEntry);
      }
      return properties_;
    }

    public int getPropertiesCount() {
      return internalGetProperties().getMap().size();
    }
    /**
     * map<string, string> properties = 2;
     */

    @java.lang.Override
    public boolean containsProperties(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetProperties().getMap().containsKey(key);
    }
    /**
     * Use {@link #getPropertiesMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getProperties() {
      return getPropertiesMap();
    }
    /**
     * map<string, string> properties = 2;
     */
    @java.lang.Override

    public java.util.Map getPropertiesMap() {
      return internalGetProperties().getMap();
    }
    /**
     * map<string, string> properties = 2;
     */
    @java.lang.Override

    public java.lang.String getPropertiesOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetProperties().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> properties = 2;
     */
    @java.lang.Override

    public java.lang.String getPropertiesOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetProperties().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int MODULE_PATH_BY_KEY_FIELD_NUMBER = 3;
    private static final class ModulePathByKeyDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .newDefaultInstance(
                  org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectConfiguration_ModulePathByKeyEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> modulePathByKey_;
    private com.google.protobuf.MapField
    internalGetModulePathByKey() {
      if (modulePathByKey_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ModulePathByKeyDefaultEntryHolder.defaultEntry);
      }
      return modulePathByKey_;
    }

    public int getModulePathByKeyCount() {
      return internalGetModulePathByKey().getMap().size();
    }
    /**
     * map<string, string> module_path_by_key = 3;
     */

    @java.lang.Override
    public boolean containsModulePathByKey(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetModulePathByKey().getMap().containsKey(key);
    }
    /**
     * Use {@link #getModulePathByKeyMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getModulePathByKey() {
      return getModulePathByKeyMap();
    }
    /**
     * map<string, string> module_path_by_key = 3;
     */
    @java.lang.Override

    public java.util.Map getModulePathByKeyMap() {
      return internalGetModulePathByKey().getMap();
    }
    /**
     * map<string, string> module_path_by_key = 3;
     */
    @java.lang.Override

    public java.lang.String getModulePathByKeyOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetModulePathByKey().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> module_path_by_key = 3;
     */
    @java.lang.Override

    public java.lang.String getModulePathByKeyOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map map =
          internalGetModulePathByKey().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetQprofilePerLanguage(),
          QprofilePerLanguageDefaultEntryHolder.defaultEntry,
          1);
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetProperties(),
          PropertiesDefaultEntryHolder.defaultEntry,
          2);
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetModulePathByKey(),
          ModulePathByKeyDefaultEntryHolder.defaultEntry,
          3);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (java.util.Map.Entry entry
           : internalGetQprofilePerLanguage().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        qprofilePerLanguage__ = QprofilePerLanguageDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, qprofilePerLanguage__);
      }
      for (java.util.Map.Entry entry
           : internalGetProperties().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        properties__ = PropertiesDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, properties__);
      }
      for (java.util.Map.Entry entry
           : internalGetModulePathByKey().getMap().entrySet()) {
        com.google.protobuf.MapEntry
        modulePathByKey__ = ModulePathByKeyDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, modulePathByKey__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration) obj;

      if (!internalGetQprofilePerLanguage().equals(
          other.internalGetQprofilePerLanguage())) return false;
      if (!internalGetProperties().equals(
          other.internalGetProperties())) return false;
      if (!internalGetModulePathByKey().equals(
          other.internalGetModulePathByKey())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (!internalGetQprofilePerLanguage().getMap().isEmpty()) {
        hash = (37 * hash) + QPROFILE_PER_LANGUAGE_FIELD_NUMBER;
        hash = (53 * hash) + internalGetQprofilePerLanguage().hashCode();
      }
      if (!internalGetProperties().getMap().isEmpty()) {
        hash = (37 * hash) + PROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + internalGetProperties().hashCode();
      }
      if (!internalGetModulePathByKey().getMap().isEmpty()) {
        hash = (37 * hash) + MODULE_PATH_BY_KEY_FIELD_NUMBER;
        hash = (53 * hash) + internalGetModulePathByKey().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.ProjectConfiguration}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.ProjectConfiguration)
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfigurationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectConfiguration_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetQprofilePerLanguage();
          case 2:
            return internalGetProperties();
          case 3:
            return internalGetModulePathByKey();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 1:
            return internalGetMutableQprofilePerLanguage();
          case 2:
            return internalGetMutableProperties();
          case 3:
            return internalGetMutableModulePathByKey();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectConfiguration_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        internalGetMutableQprofilePerLanguage().clear();
        internalGetMutableProperties().clear();
        internalGetMutableModulePathByKey().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectConfiguration_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration(this);
        int from_bitField0_ = bitField0_;
        result.qprofilePerLanguage_ = internalGetQprofilePerLanguage();
        result.qprofilePerLanguage_.makeImmutable();
        result.properties_ = internalGetProperties();
        result.properties_.makeImmutable();
        result.modulePathByKey_ = internalGetModulePathByKey();
        result.modulePathByKey_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration.getDefaultInstance()) return this;
        internalGetMutableQprofilePerLanguage().mergeFrom(
            other.internalGetQprofilePerLanguage());
        internalGetMutableProperties().mergeFrom(
            other.internalGetProperties());
        internalGetMutableModulePathByKey().mergeFrom(
            other.internalGetModulePathByKey());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> qprofilePerLanguage_;
      private com.google.protobuf.MapField
      internalGetQprofilePerLanguage() {
        if (qprofilePerLanguage_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              QprofilePerLanguageDefaultEntryHolder.defaultEntry);
        }
        return qprofilePerLanguage_;
      }
      private com.google.protobuf.MapField
      internalGetMutableQprofilePerLanguage() {
        onChanged();;
        if (qprofilePerLanguage_ == null) {
          qprofilePerLanguage_ = com.google.protobuf.MapField.newMapField(
              QprofilePerLanguageDefaultEntryHolder.defaultEntry);
        }
        if (!qprofilePerLanguage_.isMutable()) {
          qprofilePerLanguage_ = qprofilePerLanguage_.copy();
        }
        return qprofilePerLanguage_;
      }

      public int getQprofilePerLanguageCount() {
        return internalGetQprofilePerLanguage().getMap().size();
      }
      /**
       * map<string, string> qprofile_per_language = 1;
       */

      @java.lang.Override
      public boolean containsQprofilePerLanguage(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetQprofilePerLanguage().getMap().containsKey(key);
      }
      /**
       * Use {@link #getQprofilePerLanguageMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getQprofilePerLanguage() {
        return getQprofilePerLanguageMap();
      }
      /**
       * map<string, string> qprofile_per_language = 1;
       */
      @java.lang.Override

      public java.util.Map getQprofilePerLanguageMap() {
        return internalGetQprofilePerLanguage().getMap();
      }
      /**
       * map<string, string> qprofile_per_language = 1;
       */
      @java.lang.Override

      public java.lang.String getQprofilePerLanguageOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetQprofilePerLanguage().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> qprofile_per_language = 1;
       */
      @java.lang.Override

      public java.lang.String getQprofilePerLanguageOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetQprofilePerLanguage().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearQprofilePerLanguage() {
        internalGetMutableQprofilePerLanguage().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> qprofile_per_language = 1;
       */

      public Builder removeQprofilePerLanguage(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableQprofilePerLanguage().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableQprofilePerLanguage() {
        return internalGetMutableQprofilePerLanguage().getMutableMap();
      }
      /**
       * map<string, string> qprofile_per_language = 1;
       */
      public Builder putQprofilePerLanguage(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableQprofilePerLanguage().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> qprofile_per_language = 1;
       */

      public Builder putAllQprofilePerLanguage(
          java.util.Map values) {
        internalGetMutableQprofilePerLanguage().getMutableMap()
            .putAll(values);
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> properties_;
      private com.google.protobuf.MapField
      internalGetProperties() {
        if (properties_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              PropertiesDefaultEntryHolder.defaultEntry);
        }
        return properties_;
      }
      private com.google.protobuf.MapField
      internalGetMutableProperties() {
        onChanged();;
        if (properties_ == null) {
          properties_ = com.google.protobuf.MapField.newMapField(
              PropertiesDefaultEntryHolder.defaultEntry);
        }
        if (!properties_.isMutable()) {
          properties_ = properties_.copy();
        }
        return properties_;
      }

      public int getPropertiesCount() {
        return internalGetProperties().getMap().size();
      }
      /**
       * map<string, string> properties = 2;
       */

      @java.lang.Override
      public boolean containsProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetProperties().getMap().containsKey(key);
      }
      /**
       * Use {@link #getPropertiesMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getProperties() {
        return getPropertiesMap();
      }
      /**
       * map<string, string> properties = 2;
       */
      @java.lang.Override

      public java.util.Map getPropertiesMap() {
        return internalGetProperties().getMap();
      }
      /**
       * map<string, string> properties = 2;
       */
      @java.lang.Override

      public java.lang.String getPropertiesOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetProperties().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> properties = 2;
       */
      @java.lang.Override

      public java.lang.String getPropertiesOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetProperties().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearProperties() {
        internalGetMutableProperties().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> properties = 2;
       */

      public Builder removeProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProperties().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableProperties() {
        return internalGetMutableProperties().getMutableMap();
      }
      /**
       * map<string, string> properties = 2;
       */
      public Builder putProperties(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProperties().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> properties = 2;
       */

      public Builder putAllProperties(
          java.util.Map values) {
        internalGetMutableProperties().getMutableMap()
            .putAll(values);
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> modulePathByKey_;
      private com.google.protobuf.MapField
      internalGetModulePathByKey() {
        if (modulePathByKey_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ModulePathByKeyDefaultEntryHolder.defaultEntry);
        }
        return modulePathByKey_;
      }
      private com.google.protobuf.MapField
      internalGetMutableModulePathByKey() {
        onChanged();;
        if (modulePathByKey_ == null) {
          modulePathByKey_ = com.google.protobuf.MapField.newMapField(
              ModulePathByKeyDefaultEntryHolder.defaultEntry);
        }
        if (!modulePathByKey_.isMutable()) {
          modulePathByKey_ = modulePathByKey_.copy();
        }
        return modulePathByKey_;
      }

      public int getModulePathByKeyCount() {
        return internalGetModulePathByKey().getMap().size();
      }
      /**
       * map<string, string> module_path_by_key = 3;
       */

      @java.lang.Override
      public boolean containsModulePathByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetModulePathByKey().getMap().containsKey(key);
      }
      /**
       * Use {@link #getModulePathByKeyMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map getModulePathByKey() {
        return getModulePathByKeyMap();
      }
      /**
       * map<string, string> module_path_by_key = 3;
       */
      @java.lang.Override

      public java.util.Map getModulePathByKeyMap() {
        return internalGetModulePathByKey().getMap();
      }
      /**
       * map<string, string> module_path_by_key = 3;
       */
      @java.lang.Override

      public java.lang.String getModulePathByKeyOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetModulePathByKey().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * map<string, string> module_path_by_key = 3;
       */
      @java.lang.Override

      public java.lang.String getModulePathByKeyOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map map =
            internalGetModulePathByKey().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearModulePathByKey() {
        internalGetMutableModulePathByKey().getMutableMap()
            .clear();
        return this;
      }
      /**
       * map<string, string> module_path_by_key = 3;
       */

      public Builder removeModulePathByKey(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableModulePathByKey().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map
      getMutableModulePathByKey() {
        return internalGetMutableModulePathByKey().getMutableMap();
      }
      /**
       * map<string, string> module_path_by_key = 3;
       */
      public Builder putModulePathByKey(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableModulePathByKey().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * map<string, string> module_path_by_key = 3;
       */

      public Builder putAllModulePathByKey(
          java.util.Map values) {
        internalGetMutableModulePathByKey().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.ProjectConfiguration)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.ProjectConfiguration)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ProjectConfiguration parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ProjectConfiguration(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectConfiguration getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ProjectComponentsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.ProjectComponents)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated string component = 1;
     * @return A list containing the component.
     */
    java.util.List
        getComponentList();
    /**
     * repeated string component = 1;
     * @return The count of component.
     */
    int getComponentCount();
    /**
     * repeated string component = 1;
     * @param index The index of the element to return.
     * @return The component at the given index.
     */
    java.lang.String getComponent(int index);
    /**
     * repeated string component = 1;
     * @param index The index of the value to return.
     * @return The bytes of the component at the given index.
     */
    com.google.protobuf.ByteString
        getComponentBytes(int index);
  }
  /**
   * Protobuf type {@code sonarlint.ProjectComponents}
   */
  public static final class ProjectComponents extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.ProjectComponents)
      ProjectComponentsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ProjectComponents.newBuilder() to construct.
    private ProjectComponents(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ProjectComponents() {
      component_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ProjectComponents();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ProjectComponents(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                component_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              component_.add(s);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          component_ = component_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectComponents_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectComponents_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents.Builder.class);
    }

    public static final int COMPONENT_FIELD_NUMBER = 1;
    private com.google.protobuf.LazyStringList component_;
    /**
     * repeated string component = 1;
     * @return A list containing the component.
     */
    public com.google.protobuf.ProtocolStringList
        getComponentList() {
      return component_;
    }
    /**
     * repeated string component = 1;
     * @return The count of component.
     */
    public int getComponentCount() {
      return component_.size();
    }
    /**
     * repeated string component = 1;
     * @param index The index of the element to return.
     * @return The component at the given index.
     */
    public java.lang.String getComponent(int index) {
      return component_.get(index);
    }
    /**
     * repeated string component = 1;
     * @param index The index of the value to return.
     * @return The bytes of the component at the given index.
     */
    public com.google.protobuf.ByteString
        getComponentBytes(int index) {
      return component_.getByteString(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < component_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, component_.getRaw(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < component_.size(); i++) {
          dataSize += computeStringSizeNoTag(component_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getComponentList().size();
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents)) {
        return super.equals(obj);
      }
      org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents other = (org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents) obj;

      if (!getComponentList()
          .equals(other.getComponentList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getComponentCount() > 0) {
        hash = (37 * hash) + COMPONENT_FIELD_NUMBER;
        hash = (53 * hash) + getComponentList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code sonarlint.ProjectComponents}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:sonarlint.ProjectComponents)
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponentsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectComponents_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectComponents_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents.class, org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents.Builder.class);
      }

      // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        component_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_ProjectComponents_descriptor;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents getDefaultInstanceForType() {
        return org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents.getDefaultInstance();
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents build() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents buildPartial() {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents result = new org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) != 0)) {
          component_ = component_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.component_ = component_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents) {
          return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents other) {
        if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents.getDefaultInstance()) return this;
        if (!other.component_.isEmpty()) {
          if (component_.isEmpty()) {
            component_ = other.component_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureComponentIsMutable();
            component_.addAll(other.component_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.LazyStringList component_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureComponentIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          component_ = new com.google.protobuf.LazyStringArrayList(component_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated string component = 1;
       * @return A list containing the component.
       */
      public com.google.protobuf.ProtocolStringList
          getComponentList() {
        return component_.getUnmodifiableView();
      }
      /**
       * repeated string component = 1;
       * @return The count of component.
       */
      public int getComponentCount() {
        return component_.size();
      }
      /**
       * repeated string component = 1;
       * @param index The index of the element to return.
       * @return The component at the given index.
       */
      public java.lang.String getComponent(int index) {
        return component_.get(index);
      }
      /**
       * repeated string component = 1;
       * @param index The index of the value to return.
       * @return The bytes of the component at the given index.
       */
      public com.google.protobuf.ByteString
          getComponentBytes(int index) {
        return component_.getByteString(index);
      }
      /**
       * repeated string component = 1;
       * @param index The index to set the value at.
       * @param value The component to set.
       * @return This builder for chaining.
       */
      public Builder setComponent(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureComponentIsMutable();
        component_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated string component = 1;
       * @param value The component to add.
       * @return This builder for chaining.
       */
      public Builder addComponent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureComponentIsMutable();
        component_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated string component = 1;
       * @param values The component to add.
       * @return This builder for chaining.
       */
      public Builder addAllComponent(
          java.lang.Iterable values) {
        ensureComponentIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, component_);
        onChanged();
        return this;
      }
      /**
       * repeated string component = 1;
       * @return This builder for chaining.
       */
      public Builder clearComponent() {
        component_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * repeated string component = 1;
       * @param value The bytes of the component to add.
       * @return This builder for chaining.
       */
      public Builder addComponentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureComponentIsMutable();
        component_.add(value);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:sonarlint.ProjectComponents)
    }

    // @@protoc_insertion_point(class_scope:sonarlint.ProjectComponents)
    private static final org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents();
    }

    public static org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ProjectComponents parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ProjectComponents(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.sonarsource.sonarlint.core.proto.Sonarlint.ProjectComponents getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface IssuesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sonarlint.Issues)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .sonarlint.Issues.Issue issue = 1;
     */
    java.util.List 
        getIssueList();
    /**
     * repeated .sonarlint.Issues.Issue issue = 1;
     */
    org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue getIssue(int index);
    /**
     * repeated .sonarlint.Issues.Issue issue = 1;
     */
    int getIssueCount();
    /**
     * repeated .sonarlint.Issues.Issue issue = 1;
     */
    java.util.List 
        getIssueOrBuilderList();
    /**
     * repeated .sonarlint.Issues.Issue issue = 1;
     */
    org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.IssueOrBuilder getIssueOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code sonarlint.Issues}
   */
  public static final class Issues extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:sonarlint.Issues)
      IssuesOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Issues.newBuilder() to construct.
    private Issues(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private Issues() {
      issue_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Issues();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Issues(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                issue_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              issue_.add(
                  input.readMessage(org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          issue_ = java.util.Collections.unmodifiableList(issue_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.class, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Builder.class);
    }

    public interface IssueOrBuilder extends
        // @@protoc_insertion_point(interface_extends:sonarlint.Issues.Issue)
        com.google.protobuf.MessageOrBuilder {

      /**
       * 
       * used for matching
       * 
* * string serverIssueKey = 1; * @return The serverIssueKey. */ java.lang.String getServerIssueKey(); /** *
       * used for matching
       * 
* * string serverIssueKey = 1; * @return The bytes for serverIssueKey. */ com.google.protobuf.ByteString getServerIssueKeyBytes(); /** * string ruleKey = 2; * @return The ruleKey. */ java.lang.String getRuleKey(); /** * string ruleKey = 2; * @return The bytes for ruleKey. */ com.google.protobuf.ByteString getRuleKeyBytes(); /** * int32 line = 3; * @return The line. */ int getLine(); /** * string message = 4; * @return The message. */ java.lang.String getMessage(); /** * string message = 4; * @return The bytes for message. */ com.google.protobuf.ByteString getMessageBytes(); /** * int32 checksum = 5; * @return The checksum. */ int getChecksum(); /** *
       * values carried forward
       * 
* * string assignee = 6; * @return The assignee. */ java.lang.String getAssignee(); /** *
       * values carried forward
       * 
* * string assignee = 6; * @return The bytes for assignee. */ com.google.protobuf.ByteString getAssigneeBytes(); /** * int64 creationDate = 7; * @return The creationDate. */ long getCreationDate(); /** * bool resolved = 8; * @return The resolved. */ boolean getResolved(); } /** * Protobuf type {@code sonarlint.Issues.Issue} */ public static final class Issue extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:sonarlint.Issues.Issue) IssueOrBuilder { private static final long serialVersionUID = 0L; // Use Issue.newBuilder() to construct. private Issue(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Issue() { serverIssueKey_ = ""; ruleKey_ = ""; message_ = ""; assignee_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Issue(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Issue( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { java.lang.String s = input.readStringRequireUtf8(); serverIssueKey_ = s; break; } case 18: { java.lang.String s = input.readStringRequireUtf8(); ruleKey_ = s; break; } case 24: { line_ = input.readInt32(); break; } case 34: { java.lang.String s = input.readStringRequireUtf8(); message_ = s; break; } case 40: { checksum_ = input.readInt32(); break; } case 50: { java.lang.String s = input.readStringRequireUtf8(); assignee_ = s; break; } case 56: { creationDate_ = input.readInt64(); break; } case 64: { resolved_ = input.readBool(); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_Issue_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_Issue_fieldAccessorTable .ensureFieldAccessorsInitialized( org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.class, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder.class); } public static final int SERVERISSUEKEY_FIELD_NUMBER = 1; private volatile java.lang.Object serverIssueKey_; /** *
       * used for matching
       * 
* * string serverIssueKey = 1; * @return The serverIssueKey. */ @java.lang.Override public java.lang.String getServerIssueKey() { java.lang.Object ref = serverIssueKey_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); serverIssueKey_ = s; return s; } } /** *
       * used for matching
       * 
* * string serverIssueKey = 1; * @return The bytes for serverIssueKey. */ @java.lang.Override public com.google.protobuf.ByteString getServerIssueKeyBytes() { java.lang.Object ref = serverIssueKey_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); serverIssueKey_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int RULEKEY_FIELD_NUMBER = 2; private volatile java.lang.Object ruleKey_; /** * string ruleKey = 2; * @return The ruleKey. */ @java.lang.Override public java.lang.String getRuleKey() { java.lang.Object ref = ruleKey_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); ruleKey_ = s; return s; } } /** * string ruleKey = 2; * @return The bytes for ruleKey. */ @java.lang.Override public com.google.protobuf.ByteString getRuleKeyBytes() { java.lang.Object ref = ruleKey_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); ruleKey_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int LINE_FIELD_NUMBER = 3; private int line_; /** * int32 line = 3; * @return The line. */ @java.lang.Override public int getLine() { return line_; } public static final int MESSAGE_FIELD_NUMBER = 4; private volatile java.lang.Object message_; /** * string message = 4; * @return The message. */ @java.lang.Override public java.lang.String getMessage() { java.lang.Object ref = message_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); message_ = s; return s; } } /** * string message = 4; * @return The bytes for message. */ @java.lang.Override public com.google.protobuf.ByteString getMessageBytes() { java.lang.Object ref = message_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); message_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CHECKSUM_FIELD_NUMBER = 5; private int checksum_; /** * int32 checksum = 5; * @return The checksum. */ @java.lang.Override public int getChecksum() { return checksum_; } public static final int ASSIGNEE_FIELD_NUMBER = 6; private volatile java.lang.Object assignee_; /** *
       * values carried forward
       * 
* * string assignee = 6; * @return The assignee. */ @java.lang.Override public java.lang.String getAssignee() { java.lang.Object ref = assignee_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); assignee_ = s; return s; } } /** *
       * values carried forward
       * 
* * string assignee = 6; * @return The bytes for assignee. */ @java.lang.Override public com.google.protobuf.ByteString getAssigneeBytes() { java.lang.Object ref = assignee_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); assignee_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CREATIONDATE_FIELD_NUMBER = 7; private long creationDate_; /** * int64 creationDate = 7; * @return The creationDate. */ @java.lang.Override public long getCreationDate() { return creationDate_; } public static final int RESOLVED_FIELD_NUMBER = 8; private boolean resolved_; /** * bool resolved = 8; * @return The resolved. */ @java.lang.Override public boolean getResolved() { return resolved_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!getServerIssueKeyBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, serverIssueKey_); } if (!getRuleKeyBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, ruleKey_); } if (line_ != 0) { output.writeInt32(3, line_); } if (!getMessageBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, message_); } if (checksum_ != 0) { output.writeInt32(5, checksum_); } if (!getAssigneeBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, assignee_); } if (creationDate_ != 0L) { output.writeInt64(7, creationDate_); } if (resolved_ != false) { output.writeBool(8, resolved_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!getServerIssueKeyBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, serverIssueKey_); } if (!getRuleKeyBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, ruleKey_); } if (line_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(3, line_); } if (!getMessageBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, message_); } if (checksum_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(5, checksum_); } if (!getAssigneeBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, assignee_); } if (creationDate_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(7, creationDate_); } if (resolved_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(8, resolved_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue)) { return super.equals(obj); } org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue other = (org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue) obj; if (!getServerIssueKey() .equals(other.getServerIssueKey())) return false; if (!getRuleKey() .equals(other.getRuleKey())) return false; if (getLine() != other.getLine()) return false; if (!getMessage() .equals(other.getMessage())) return false; if (getChecksum() != other.getChecksum()) return false; if (!getAssignee() .equals(other.getAssignee())) return false; if (getCreationDate() != other.getCreationDate()) return false; if (getResolved() != other.getResolved()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + SERVERISSUEKEY_FIELD_NUMBER; hash = (53 * hash) + getServerIssueKey().hashCode(); hash = (37 * hash) + RULEKEY_FIELD_NUMBER; hash = (53 * hash) + getRuleKey().hashCode(); hash = (37 * hash) + LINE_FIELD_NUMBER; hash = (53 * hash) + getLine(); hash = (37 * hash) + MESSAGE_FIELD_NUMBER; hash = (53 * hash) + getMessage().hashCode(); hash = (37 * hash) + CHECKSUM_FIELD_NUMBER; hash = (53 * hash) + getChecksum(); hash = (37 * hash) + ASSIGNEE_FIELD_NUMBER; hash = (53 * hash) + getAssignee().hashCode(); hash = (37 * hash) + CREATIONDATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCreationDate()); hash = (37 * hash) + RESOLVED_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getResolved()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code sonarlint.Issues.Issue} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:sonarlint.Issues.Issue) org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.IssueOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_Issue_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_Issue_fieldAccessorTable .ensureFieldAccessorsInitialized( org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.class, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder.class); } // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); serverIssueKey_ = ""; ruleKey_ = ""; line_ = 0; message_ = ""; checksum_ = 0; assignee_ = ""; creationDate_ = 0L; resolved_ = false; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_Issue_descriptor; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue getDefaultInstanceForType() { return org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.getDefaultInstance(); } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue build() { org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue buildPartial() { org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue result = new org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue(this); result.serverIssueKey_ = serverIssueKey_; result.ruleKey_ = ruleKey_; result.line_ = line_; result.message_ = message_; result.checksum_ = checksum_; result.assignee_ = assignee_; result.creationDate_ = creationDate_; result.resolved_ = resolved_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue) { return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue other) { if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.getDefaultInstance()) return this; if (!other.getServerIssueKey().isEmpty()) { serverIssueKey_ = other.serverIssueKey_; onChanged(); } if (!other.getRuleKey().isEmpty()) { ruleKey_ = other.ruleKey_; onChanged(); } if (other.getLine() != 0) { setLine(other.getLine()); } if (!other.getMessage().isEmpty()) { message_ = other.message_; onChanged(); } if (other.getChecksum() != 0) { setChecksum(other.getChecksum()); } if (!other.getAssignee().isEmpty()) { assignee_ = other.assignee_; onChanged(); } if (other.getCreationDate() != 0L) { setCreationDate(other.getCreationDate()); } if (other.getResolved() != false) { setResolved(other.getResolved()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private java.lang.Object serverIssueKey_ = ""; /** *
         * used for matching
         * 
* * string serverIssueKey = 1; * @return The serverIssueKey. */ public java.lang.String getServerIssueKey() { java.lang.Object ref = serverIssueKey_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); serverIssueKey_ = s; return s; } else { return (java.lang.String) ref; } } /** *
         * used for matching
         * 
* * string serverIssueKey = 1; * @return The bytes for serverIssueKey. */ public com.google.protobuf.ByteString getServerIssueKeyBytes() { java.lang.Object ref = serverIssueKey_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); serverIssueKey_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
         * used for matching
         * 
* * string serverIssueKey = 1; * @param value The serverIssueKey to set. * @return This builder for chaining. */ public Builder setServerIssueKey( java.lang.String value) { if (value == null) { throw new NullPointerException(); } serverIssueKey_ = value; onChanged(); return this; } /** *
         * used for matching
         * 
* * string serverIssueKey = 1; * @return This builder for chaining. */ public Builder clearServerIssueKey() { serverIssueKey_ = getDefaultInstance().getServerIssueKey(); onChanged(); return this; } /** *
         * used for matching
         * 
* * string serverIssueKey = 1; * @param value The bytes for serverIssueKey to set. * @return This builder for chaining. */ public Builder setServerIssueKeyBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); serverIssueKey_ = value; onChanged(); return this; } private java.lang.Object ruleKey_ = ""; /** * string ruleKey = 2; * @return The ruleKey. */ public java.lang.String getRuleKey() { java.lang.Object ref = ruleKey_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); ruleKey_ = s; return s; } else { return (java.lang.String) ref; } } /** * string ruleKey = 2; * @return The bytes for ruleKey. */ public com.google.protobuf.ByteString getRuleKeyBytes() { java.lang.Object ref = ruleKey_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); ruleKey_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * string ruleKey = 2; * @param value The ruleKey to set. * @return This builder for chaining. */ public Builder setRuleKey( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ruleKey_ = value; onChanged(); return this; } /** * string ruleKey = 2; * @return This builder for chaining. */ public Builder clearRuleKey() { ruleKey_ = getDefaultInstance().getRuleKey(); onChanged(); return this; } /** * string ruleKey = 2; * @param value The bytes for ruleKey to set. * @return This builder for chaining. */ public Builder setRuleKeyBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ruleKey_ = value; onChanged(); return this; } private int line_ ; /** * int32 line = 3; * @return The line. */ @java.lang.Override public int getLine() { return line_; } /** * int32 line = 3; * @param value The line to set. * @return This builder for chaining. */ public Builder setLine(int value) { line_ = value; onChanged(); return this; } /** * int32 line = 3; * @return This builder for chaining. */ public Builder clearLine() { line_ = 0; onChanged(); return this; } private java.lang.Object message_ = ""; /** * string message = 4; * @return The message. */ public java.lang.String getMessage() { java.lang.Object ref = message_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); message_ = s; return s; } else { return (java.lang.String) ref; } } /** * string message = 4; * @return The bytes for message. */ public com.google.protobuf.ByteString getMessageBytes() { java.lang.Object ref = message_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); message_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * string message = 4; * @param value The message to set. * @return This builder for chaining. */ public Builder setMessage( java.lang.String value) { if (value == null) { throw new NullPointerException(); } message_ = value; onChanged(); return this; } /** * string message = 4; * @return This builder for chaining. */ public Builder clearMessage() { message_ = getDefaultInstance().getMessage(); onChanged(); return this; } /** * string message = 4; * @param value The bytes for message to set. * @return This builder for chaining. */ public Builder setMessageBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); message_ = value; onChanged(); return this; } private int checksum_ ; /** * int32 checksum = 5; * @return The checksum. */ @java.lang.Override public int getChecksum() { return checksum_; } /** * int32 checksum = 5; * @param value The checksum to set. * @return This builder for chaining. */ public Builder setChecksum(int value) { checksum_ = value; onChanged(); return this; } /** * int32 checksum = 5; * @return This builder for chaining. */ public Builder clearChecksum() { checksum_ = 0; onChanged(); return this; } private java.lang.Object assignee_ = ""; /** *
         * values carried forward
         * 
* * string assignee = 6; * @return The assignee. */ public java.lang.String getAssignee() { java.lang.Object ref = assignee_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); assignee_ = s; return s; } else { return (java.lang.String) ref; } } /** *
         * values carried forward
         * 
* * string assignee = 6; * @return The bytes for assignee. */ public com.google.protobuf.ByteString getAssigneeBytes() { java.lang.Object ref = assignee_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); assignee_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
         * values carried forward
         * 
* * string assignee = 6; * @param value The assignee to set. * @return This builder for chaining. */ public Builder setAssignee( java.lang.String value) { if (value == null) { throw new NullPointerException(); } assignee_ = value; onChanged(); return this; } /** *
         * values carried forward
         * 
* * string assignee = 6; * @return This builder for chaining. */ public Builder clearAssignee() { assignee_ = getDefaultInstance().getAssignee(); onChanged(); return this; } /** *
         * values carried forward
         * 
* * string assignee = 6; * @param value The bytes for assignee to set. * @return This builder for chaining. */ public Builder setAssigneeBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); assignee_ = value; onChanged(); return this; } private long creationDate_ ; /** * int64 creationDate = 7; * @return The creationDate. */ @java.lang.Override public long getCreationDate() { return creationDate_; } /** * int64 creationDate = 7; * @param value The creationDate to set. * @return This builder for chaining. */ public Builder setCreationDate(long value) { creationDate_ = value; onChanged(); return this; } /** * int64 creationDate = 7; * @return This builder for chaining. */ public Builder clearCreationDate() { creationDate_ = 0L; onChanged(); return this; } private boolean resolved_ ; /** * bool resolved = 8; * @return The resolved. */ @java.lang.Override public boolean getResolved() { return resolved_; } /** * bool resolved = 8; * @param value The resolved to set. * @return This builder for chaining. */ public Builder setResolved(boolean value) { resolved_ = value; onChanged(); return this; } /** * bool resolved = 8; * @return This builder for chaining. */ public Builder clearResolved() { resolved_ = false; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:sonarlint.Issues.Issue) } // @@protoc_insertion_point(class_scope:sonarlint.Issues.Issue) private static final org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue(); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Issue parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new Issue(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public static final int ISSUE_FIELD_NUMBER = 1; private java.util.List issue_; /** * repeated .sonarlint.Issues.Issue issue = 1; */ @java.lang.Override public java.util.List getIssueList() { return issue_; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ @java.lang.Override public java.util.List getIssueOrBuilderList() { return issue_; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ @java.lang.Override public int getIssueCount() { return issue_.size(); } /** * repeated .sonarlint.Issues.Issue issue = 1; */ @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue getIssue(int index) { return issue_.get(index); } /** * repeated .sonarlint.Issues.Issue issue = 1; */ @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.IssueOrBuilder getIssueOrBuilder( int index) { return issue_.get(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < issue_.size(); i++) { output.writeMessage(1, issue_.get(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (int i = 0; i < issue_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, issue_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.Issues)) { return super.equals(obj); } org.sonarsource.sonarlint.core.proto.Sonarlint.Issues other = (org.sonarsource.sonarlint.core.proto.Sonarlint.Issues) obj; if (!getIssueList() .equals(other.getIssueList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getIssueCount() > 0) { hash = (37 * hash) + ISSUE_FIELD_NUMBER; hash = (53 * hash) + getIssueList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.Issues prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code sonarlint.Issues} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:sonarlint.Issues) org.sonarsource.sonarlint.core.proto.Sonarlint.IssuesOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_fieldAccessorTable .ensureFieldAccessorsInitialized( org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.class, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Builder.class); } // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getIssueFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (issueBuilder_ == null) { issue_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { issueBuilder_.clear(); } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_Issues_descriptor; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues getDefaultInstanceForType() { return org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.getDefaultInstance(); } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues build() { org.sonarsource.sonarlint.core.proto.Sonarlint.Issues result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues buildPartial() { org.sonarsource.sonarlint.core.proto.Sonarlint.Issues result = new org.sonarsource.sonarlint.core.proto.Sonarlint.Issues(this); int from_bitField0_ = bitField0_; if (issueBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { issue_ = java.util.Collections.unmodifiableList(issue_); bitField0_ = (bitField0_ & ~0x00000001); } result.issue_ = issue_; } else { result.issue_ = issueBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.Issues) { return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.Issues)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.Issues other) { if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.getDefaultInstance()) return this; if (issueBuilder_ == null) { if (!other.issue_.isEmpty()) { if (issue_.isEmpty()) { issue_ = other.issue_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureIssueIsMutable(); issue_.addAll(other.issue_); } onChanged(); } } else { if (!other.issue_.isEmpty()) { if (issueBuilder_.isEmpty()) { issueBuilder_.dispose(); issueBuilder_ = null; issue_ = other.issue_; bitField0_ = (bitField0_ & ~0x00000001); issueBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getIssueFieldBuilder() : null; } else { issueBuilder_.addAllMessages(other.issue_); } } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { org.sonarsource.sonarlint.core.proto.Sonarlint.Issues parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.Issues) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.util.List issue_ = java.util.Collections.emptyList(); private void ensureIssueIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { issue_ = new java.util.ArrayList(issue_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.IssueOrBuilder> issueBuilder_; /** * repeated .sonarlint.Issues.Issue issue = 1; */ public java.util.List getIssueList() { if (issueBuilder_ == null) { return java.util.Collections.unmodifiableList(issue_); } else { return issueBuilder_.getMessageList(); } } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public int getIssueCount() { if (issueBuilder_ == null) { return issue_.size(); } else { return issueBuilder_.getCount(); } } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue getIssue(int index) { if (issueBuilder_ == null) { return issue_.get(index); } else { return issueBuilder_.getMessage(index); } } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder setIssue( int index, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue value) { if (issueBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureIssueIsMutable(); issue_.set(index, value); onChanged(); } else { issueBuilder_.setMessage(index, value); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder setIssue( int index, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder builderForValue) { if (issueBuilder_ == null) { ensureIssueIsMutable(); issue_.set(index, builderForValue.build()); onChanged(); } else { issueBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder addIssue(org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue value) { if (issueBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureIssueIsMutable(); issue_.add(value); onChanged(); } else { issueBuilder_.addMessage(value); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder addIssue( int index, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue value) { if (issueBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureIssueIsMutable(); issue_.add(index, value); onChanged(); } else { issueBuilder_.addMessage(index, value); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder addIssue( org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder builderForValue) { if (issueBuilder_ == null) { ensureIssueIsMutable(); issue_.add(builderForValue.build()); onChanged(); } else { issueBuilder_.addMessage(builderForValue.build()); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder addIssue( int index, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder builderForValue) { if (issueBuilder_ == null) { ensureIssueIsMutable(); issue_.add(index, builderForValue.build()); onChanged(); } else { issueBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder addAllIssue( java.lang.Iterable values) { if (issueBuilder_ == null) { ensureIssueIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, issue_); onChanged(); } else { issueBuilder_.addAllMessages(values); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder clearIssue() { if (issueBuilder_ == null) { issue_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { issueBuilder_.clear(); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public Builder removeIssue(int index) { if (issueBuilder_ == null) { ensureIssueIsMutable(); issue_.remove(index); onChanged(); } else { issueBuilder_.remove(index); } return this; } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder getIssueBuilder( int index) { return getIssueFieldBuilder().getBuilder(index); } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.IssueOrBuilder getIssueOrBuilder( int index) { if (issueBuilder_ == null) { return issue_.get(index); } else { return issueBuilder_.getMessageOrBuilder(index); } } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public java.util.List getIssueOrBuilderList() { if (issueBuilder_ != null) { return issueBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(issue_); } } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder addIssueBuilder() { return getIssueFieldBuilder().addBuilder( org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.getDefaultInstance()); } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder addIssueBuilder( int index) { return getIssueFieldBuilder().addBuilder( index, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.getDefaultInstance()); } /** * repeated .sonarlint.Issues.Issue issue = 1; */ public java.util.List getIssueBuilderList() { return getIssueFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.IssueOrBuilder> getIssueFieldBuilder() { if (issueBuilder_ == null) { issueBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.Issue.Builder, org.sonarsource.sonarlint.core.proto.Sonarlint.Issues.IssueOrBuilder>( issue_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); issue_ = null; } return issueBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:sonarlint.Issues) } // @@protoc_insertion_point(class_scope:sonarlint.Issues) private static final org.sonarsource.sonarlint.core.proto.Sonarlint.Issues DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.Issues(); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.Issues getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Issues parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new Issues(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.Issues getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface StorageIndexOrBuilder extends // @@protoc_insertion_point(interface_extends:sonarlint.StorageIndex) com.google.protobuf.MessageOrBuilder { /** * map<string, string> mapped_path_by_key = 1; */ int getMappedPathByKeyCount(); /** * map<string, string> mapped_path_by_key = 1; */ boolean containsMappedPathByKey( java.lang.String key); /** * Use {@link #getMappedPathByKeyMap()} instead. */ @java.lang.Deprecated java.util.Map getMappedPathByKey(); /** * map<string, string> mapped_path_by_key = 1; */ java.util.Map getMappedPathByKeyMap(); /** * map<string, string> mapped_path_by_key = 1; */ java.lang.String getMappedPathByKeyOrDefault( java.lang.String key, java.lang.String defaultValue); /** * map<string, string> mapped_path_by_key = 1; */ java.lang.String getMappedPathByKeyOrThrow( java.lang.String key); } /** * Protobuf type {@code sonarlint.StorageIndex} */ public static final class StorageIndex extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:sonarlint.StorageIndex) StorageIndexOrBuilder { private static final long serialVersionUID = 0L; // Use StorageIndex.newBuilder() to construct. private StorageIndex(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private StorageIndex() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new StorageIndex(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private StorageIndex( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { mappedPathByKey_ = com.google.protobuf.MapField.newMapField( MappedPathByKeyDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000001; } com.google.protobuf.MapEntry mappedPathByKey__ = input.readMessage( MappedPathByKeyDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); mappedPathByKey_.getMutableMap().put( mappedPathByKey__.getKey(), mappedPathByKey__.getValue()); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageIndex_descriptor; } @SuppressWarnings({"rawtypes"}) @java.lang.Override protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 1: return internalGetMappedPathByKey(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageIndex_fieldAccessorTable .ensureFieldAccessorsInitialized( org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex.class, org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex.Builder.class); } public static final int MAPPED_PATH_BY_KEY_FIELD_NUMBER = 1; private static final class MappedPathByKeyDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, java.lang.String> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageIndex_MappedPathByKeyEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, ""); } private com.google.protobuf.MapField< java.lang.String, java.lang.String> mappedPathByKey_; private com.google.protobuf.MapField internalGetMappedPathByKey() { if (mappedPathByKey_ == null) { return com.google.protobuf.MapField.emptyMapField( MappedPathByKeyDefaultEntryHolder.defaultEntry); } return mappedPathByKey_; } public int getMappedPathByKeyCount() { return internalGetMappedPathByKey().getMap().size(); } /** * map<string, string> mapped_path_by_key = 1; */ @java.lang.Override public boolean containsMappedPathByKey( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetMappedPathByKey().getMap().containsKey(key); } /** * Use {@link #getMappedPathByKeyMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getMappedPathByKey() { return getMappedPathByKeyMap(); } /** * map<string, string> mapped_path_by_key = 1; */ @java.lang.Override public java.util.Map getMappedPathByKeyMap() { return internalGetMappedPathByKey().getMap(); } /** * map<string, string> mapped_path_by_key = 1; */ @java.lang.Override public java.lang.String getMappedPathByKeyOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetMappedPathByKey().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** * map<string, string> mapped_path_by_key = 1; */ @java.lang.Override public java.lang.String getMappedPathByKeyOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetMappedPathByKey().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetMappedPathByKey(), MappedPathByKeyDefaultEntryHolder.defaultEntry, 1); unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (java.util.Map.Entry entry : internalGetMappedPathByKey().getMap().entrySet()) { com.google.protobuf.MapEntry mappedPathByKey__ = MappedPathByKeyDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, mappedPathByKey__); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex)) { return super.equals(obj); } org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex other = (org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex) obj; if (!internalGetMappedPathByKey().equals( other.internalGetMappedPathByKey())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (!internalGetMappedPathByKey().getMap().isEmpty()) { hash = (37 * hash) + MAPPED_PATH_BY_KEY_FIELD_NUMBER; hash = (53 * hash) + internalGetMappedPathByKey().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code sonarlint.StorageIndex} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:sonarlint.StorageIndex) org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndexOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageIndex_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 1: return internalGetMappedPathByKey(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { case 1: return internalGetMutableMappedPathByKey(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageIndex_fieldAccessorTable .ensureFieldAccessorsInitialized( org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex.class, org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex.Builder.class); } // Construct using org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); internalGetMutableMappedPathByKey().clear(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return org.sonarsource.sonarlint.core.proto.Sonarlint.internal_static_sonarlint_StorageIndex_descriptor; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex getDefaultInstanceForType() { return org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex.getDefaultInstance(); } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex build() { org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex buildPartial() { org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex result = new org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex(this); int from_bitField0_ = bitField0_; result.mappedPathByKey_ = internalGetMappedPathByKey(); result.mappedPathByKey_.makeImmutable(); onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex) { return mergeFrom((org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex other) { if (other == org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex.getDefaultInstance()) return this; internalGetMutableMappedPathByKey().mergeFrom( other.internalGetMappedPathByKey()); this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private com.google.protobuf.MapField< java.lang.String, java.lang.String> mappedPathByKey_; private com.google.protobuf.MapField internalGetMappedPathByKey() { if (mappedPathByKey_ == null) { return com.google.protobuf.MapField.emptyMapField( MappedPathByKeyDefaultEntryHolder.defaultEntry); } return mappedPathByKey_; } private com.google.protobuf.MapField internalGetMutableMappedPathByKey() { onChanged();; if (mappedPathByKey_ == null) { mappedPathByKey_ = com.google.protobuf.MapField.newMapField( MappedPathByKeyDefaultEntryHolder.defaultEntry); } if (!mappedPathByKey_.isMutable()) { mappedPathByKey_ = mappedPathByKey_.copy(); } return mappedPathByKey_; } public int getMappedPathByKeyCount() { return internalGetMappedPathByKey().getMap().size(); } /** * map<string, string> mapped_path_by_key = 1; */ @java.lang.Override public boolean containsMappedPathByKey( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } return internalGetMappedPathByKey().getMap().containsKey(key); } /** * Use {@link #getMappedPathByKeyMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getMappedPathByKey() { return getMappedPathByKeyMap(); } /** * map<string, string> mapped_path_by_key = 1; */ @java.lang.Override public java.util.Map getMappedPathByKeyMap() { return internalGetMappedPathByKey().getMap(); } /** * map<string, string> mapped_path_by_key = 1; */ @java.lang.Override public java.lang.String getMappedPathByKeyOrDefault( java.lang.String key, java.lang.String defaultValue) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetMappedPathByKey().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** * map<string, string> mapped_path_by_key = 1; */ @java.lang.Override public java.lang.String getMappedPathByKeyOrThrow( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } java.util.Map map = internalGetMappedPathByKey().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearMappedPathByKey() { internalGetMutableMappedPathByKey().getMutableMap() .clear(); return this; } /** * map<string, string> mapped_path_by_key = 1; */ public Builder removeMappedPathByKey( java.lang.String key) { if (key == null) { throw new java.lang.NullPointerException(); } internalGetMutableMappedPathByKey().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableMappedPathByKey() { return internalGetMutableMappedPathByKey().getMutableMap(); } /** * map<string, string> mapped_path_by_key = 1; */ public Builder putMappedPathByKey( java.lang.String key, java.lang.String value) { if (key == null) { throw new java.lang.NullPointerException(); } if (value == null) { throw new java.lang.NullPointerException(); } internalGetMutableMappedPathByKey().getMutableMap() .put(key, value); return this; } /** * map<string, string> mapped_path_by_key = 1; */ public Builder putAllMappedPathByKey( java.util.Map values) { internalGetMutableMappedPathByKey().getMutableMap() .putAll(values); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:sonarlint.StorageIndex) } // @@protoc_insertion_point(class_scope:sonarlint.StorageIndex) private static final org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex(); } public static org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public StorageIndex parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new StorageIndex(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public org.sonarsource.sonarlint.core.proto.Sonarlint.StorageIndex getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_StorageStatus_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_StorageStatus_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ServerInfos_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ServerInfos_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_PluginReferences_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_PluginReferences_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_PluginReferences_PluginReference_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_PluginReferences_PluginReference_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_GlobalProperties_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_GlobalProperties_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_GlobalProperties_PropertiesEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_GlobalProperties_PropertiesEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_Rules_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_Rules_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_Rules_RulesByKeyEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_Rules_RulesByKeyEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_Rules_Rule_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_Rules_Rule_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_QProfiles_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_QProfiles_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_QProfiles_QprofilesByKeyEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_QProfiles_QprofilesByKeyEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_QProfiles_DefaultQProfilesByLanguageEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_QProfiles_DefaultQProfilesByLanguageEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_QProfiles_QProfile_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_QProfiles_QProfile_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ActiveRules_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ActiveRules_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ActiveRules_ActiveRulesByKeyEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ActiveRules_ActiveRulesByKeyEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ActiveRules_ActiveRule_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ActiveRules_ActiveRule_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ActiveRules_ActiveRule_ParamsEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ActiveRules_ActiveRule_ParamsEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ServerIssue_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ServerIssue_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ServerIssue_Flow_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ServerIssue_Flow_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ServerIssue_Location_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ServerIssue_Location_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ServerIssue_TextRange_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ServerIssue_TextRange_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ProjectList_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ProjectList_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ProjectList_ProjectsByKeyEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ProjectList_ProjectsByKeyEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ProjectList_Project_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ProjectList_Project_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ProjectConfiguration_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ProjectConfiguration_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ProjectConfiguration_QprofilePerLanguageEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ProjectConfiguration_QprofilePerLanguageEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ProjectConfiguration_PropertiesEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ProjectConfiguration_PropertiesEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ProjectConfiguration_ModulePathByKeyEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ProjectConfiguration_ModulePathByKeyEntry_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_ProjectComponents_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_ProjectComponents_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_Issues_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_Issues_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_Issues_Issue_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_Issues_Issue_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_StorageIndex_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_StorageIndex_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_sonarlint_StorageIndex_MappedPathByKeyEntry_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_sonarlint_StorageIndex_MappedPathByKeyEntry_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; } private static com.google.protobuf.Descriptors.FileDescriptor descriptor; static { java.lang.String[] descriptorData = { "\n\017sonarlint.proto\022\tsonarlint\"b\n\rStorageS" + "tatus\022\027\n\017storage_version\030\001 \001(\t\022\036\n\026sonarl" + "int_core_version\030\002 \001(\t\022\030\n\020update_timesta" + "mp\030\004 \001(\003\":\n\013ServerInfos\022\n\n\002id\030\001 \001(\t\022\017\n\007v" + "ersion\030\002 \001(\t\022\016\n\006status\030\003 \001(\t\"\222\001\n\020PluginR" + "eferences\022>\n\treference\030\001 \003(\0132+.sonarlint" + ".PluginReferences.PluginReference\032>\n\017Plu" + "ginReference\022\013\n\003key\030\001 \001(\t\022\014\n\004hash\030\002 \001(\t\022" + "\020\n\010filename\030\003 \001(\t\"\206\001\n\020GlobalProperties\022?" + "\n\nproperties\030\001 \003(\0132+.sonarlint.GlobalPro" + "perties.PropertiesEntry\0321\n\017PropertiesEnt" + "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\320\002\n\005R" + "ules\0226\n\014rules_by_key\030\001 \003(\0132 .sonarlint.R" + "ules.RulesByKeyEntry\032H\n\017RulesByKeyEntry\022" + "\013\n\003key\030\001 \001(\t\022$\n\005value\030\002 \001(\0132\025.sonarlint." + "Rules.Rule:\0028\001\032\304\001\n\004Rule\022\014\n\004repo\030\001 \001(\t\022\013\n" + "\003key\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\022\020\n\010severity\030\004 \001" + "(\t\022\014\n\004lang\030\005 \001(\t\022\024\n\014internal_key\030\006 \001(\t\022\021" + "\n\thtml_desc\030\007 \001(\t\022\023\n\013is_template\030\010 \001(\010\022\024" + "\n\014template_key\030\t \001(\t\022\021\n\thtml_note\030\n \001(\t\022" + "\014\n\004type\030\013 \001(\t\"\337\003\n\tQProfiles\022@\n\016qprofiles" + "ByKey\030\001 \003(\0132(.sonarlint.QProfiles.Qprofi" + "lesByKeyEntry\022X\n\032defaultQProfilesByLangu" + "age\030\002 \003(\01324.sonarlint.QProfiles.DefaultQ" + "ProfilesByLanguageEntry\032T\n\023QprofilesByKe" + "yEntry\022\013\n\003key\030\001 \001(\t\022,\n\005value\030\002 \001(\0132\035.son" + "arlint.QProfiles.QProfile:\0028\001\032A\n\037Default" + "QProfilesByLanguageEntry\022\013\n\003key\030\001 \001(\t\022\r\n" + "\005value\030\002 \001(\t:\0028\001\032\234\001\n\010QProfile\022\013\n\003key\030\001 \001" + "(\t\022\014\n\004name\030\002 \001(\t\022\020\n\010language\030\003 \001(\t\022\025\n\rla" + "nguage_name\030\004 \001(\t\022\031\n\021active_rule_count\030\005" + " \001(\003\022\030\n\020rules_updated_at\030\006 \001(\t\022\027\n\017user_u" + "pdated_at\030\007 \001(\t\"\336\002\n\013ActiveRules\022I\n\023activ" + "e_rules_by_key\030\001 \003(\0132,.sonarlint.ActiveR" + "ules.ActiveRulesByKeyEntry\032Z\n\025ActiveRule" + "sByKeyEntry\022\013\n\003key\030\001 \001(\t\0220\n\005value\030\002 \001(\0132" + "!.sonarlint.ActiveRules.ActiveRule:\0028\001\032\247" + "\001\n\nActiveRule\022\014\n\004repo\030\001 \001(\t\022\013\n\003key\030\002 \001(\t" + "\022\020\n\010severity\030\003 \001(\t\022=\n\006params\030\004 \003(\0132-.son" + "arlint.ActiveRules.ActiveRule.ParamsEntr" + "y\032-\n\013ParamsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" + " \001(\t:\0028\001\"\306\004\n\013ServerIssue\022\027\n\017rule_reposit" + "ory\030\003 \001(\t\022\020\n\010rule_key\030\004 \001(\t\022\020\n\010severity\030" + "\007 \001(\t\022\022\n\nresolution\030\t \001(\t\022\016\n\006status\030\n \001(" + "\t\022\021\n\tline_hash\030\013 \001(\t\022\026\n\016assignee_login\030\014" + " \001(\t\022\025\n\rcreation_date\030\r \001(\003\022\014\n\004type\030\016 \001(" + "\t\022\013\n\003key\030\017 \001(\t\0229\n\020primary_location\030\020 \001(\013" + "2\037.sonarlint.ServerIssue.Location\022)\n\004flo" + "w\030\021 \003(\0132\033.sonarlint.ServerIssue.Flow\0329\n\004" + "Flow\0221\n\010location\030\001 \003(\0132\037.sonarlint.Serve" + "rIssue.Location\032q\n\010Location\022\014\n\004path\030\001 \001(" + "\t\022\013\n\003msg\030\002 \001(\t\0224\n\ntext_range\030\003 \001(\0132 .son" + "arlint.ServerIssue.TextRange\022\024\n\014code_sni" + "ppet\030\004 \001(\t\032e\n\tTextRange\022\022\n\nstart_line\030\001 " + "\001(\005\022\031\n\021start_line_offset\030\002 \001(\005\022\020\n\010end_li" + "ne\030\003 \001(\005\022\027\n\017end_line_offset\030\004 \001(\005\"\315\001\n\013Pr" + "ojectList\022B\n\017projects_by_key\030\001 \003(\0132).son" + "arlint.ProjectList.ProjectsByKeyEntry\032T\n" + "\022ProjectsByKeyEntry\022\013\n\003key\030\001 \001(\t\022-\n\005valu" + "e\030\002 \001(\0132\036.sonarlint.ProjectList.Project:" + "\0028\001\032$\n\007Project\022\013\n\003key\030\001 \001(\t\022\014\n\004name\030\002 \001(" + "\t\"\255\003\n\024ProjectConfiguration\022W\n\025qprofile_p" + "er_language\030\001 \003(\01328.sonarlint.ProjectCon" + "figuration.QprofilePerLanguageEntry\022C\n\np" + "roperties\030\002 \003(\0132/.sonarlint.ProjectConfi" + "guration.PropertiesEntry\022P\n\022module_path_" + "by_key\030\003 \003(\01324.sonarlint.ProjectConfigur" + "ation.ModulePathByKeyEntry\032:\n\030QprofilePe" + "rLanguageEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001" + "(\t:\0028\001\0321\n\017PropertiesEntry\022\013\n\003key\030\001 \001(\t\022\r" + "\n\005value\030\002 \001(\t:\0028\001\0326\n\024ModulePathByKeyEntr" + "y\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"&\n\021Pro" + "jectComponents\022\021\n\tcomponent\030\001 \003(\t\"\316\001\n\006Is" + "sues\022&\n\005issue\030\001 \003(\0132\027.sonarlint.Issues.I" + "ssue\032\233\001\n\005Issue\022\026\n\016serverIssueKey\030\001 \001(\t\022\017" + "\n\007ruleKey\030\002 \001(\t\022\014\n\004line\030\003 \001(\005\022\017\n\007message" + "\030\004 \001(\t\022\020\n\010checksum\030\005 \001(\005\022\020\n\010assignee\030\006 \001" + "(\t\022\024\n\014creationDate\030\007 \001(\003\022\020\n\010resolved\030\010 \001" + "(\010\"\220\001\n\014StorageIndex\022H\n\022mapped_path_by_ke" + "y\030\001 \003(\0132,.sonarlint.StorageIndex.MappedP" + "athByKeyEntry\0326\n\024MappedPathByKeyEntry\022\013\n" + "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001B(\n$org.son" + "arsource.sonarlint.core.protoH\001b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { }); internal_static_sonarlint_StorageStatus_descriptor = getDescriptor().getMessageTypes().get(0); internal_static_sonarlint_StorageStatus_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_StorageStatus_descriptor, new java.lang.String[] { "StorageVersion", "SonarlintCoreVersion", "UpdateTimestamp", }); internal_static_sonarlint_ServerInfos_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_sonarlint_ServerInfos_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ServerInfos_descriptor, new java.lang.String[] { "Id", "Version", "Status", }); internal_static_sonarlint_PluginReferences_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_sonarlint_PluginReferences_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_PluginReferences_descriptor, new java.lang.String[] { "Reference", }); internal_static_sonarlint_PluginReferences_PluginReference_descriptor = internal_static_sonarlint_PluginReferences_descriptor.getNestedTypes().get(0); internal_static_sonarlint_PluginReferences_PluginReference_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_PluginReferences_PluginReference_descriptor, new java.lang.String[] { "Key", "Hash", "Filename", }); internal_static_sonarlint_GlobalProperties_descriptor = getDescriptor().getMessageTypes().get(3); internal_static_sonarlint_GlobalProperties_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_GlobalProperties_descriptor, new java.lang.String[] { "Properties", }); internal_static_sonarlint_GlobalProperties_PropertiesEntry_descriptor = internal_static_sonarlint_GlobalProperties_descriptor.getNestedTypes().get(0); internal_static_sonarlint_GlobalProperties_PropertiesEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_GlobalProperties_PropertiesEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_Rules_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_sonarlint_Rules_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_Rules_descriptor, new java.lang.String[] { "RulesByKey", }); internal_static_sonarlint_Rules_RulesByKeyEntry_descriptor = internal_static_sonarlint_Rules_descriptor.getNestedTypes().get(0); internal_static_sonarlint_Rules_RulesByKeyEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_Rules_RulesByKeyEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_Rules_Rule_descriptor = internal_static_sonarlint_Rules_descriptor.getNestedTypes().get(1); internal_static_sonarlint_Rules_Rule_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_Rules_Rule_descriptor, new java.lang.String[] { "Repo", "Key", "Name", "Severity", "Lang", "InternalKey", "HtmlDesc", "IsTemplate", "TemplateKey", "HtmlNote", "Type", }); internal_static_sonarlint_QProfiles_descriptor = getDescriptor().getMessageTypes().get(5); internal_static_sonarlint_QProfiles_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_QProfiles_descriptor, new java.lang.String[] { "QprofilesByKey", "DefaultQProfilesByLanguage", }); internal_static_sonarlint_QProfiles_QprofilesByKeyEntry_descriptor = internal_static_sonarlint_QProfiles_descriptor.getNestedTypes().get(0); internal_static_sonarlint_QProfiles_QprofilesByKeyEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_QProfiles_QprofilesByKeyEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_QProfiles_DefaultQProfilesByLanguageEntry_descriptor = internal_static_sonarlint_QProfiles_descriptor.getNestedTypes().get(1); internal_static_sonarlint_QProfiles_DefaultQProfilesByLanguageEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_QProfiles_DefaultQProfilesByLanguageEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_QProfiles_QProfile_descriptor = internal_static_sonarlint_QProfiles_descriptor.getNestedTypes().get(2); internal_static_sonarlint_QProfiles_QProfile_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_QProfiles_QProfile_descriptor, new java.lang.String[] { "Key", "Name", "Language", "LanguageName", "ActiveRuleCount", "RulesUpdatedAt", "UserUpdatedAt", }); internal_static_sonarlint_ActiveRules_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_sonarlint_ActiveRules_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ActiveRules_descriptor, new java.lang.String[] { "ActiveRulesByKey", }); internal_static_sonarlint_ActiveRules_ActiveRulesByKeyEntry_descriptor = internal_static_sonarlint_ActiveRules_descriptor.getNestedTypes().get(0); internal_static_sonarlint_ActiveRules_ActiveRulesByKeyEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ActiveRules_ActiveRulesByKeyEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_ActiveRules_ActiveRule_descriptor = internal_static_sonarlint_ActiveRules_descriptor.getNestedTypes().get(1); internal_static_sonarlint_ActiveRules_ActiveRule_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ActiveRules_ActiveRule_descriptor, new java.lang.String[] { "Repo", "Key", "Severity", "Params", }); internal_static_sonarlint_ActiveRules_ActiveRule_ParamsEntry_descriptor = internal_static_sonarlint_ActiveRules_ActiveRule_descriptor.getNestedTypes().get(0); internal_static_sonarlint_ActiveRules_ActiveRule_ParamsEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ActiveRules_ActiveRule_ParamsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_ServerIssue_descriptor = getDescriptor().getMessageTypes().get(7); internal_static_sonarlint_ServerIssue_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ServerIssue_descriptor, new java.lang.String[] { "RuleRepository", "RuleKey", "Severity", "Resolution", "Status", "LineHash", "AssigneeLogin", "CreationDate", "Type", "Key", "PrimaryLocation", "Flow", }); internal_static_sonarlint_ServerIssue_Flow_descriptor = internal_static_sonarlint_ServerIssue_descriptor.getNestedTypes().get(0); internal_static_sonarlint_ServerIssue_Flow_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ServerIssue_Flow_descriptor, new java.lang.String[] { "Location", }); internal_static_sonarlint_ServerIssue_Location_descriptor = internal_static_sonarlint_ServerIssue_descriptor.getNestedTypes().get(1); internal_static_sonarlint_ServerIssue_Location_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ServerIssue_Location_descriptor, new java.lang.String[] { "Path", "Msg", "TextRange", "CodeSnippet", }); internal_static_sonarlint_ServerIssue_TextRange_descriptor = internal_static_sonarlint_ServerIssue_descriptor.getNestedTypes().get(2); internal_static_sonarlint_ServerIssue_TextRange_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ServerIssue_TextRange_descriptor, new java.lang.String[] { "StartLine", "StartLineOffset", "EndLine", "EndLineOffset", }); internal_static_sonarlint_ProjectList_descriptor = getDescriptor().getMessageTypes().get(8); internal_static_sonarlint_ProjectList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ProjectList_descriptor, new java.lang.String[] { "ProjectsByKey", }); internal_static_sonarlint_ProjectList_ProjectsByKeyEntry_descriptor = internal_static_sonarlint_ProjectList_descriptor.getNestedTypes().get(0); internal_static_sonarlint_ProjectList_ProjectsByKeyEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ProjectList_ProjectsByKeyEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_ProjectList_Project_descriptor = internal_static_sonarlint_ProjectList_descriptor.getNestedTypes().get(1); internal_static_sonarlint_ProjectList_Project_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ProjectList_Project_descriptor, new java.lang.String[] { "Key", "Name", }); internal_static_sonarlint_ProjectConfiguration_descriptor = getDescriptor().getMessageTypes().get(9); internal_static_sonarlint_ProjectConfiguration_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ProjectConfiguration_descriptor, new java.lang.String[] { "QprofilePerLanguage", "Properties", "ModulePathByKey", }); internal_static_sonarlint_ProjectConfiguration_QprofilePerLanguageEntry_descriptor = internal_static_sonarlint_ProjectConfiguration_descriptor.getNestedTypes().get(0); internal_static_sonarlint_ProjectConfiguration_QprofilePerLanguageEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ProjectConfiguration_QprofilePerLanguageEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_ProjectConfiguration_PropertiesEntry_descriptor = internal_static_sonarlint_ProjectConfiguration_descriptor.getNestedTypes().get(1); internal_static_sonarlint_ProjectConfiguration_PropertiesEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ProjectConfiguration_PropertiesEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_ProjectConfiguration_ModulePathByKeyEntry_descriptor = internal_static_sonarlint_ProjectConfiguration_descriptor.getNestedTypes().get(2); internal_static_sonarlint_ProjectConfiguration_ModulePathByKeyEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ProjectConfiguration_ModulePathByKeyEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_sonarlint_ProjectComponents_descriptor = getDescriptor().getMessageTypes().get(10); internal_static_sonarlint_ProjectComponents_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_ProjectComponents_descriptor, new java.lang.String[] { "Component", }); internal_static_sonarlint_Issues_descriptor = getDescriptor().getMessageTypes().get(11); internal_static_sonarlint_Issues_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_Issues_descriptor, new java.lang.String[] { "Issue", }); internal_static_sonarlint_Issues_Issue_descriptor = internal_static_sonarlint_Issues_descriptor.getNestedTypes().get(0); internal_static_sonarlint_Issues_Issue_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_Issues_Issue_descriptor, new java.lang.String[] { "ServerIssueKey", "RuleKey", "Line", "Message", "Checksum", "Assignee", "CreationDate", "Resolved", }); internal_static_sonarlint_StorageIndex_descriptor = getDescriptor().getMessageTypes().get(12); internal_static_sonarlint_StorageIndex_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_StorageIndex_descriptor, new java.lang.String[] { "MappedPathByKey", }); internal_static_sonarlint_StorageIndex_MappedPathByKeyEntry_descriptor = internal_static_sonarlint_StorageIndex_descriptor.getNestedTypes().get(0); internal_static_sonarlint_StorageIndex_MappedPathByKeyEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_sonarlint_StorageIndex_MappedPathByKeyEntry_descriptor, new java.lang.String[] { "Key", "Value", }); } // @@protoc_insertion_point(outer_class_scope) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy