001// Generated by the protocol buffer compiler.  DO NOT EDIT!
002// source: ws-permissions.proto
003
004package org.sonarqube.ws;
005
006public final class WsPermissions {
007  private WsPermissions() {}
008  public static void registerAllExtensions(
009      com.google.protobuf.ExtensionRegistry registry) {
010  }
011  public interface OldUsersWsResponseOrBuilder extends
012      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.OldUsersWsResponse)
013      com.google.protobuf.MessageOrBuilder {
014
015    /**
016     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
017     */
018    boolean hasPaging();
019    /**
020     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
021     */
022    org.sonarqube.ws.Common.Paging getPaging();
023    /**
024     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
025     */
026    org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder();
027
028    /**
029     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
030     */
031    java.util.List<org.sonarqube.ws.WsPermissions.OldUser> 
032        getUsersList();
033    /**
034     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
035     */
036    org.sonarqube.ws.WsPermissions.OldUser getUsers(int index);
037    /**
038     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
039     */
040    int getUsersCount();
041    /**
042     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
043     */
044    java.util.List<? extends org.sonarqube.ws.WsPermissions.OldUserOrBuilder> 
045        getUsersOrBuilderList();
046    /**
047     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
048     */
049    org.sonarqube.ws.WsPermissions.OldUserOrBuilder getUsersOrBuilder(
050        int index);
051  }
052  /**
053   * Protobuf type {@code sonarqube.ws.permissions.OldUsersWsResponse}
054   *
055   * <pre>
056   * WS api/permissions/template_users for internal use only
057   * </pre>
058   */
059  public  static final class OldUsersWsResponse extends
060      com.google.protobuf.GeneratedMessage implements
061      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.OldUsersWsResponse)
062      OldUsersWsResponseOrBuilder {
063    // Use OldUsersWsResponse.newBuilder() to construct.
064    private OldUsersWsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
065      super(builder);
066    }
067    private OldUsersWsResponse() {
068      users_ = java.util.Collections.emptyList();
069    }
070
071    @java.lang.Override
072    public final com.google.protobuf.UnknownFieldSet
073    getUnknownFields() {
074      return this.unknownFields;
075    }
076    private OldUsersWsResponse(
077        com.google.protobuf.CodedInputStream input,
078        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
079      this();
080      int mutable_bitField0_ = 0;
081      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
082          com.google.protobuf.UnknownFieldSet.newBuilder();
083      try {
084        boolean done = false;
085        while (!done) {
086          int tag = input.readTag();
087          switch (tag) {
088            case 0:
089              done = true;
090              break;
091            default: {
092              if (!parseUnknownField(input, unknownFields,
093                                     extensionRegistry, tag)) {
094                done = true;
095              }
096              break;
097            }
098            case 10: {
099              org.sonarqube.ws.Common.Paging.Builder subBuilder = null;
100              if (((bitField0_ & 0x00000001) == 0x00000001)) {
101                subBuilder = paging_.toBuilder();
102              }
103              paging_ = input.readMessage(org.sonarqube.ws.Common.Paging.parser(), extensionRegistry);
104              if (subBuilder != null) {
105                subBuilder.mergeFrom(paging_);
106                paging_ = subBuilder.buildPartial();
107              }
108              bitField0_ |= 0x00000001;
109              break;
110            }
111            case 18: {
112              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
113                users_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.OldUser>();
114                mutable_bitField0_ |= 0x00000002;
115              }
116              users_.add(input.readMessage(org.sonarqube.ws.WsPermissions.OldUser.parser(), extensionRegistry));
117              break;
118            }
119          }
120        }
121      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
122        throw new RuntimeException(e.setUnfinishedMessage(this));
123      } catch (java.io.IOException e) {
124        throw new RuntimeException(
125            new com.google.protobuf.InvalidProtocolBufferException(
126                e.getMessage()).setUnfinishedMessage(this));
127      } finally {
128        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
129          users_ = java.util.Collections.unmodifiableList(users_);
130        }
131        this.unknownFields = unknownFields.build();
132        makeExtensionsImmutable();
133      }
134    }
135    public static final com.google.protobuf.Descriptors.Descriptor
136        getDescriptor() {
137      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUsersWsResponse_descriptor;
138    }
139
140    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
141        internalGetFieldAccessorTable() {
142      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUsersWsResponse_fieldAccessorTable
143          .ensureFieldAccessorsInitialized(
144              org.sonarqube.ws.WsPermissions.OldUsersWsResponse.class, org.sonarqube.ws.WsPermissions.OldUsersWsResponse.Builder.class);
145    }
146
147    private int bitField0_;
148    public static final int PAGING_FIELD_NUMBER = 1;
149    private org.sonarqube.ws.Common.Paging paging_;
150    /**
151     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
152     */
153    public boolean hasPaging() {
154      return ((bitField0_ & 0x00000001) == 0x00000001);
155    }
156    /**
157     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
158     */
159    public org.sonarqube.ws.Common.Paging getPaging() {
160      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
161    }
162    /**
163     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
164     */
165    public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
166      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
167    }
168
169    public static final int USERS_FIELD_NUMBER = 2;
170    private java.util.List<org.sonarqube.ws.WsPermissions.OldUser> users_;
171    /**
172     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
173     */
174    public java.util.List<org.sonarqube.ws.WsPermissions.OldUser> getUsersList() {
175      return users_;
176    }
177    /**
178     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
179     */
180    public java.util.List<? extends org.sonarqube.ws.WsPermissions.OldUserOrBuilder> 
181        getUsersOrBuilderList() {
182      return users_;
183    }
184    /**
185     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
186     */
187    public int getUsersCount() {
188      return users_.size();
189    }
190    /**
191     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
192     */
193    public org.sonarqube.ws.WsPermissions.OldUser getUsers(int index) {
194      return users_.get(index);
195    }
196    /**
197     * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
198     */
199    public org.sonarqube.ws.WsPermissions.OldUserOrBuilder getUsersOrBuilder(
200        int index) {
201      return users_.get(index);
202    }
203
204    private byte memoizedIsInitialized = -1;
205    public final boolean isInitialized() {
206      byte isInitialized = memoizedIsInitialized;
207      if (isInitialized == 1) return true;
208      if (isInitialized == 0) return false;
209
210      memoizedIsInitialized = 1;
211      return true;
212    }
213
214    public void writeTo(com.google.protobuf.CodedOutputStream output)
215                        throws java.io.IOException {
216      if (((bitField0_ & 0x00000001) == 0x00000001)) {
217        output.writeMessage(1, getPaging());
218      }
219      for (int i = 0; i < users_.size(); i++) {
220        output.writeMessage(2, users_.get(i));
221      }
222      unknownFields.writeTo(output);
223    }
224
225    public int getSerializedSize() {
226      int size = memoizedSize;
227      if (size != -1) return size;
228
229      size = 0;
230      if (((bitField0_ & 0x00000001) == 0x00000001)) {
231        size += com.google.protobuf.CodedOutputStream
232          .computeMessageSize(1, getPaging());
233      }
234      for (int i = 0; i < users_.size(); i++) {
235        size += com.google.protobuf.CodedOutputStream
236          .computeMessageSize(2, users_.get(i));
237      }
238      size += unknownFields.getSerializedSize();
239      memoizedSize = size;
240      return size;
241    }
242
243    private static final long serialVersionUID = 0L;
244    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseFrom(
245        com.google.protobuf.ByteString data)
246        throws com.google.protobuf.InvalidProtocolBufferException {
247      return PARSER.parseFrom(data);
248    }
249    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseFrom(
250        com.google.protobuf.ByteString data,
251        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
252        throws com.google.protobuf.InvalidProtocolBufferException {
253      return PARSER.parseFrom(data, extensionRegistry);
254    }
255    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseFrom(byte[] data)
256        throws com.google.protobuf.InvalidProtocolBufferException {
257      return PARSER.parseFrom(data);
258    }
259    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseFrom(
260        byte[] data,
261        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
262        throws com.google.protobuf.InvalidProtocolBufferException {
263      return PARSER.parseFrom(data, extensionRegistry);
264    }
265    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseFrom(java.io.InputStream input)
266        throws java.io.IOException {
267      return PARSER.parseFrom(input);
268    }
269    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseFrom(
270        java.io.InputStream input,
271        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
272        throws java.io.IOException {
273      return PARSER.parseFrom(input, extensionRegistry);
274    }
275    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseDelimitedFrom(java.io.InputStream input)
276        throws java.io.IOException {
277      return PARSER.parseDelimitedFrom(input);
278    }
279    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseDelimitedFrom(
280        java.io.InputStream input,
281        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
282        throws java.io.IOException {
283      return PARSER.parseDelimitedFrom(input, extensionRegistry);
284    }
285    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseFrom(
286        com.google.protobuf.CodedInputStream input)
287        throws java.io.IOException {
288      return PARSER.parseFrom(input);
289    }
290    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse parseFrom(
291        com.google.protobuf.CodedInputStream input,
292        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
293        throws java.io.IOException {
294      return PARSER.parseFrom(input, extensionRegistry);
295    }
296
297    public Builder newBuilderForType() { return newBuilder(); }
298    public static Builder newBuilder() {
299      return DEFAULT_INSTANCE.toBuilder();
300    }
301    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.OldUsersWsResponse prototype) {
302      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
303    }
304    public Builder toBuilder() {
305      return this == DEFAULT_INSTANCE
306          ? new Builder() : new Builder().mergeFrom(this);
307    }
308
309    @java.lang.Override
310    protected Builder newBuilderForType(
311        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
312      Builder builder = new Builder(parent);
313      return builder;
314    }
315    /**
316     * Protobuf type {@code sonarqube.ws.permissions.OldUsersWsResponse}
317     *
318     * <pre>
319     * WS api/permissions/template_users for internal use only
320     * </pre>
321     */
322    public static final class Builder extends
323        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
324        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.OldUsersWsResponse)
325        org.sonarqube.ws.WsPermissions.OldUsersWsResponseOrBuilder {
326      public static final com.google.protobuf.Descriptors.Descriptor
327          getDescriptor() {
328        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUsersWsResponse_descriptor;
329      }
330
331      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
332          internalGetFieldAccessorTable() {
333        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUsersWsResponse_fieldAccessorTable
334            .ensureFieldAccessorsInitialized(
335                org.sonarqube.ws.WsPermissions.OldUsersWsResponse.class, org.sonarqube.ws.WsPermissions.OldUsersWsResponse.Builder.class);
336      }
337
338      // Construct using org.sonarqube.ws.WsPermissions.OldUsersWsResponse.newBuilder()
339      private Builder() {
340        maybeForceBuilderInitialization();
341      }
342
343      private Builder(
344          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
345        super(parent);
346        maybeForceBuilderInitialization();
347      }
348      private void maybeForceBuilderInitialization() {
349        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
350          getPagingFieldBuilder();
351          getUsersFieldBuilder();
352        }
353      }
354      public Builder clear() {
355        super.clear();
356        if (pagingBuilder_ == null) {
357          paging_ = null;
358        } else {
359          pagingBuilder_.clear();
360        }
361        bitField0_ = (bitField0_ & ~0x00000001);
362        if (usersBuilder_ == null) {
363          users_ = java.util.Collections.emptyList();
364          bitField0_ = (bitField0_ & ~0x00000002);
365        } else {
366          usersBuilder_.clear();
367        }
368        return this;
369      }
370
371      public com.google.protobuf.Descriptors.Descriptor
372          getDescriptorForType() {
373        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUsersWsResponse_descriptor;
374      }
375
376      public org.sonarqube.ws.WsPermissions.OldUsersWsResponse getDefaultInstanceForType() {
377        return org.sonarqube.ws.WsPermissions.OldUsersWsResponse.getDefaultInstance();
378      }
379
380      public org.sonarqube.ws.WsPermissions.OldUsersWsResponse build() {
381        org.sonarqube.ws.WsPermissions.OldUsersWsResponse result = buildPartial();
382        if (!result.isInitialized()) {
383          throw newUninitializedMessageException(result);
384        }
385        return result;
386      }
387
388      public org.sonarqube.ws.WsPermissions.OldUsersWsResponse buildPartial() {
389        org.sonarqube.ws.WsPermissions.OldUsersWsResponse result = new org.sonarqube.ws.WsPermissions.OldUsersWsResponse(this);
390        int from_bitField0_ = bitField0_;
391        int to_bitField0_ = 0;
392        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
393          to_bitField0_ |= 0x00000001;
394        }
395        if (pagingBuilder_ == null) {
396          result.paging_ = paging_;
397        } else {
398          result.paging_ = pagingBuilder_.build();
399        }
400        if (usersBuilder_ == null) {
401          if (((bitField0_ & 0x00000002) == 0x00000002)) {
402            users_ = java.util.Collections.unmodifiableList(users_);
403            bitField0_ = (bitField0_ & ~0x00000002);
404          }
405          result.users_ = users_;
406        } else {
407          result.users_ = usersBuilder_.build();
408        }
409        result.bitField0_ = to_bitField0_;
410        onBuilt();
411        return result;
412      }
413
414      public Builder mergeFrom(com.google.protobuf.Message other) {
415        if (other instanceof org.sonarqube.ws.WsPermissions.OldUsersWsResponse) {
416          return mergeFrom((org.sonarqube.ws.WsPermissions.OldUsersWsResponse)other);
417        } else {
418          super.mergeFrom(other);
419          return this;
420        }
421      }
422
423      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.OldUsersWsResponse other) {
424        if (other == org.sonarqube.ws.WsPermissions.OldUsersWsResponse.getDefaultInstance()) return this;
425        if (other.hasPaging()) {
426          mergePaging(other.getPaging());
427        }
428        if (usersBuilder_ == null) {
429          if (!other.users_.isEmpty()) {
430            if (users_.isEmpty()) {
431              users_ = other.users_;
432              bitField0_ = (bitField0_ & ~0x00000002);
433            } else {
434              ensureUsersIsMutable();
435              users_.addAll(other.users_);
436            }
437            onChanged();
438          }
439        } else {
440          if (!other.users_.isEmpty()) {
441            if (usersBuilder_.isEmpty()) {
442              usersBuilder_.dispose();
443              usersBuilder_ = null;
444              users_ = other.users_;
445              bitField0_ = (bitField0_ & ~0x00000002);
446              usersBuilder_ = 
447                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
448                   getUsersFieldBuilder() : null;
449            } else {
450              usersBuilder_.addAllMessages(other.users_);
451            }
452          }
453        }
454        this.mergeUnknownFields(other.unknownFields);
455        onChanged();
456        return this;
457      }
458
459      public final boolean isInitialized() {
460        return true;
461      }
462
463      public Builder mergeFrom(
464          com.google.protobuf.CodedInputStream input,
465          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
466          throws java.io.IOException {
467        org.sonarqube.ws.WsPermissions.OldUsersWsResponse parsedMessage = null;
468        try {
469          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
470        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
471          parsedMessage = (org.sonarqube.ws.WsPermissions.OldUsersWsResponse) e.getUnfinishedMessage();
472          throw e;
473        } finally {
474          if (parsedMessage != null) {
475            mergeFrom(parsedMessage);
476          }
477        }
478        return this;
479      }
480      private int bitField0_;
481
482      private org.sonarqube.ws.Common.Paging paging_ = null;
483      private com.google.protobuf.SingleFieldBuilder<
484          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> pagingBuilder_;
485      /**
486       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
487       */
488      public boolean hasPaging() {
489        return ((bitField0_ & 0x00000001) == 0x00000001);
490      }
491      /**
492       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
493       */
494      public org.sonarqube.ws.Common.Paging getPaging() {
495        if (pagingBuilder_ == null) {
496          return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
497        } else {
498          return pagingBuilder_.getMessage();
499        }
500      }
501      /**
502       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
503       */
504      public Builder setPaging(org.sonarqube.ws.Common.Paging value) {
505        if (pagingBuilder_ == null) {
506          if (value == null) {
507            throw new NullPointerException();
508          }
509          paging_ = value;
510          onChanged();
511        } else {
512          pagingBuilder_.setMessage(value);
513        }
514        bitField0_ |= 0x00000001;
515        return this;
516      }
517      /**
518       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
519       */
520      public Builder setPaging(
521          org.sonarqube.ws.Common.Paging.Builder builderForValue) {
522        if (pagingBuilder_ == null) {
523          paging_ = builderForValue.build();
524          onChanged();
525        } else {
526          pagingBuilder_.setMessage(builderForValue.build());
527        }
528        bitField0_ |= 0x00000001;
529        return this;
530      }
531      /**
532       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
533       */
534      public Builder mergePaging(org.sonarqube.ws.Common.Paging value) {
535        if (pagingBuilder_ == null) {
536          if (((bitField0_ & 0x00000001) == 0x00000001) &&
537              paging_ != null &&
538              paging_ != org.sonarqube.ws.Common.Paging.getDefaultInstance()) {
539            paging_ =
540              org.sonarqube.ws.Common.Paging.newBuilder(paging_).mergeFrom(value).buildPartial();
541          } else {
542            paging_ = value;
543          }
544          onChanged();
545        } else {
546          pagingBuilder_.mergeFrom(value);
547        }
548        bitField0_ |= 0x00000001;
549        return this;
550      }
551      /**
552       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
553       */
554      public Builder clearPaging() {
555        if (pagingBuilder_ == null) {
556          paging_ = null;
557          onChanged();
558        } else {
559          pagingBuilder_.clear();
560        }
561        bitField0_ = (bitField0_ & ~0x00000001);
562        return this;
563      }
564      /**
565       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
566       */
567      public org.sonarqube.ws.Common.Paging.Builder getPagingBuilder() {
568        bitField0_ |= 0x00000001;
569        onChanged();
570        return getPagingFieldBuilder().getBuilder();
571      }
572      /**
573       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
574       */
575      public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
576        if (pagingBuilder_ != null) {
577          return pagingBuilder_.getMessageOrBuilder();
578        } else {
579          return paging_ == null ?
580              org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
581        }
582      }
583      /**
584       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
585       */
586      private com.google.protobuf.SingleFieldBuilder<
587          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> 
588          getPagingFieldBuilder() {
589        if (pagingBuilder_ == null) {
590          pagingBuilder_ = new com.google.protobuf.SingleFieldBuilder<
591              org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder>(
592                  getPaging(),
593                  getParentForChildren(),
594                  isClean());
595          paging_ = null;
596        }
597        return pagingBuilder_;
598      }
599
600      private java.util.List<org.sonarqube.ws.WsPermissions.OldUser> users_ =
601        java.util.Collections.emptyList();
602      private void ensureUsersIsMutable() {
603        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
604          users_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.OldUser>(users_);
605          bitField0_ |= 0x00000002;
606         }
607      }
608
609      private com.google.protobuf.RepeatedFieldBuilder<
610          org.sonarqube.ws.WsPermissions.OldUser, org.sonarqube.ws.WsPermissions.OldUser.Builder, org.sonarqube.ws.WsPermissions.OldUserOrBuilder> usersBuilder_;
611
612      /**
613       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
614       */
615      public java.util.List<org.sonarqube.ws.WsPermissions.OldUser> getUsersList() {
616        if (usersBuilder_ == null) {
617          return java.util.Collections.unmodifiableList(users_);
618        } else {
619          return usersBuilder_.getMessageList();
620        }
621      }
622      /**
623       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
624       */
625      public int getUsersCount() {
626        if (usersBuilder_ == null) {
627          return users_.size();
628        } else {
629          return usersBuilder_.getCount();
630        }
631      }
632      /**
633       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
634       */
635      public org.sonarqube.ws.WsPermissions.OldUser getUsers(int index) {
636        if (usersBuilder_ == null) {
637          return users_.get(index);
638        } else {
639          return usersBuilder_.getMessage(index);
640        }
641      }
642      /**
643       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
644       */
645      public Builder setUsers(
646          int index, org.sonarqube.ws.WsPermissions.OldUser value) {
647        if (usersBuilder_ == null) {
648          if (value == null) {
649            throw new NullPointerException();
650          }
651          ensureUsersIsMutable();
652          users_.set(index, value);
653          onChanged();
654        } else {
655          usersBuilder_.setMessage(index, value);
656        }
657        return this;
658      }
659      /**
660       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
661       */
662      public Builder setUsers(
663          int index, org.sonarqube.ws.WsPermissions.OldUser.Builder builderForValue) {
664        if (usersBuilder_ == null) {
665          ensureUsersIsMutable();
666          users_.set(index, builderForValue.build());
667          onChanged();
668        } else {
669          usersBuilder_.setMessage(index, builderForValue.build());
670        }
671        return this;
672      }
673      /**
674       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
675       */
676      public Builder addUsers(org.sonarqube.ws.WsPermissions.OldUser value) {
677        if (usersBuilder_ == null) {
678          if (value == null) {
679            throw new NullPointerException();
680          }
681          ensureUsersIsMutable();
682          users_.add(value);
683          onChanged();
684        } else {
685          usersBuilder_.addMessage(value);
686        }
687        return this;
688      }
689      /**
690       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
691       */
692      public Builder addUsers(
693          int index, org.sonarqube.ws.WsPermissions.OldUser value) {
694        if (usersBuilder_ == null) {
695          if (value == null) {
696            throw new NullPointerException();
697          }
698          ensureUsersIsMutable();
699          users_.add(index, value);
700          onChanged();
701        } else {
702          usersBuilder_.addMessage(index, value);
703        }
704        return this;
705      }
706      /**
707       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
708       */
709      public Builder addUsers(
710          org.sonarqube.ws.WsPermissions.OldUser.Builder builderForValue) {
711        if (usersBuilder_ == null) {
712          ensureUsersIsMutable();
713          users_.add(builderForValue.build());
714          onChanged();
715        } else {
716          usersBuilder_.addMessage(builderForValue.build());
717        }
718        return this;
719      }
720      /**
721       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
722       */
723      public Builder addUsers(
724          int index, org.sonarqube.ws.WsPermissions.OldUser.Builder builderForValue) {
725        if (usersBuilder_ == null) {
726          ensureUsersIsMutable();
727          users_.add(index, builderForValue.build());
728          onChanged();
729        } else {
730          usersBuilder_.addMessage(index, builderForValue.build());
731        }
732        return this;
733      }
734      /**
735       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
736       */
737      public Builder addAllUsers(
738          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.OldUser> values) {
739        if (usersBuilder_ == null) {
740          ensureUsersIsMutable();
741          com.google.protobuf.AbstractMessageLite.Builder.addAll(
742              values, users_);
743          onChanged();
744        } else {
745          usersBuilder_.addAllMessages(values);
746        }
747        return this;
748      }
749      /**
750       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
751       */
752      public Builder clearUsers() {
753        if (usersBuilder_ == null) {
754          users_ = java.util.Collections.emptyList();
755          bitField0_ = (bitField0_ & ~0x00000002);
756          onChanged();
757        } else {
758          usersBuilder_.clear();
759        }
760        return this;
761      }
762      /**
763       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
764       */
765      public Builder removeUsers(int index) {
766        if (usersBuilder_ == null) {
767          ensureUsersIsMutable();
768          users_.remove(index);
769          onChanged();
770        } else {
771          usersBuilder_.remove(index);
772        }
773        return this;
774      }
775      /**
776       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
777       */
778      public org.sonarqube.ws.WsPermissions.OldUser.Builder getUsersBuilder(
779          int index) {
780        return getUsersFieldBuilder().getBuilder(index);
781      }
782      /**
783       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
784       */
785      public org.sonarqube.ws.WsPermissions.OldUserOrBuilder getUsersOrBuilder(
786          int index) {
787        if (usersBuilder_ == null) {
788          return users_.get(index);  } else {
789          return usersBuilder_.getMessageOrBuilder(index);
790        }
791      }
792      /**
793       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
794       */
795      public java.util.List<? extends org.sonarqube.ws.WsPermissions.OldUserOrBuilder> 
796           getUsersOrBuilderList() {
797        if (usersBuilder_ != null) {
798          return usersBuilder_.getMessageOrBuilderList();
799        } else {
800          return java.util.Collections.unmodifiableList(users_);
801        }
802      }
803      /**
804       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
805       */
806      public org.sonarqube.ws.WsPermissions.OldUser.Builder addUsersBuilder() {
807        return getUsersFieldBuilder().addBuilder(
808            org.sonarqube.ws.WsPermissions.OldUser.getDefaultInstance());
809      }
810      /**
811       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
812       */
813      public org.sonarqube.ws.WsPermissions.OldUser.Builder addUsersBuilder(
814          int index) {
815        return getUsersFieldBuilder().addBuilder(
816            index, org.sonarqube.ws.WsPermissions.OldUser.getDefaultInstance());
817      }
818      /**
819       * <code>repeated .sonarqube.ws.permissions.OldUser users = 2;</code>
820       */
821      public java.util.List<org.sonarqube.ws.WsPermissions.OldUser.Builder> 
822           getUsersBuilderList() {
823        return getUsersFieldBuilder().getBuilderList();
824      }
825      private com.google.protobuf.RepeatedFieldBuilder<
826          org.sonarqube.ws.WsPermissions.OldUser, org.sonarqube.ws.WsPermissions.OldUser.Builder, org.sonarqube.ws.WsPermissions.OldUserOrBuilder> 
827          getUsersFieldBuilder() {
828        if (usersBuilder_ == null) {
829          usersBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
830              org.sonarqube.ws.WsPermissions.OldUser, org.sonarqube.ws.WsPermissions.OldUser.Builder, org.sonarqube.ws.WsPermissions.OldUserOrBuilder>(
831                  users_,
832                  ((bitField0_ & 0x00000002) == 0x00000002),
833                  getParentForChildren(),
834                  isClean());
835          users_ = null;
836        }
837        return usersBuilder_;
838      }
839
840      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.OldUsersWsResponse)
841    }
842
843    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.OldUsersWsResponse)
844    private static final org.sonarqube.ws.WsPermissions.OldUsersWsResponse DEFAULT_INSTANCE;
845    static {
846      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.OldUsersWsResponse();
847    }
848
849    public static org.sonarqube.ws.WsPermissions.OldUsersWsResponse getDefaultInstance() {
850      return DEFAULT_INSTANCE;
851    }
852
853    @java.lang.Deprecated public static final com.google.protobuf.Parser<OldUsersWsResponse>
854        PARSER = new com.google.protobuf.AbstractParser<OldUsersWsResponse>() {
855      public OldUsersWsResponse parsePartialFrom(
856          com.google.protobuf.CodedInputStream input,
857          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
858          throws com.google.protobuf.InvalidProtocolBufferException {
859        try {
860          return new OldUsersWsResponse(input, extensionRegistry);
861        } catch (RuntimeException e) {
862          if (e.getCause() instanceof
863              com.google.protobuf.InvalidProtocolBufferException) {
864            throw (com.google.protobuf.InvalidProtocolBufferException)
865                e.getCause();
866          }
867          throw e;
868        }
869      }
870    };
871
872    public static com.google.protobuf.Parser<OldUsersWsResponse> parser() {
873      return PARSER;
874    }
875
876    @java.lang.Override
877    public com.google.protobuf.Parser<OldUsersWsResponse> getParserForType() {
878      return PARSER;
879    }
880
881    public org.sonarqube.ws.WsPermissions.OldUsersWsResponse getDefaultInstanceForType() {
882      return DEFAULT_INSTANCE;
883    }
884
885  }
886
887  public interface UsersWsResponseOrBuilder extends
888      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.UsersWsResponse)
889      com.google.protobuf.MessageOrBuilder {
890
891    /**
892     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
893     */
894    boolean hasPaging();
895    /**
896     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
897     */
898    org.sonarqube.ws.Common.Paging getPaging();
899    /**
900     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
901     */
902    org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder();
903
904    /**
905     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
906     */
907    java.util.List<org.sonarqube.ws.WsPermissions.User> 
908        getUsersList();
909    /**
910     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
911     */
912    org.sonarqube.ws.WsPermissions.User getUsers(int index);
913    /**
914     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
915     */
916    int getUsersCount();
917    /**
918     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
919     */
920    java.util.List<? extends org.sonarqube.ws.WsPermissions.UserOrBuilder> 
921        getUsersOrBuilderList();
922    /**
923     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
924     */
925    org.sonarqube.ws.WsPermissions.UserOrBuilder getUsersOrBuilder(
926        int index);
927  }
928  /**
929   * Protobuf type {@code sonarqube.ws.permissions.UsersWsResponse}
930   *
931   * <pre>
932   * WS api/permissions/users for internal use only
933   * </pre>
934   */
935  public  static final class UsersWsResponse extends
936      com.google.protobuf.GeneratedMessage implements
937      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.UsersWsResponse)
938      UsersWsResponseOrBuilder {
939    // Use UsersWsResponse.newBuilder() to construct.
940    private UsersWsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
941      super(builder);
942    }
943    private UsersWsResponse() {
944      users_ = java.util.Collections.emptyList();
945    }
946
947    @java.lang.Override
948    public final com.google.protobuf.UnknownFieldSet
949    getUnknownFields() {
950      return this.unknownFields;
951    }
952    private UsersWsResponse(
953        com.google.protobuf.CodedInputStream input,
954        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
955      this();
956      int mutable_bitField0_ = 0;
957      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
958          com.google.protobuf.UnknownFieldSet.newBuilder();
959      try {
960        boolean done = false;
961        while (!done) {
962          int tag = input.readTag();
963          switch (tag) {
964            case 0:
965              done = true;
966              break;
967            default: {
968              if (!parseUnknownField(input, unknownFields,
969                                     extensionRegistry, tag)) {
970                done = true;
971              }
972              break;
973            }
974            case 10: {
975              org.sonarqube.ws.Common.Paging.Builder subBuilder = null;
976              if (((bitField0_ & 0x00000001) == 0x00000001)) {
977                subBuilder = paging_.toBuilder();
978              }
979              paging_ = input.readMessage(org.sonarqube.ws.Common.Paging.parser(), extensionRegistry);
980              if (subBuilder != null) {
981                subBuilder.mergeFrom(paging_);
982                paging_ = subBuilder.buildPartial();
983              }
984              bitField0_ |= 0x00000001;
985              break;
986            }
987            case 18: {
988              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
989                users_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.User>();
990                mutable_bitField0_ |= 0x00000002;
991              }
992              users_.add(input.readMessage(org.sonarqube.ws.WsPermissions.User.parser(), extensionRegistry));
993              break;
994            }
995          }
996        }
997      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
998        throw new RuntimeException(e.setUnfinishedMessage(this));
999      } catch (java.io.IOException e) {
1000        throw new RuntimeException(
1001            new com.google.protobuf.InvalidProtocolBufferException(
1002                e.getMessage()).setUnfinishedMessage(this));
1003      } finally {
1004        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1005          users_ = java.util.Collections.unmodifiableList(users_);
1006        }
1007        this.unknownFields = unknownFields.build();
1008        makeExtensionsImmutable();
1009      }
1010    }
1011    public static final com.google.protobuf.Descriptors.Descriptor
1012        getDescriptor() {
1013      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UsersWsResponse_descriptor;
1014    }
1015
1016    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1017        internalGetFieldAccessorTable() {
1018      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UsersWsResponse_fieldAccessorTable
1019          .ensureFieldAccessorsInitialized(
1020              org.sonarqube.ws.WsPermissions.UsersWsResponse.class, org.sonarqube.ws.WsPermissions.UsersWsResponse.Builder.class);
1021    }
1022
1023    private int bitField0_;
1024    public static final int PAGING_FIELD_NUMBER = 1;
1025    private org.sonarqube.ws.Common.Paging paging_;
1026    /**
1027     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1028     */
1029    public boolean hasPaging() {
1030      return ((bitField0_ & 0x00000001) == 0x00000001);
1031    }
1032    /**
1033     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1034     */
1035    public org.sonarqube.ws.Common.Paging getPaging() {
1036      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
1037    }
1038    /**
1039     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1040     */
1041    public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
1042      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
1043    }
1044
1045    public static final int USERS_FIELD_NUMBER = 2;
1046    private java.util.List<org.sonarqube.ws.WsPermissions.User> users_;
1047    /**
1048     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1049     */
1050    public java.util.List<org.sonarqube.ws.WsPermissions.User> getUsersList() {
1051      return users_;
1052    }
1053    /**
1054     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1055     */
1056    public java.util.List<? extends org.sonarqube.ws.WsPermissions.UserOrBuilder> 
1057        getUsersOrBuilderList() {
1058      return users_;
1059    }
1060    /**
1061     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1062     */
1063    public int getUsersCount() {
1064      return users_.size();
1065    }
1066    /**
1067     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1068     */
1069    public org.sonarqube.ws.WsPermissions.User getUsers(int index) {
1070      return users_.get(index);
1071    }
1072    /**
1073     * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1074     */
1075    public org.sonarqube.ws.WsPermissions.UserOrBuilder getUsersOrBuilder(
1076        int index) {
1077      return users_.get(index);
1078    }
1079
1080    private byte memoizedIsInitialized = -1;
1081    public final boolean isInitialized() {
1082      byte isInitialized = memoizedIsInitialized;
1083      if (isInitialized == 1) return true;
1084      if (isInitialized == 0) return false;
1085
1086      memoizedIsInitialized = 1;
1087      return true;
1088    }
1089
1090    public void writeTo(com.google.protobuf.CodedOutputStream output)
1091                        throws java.io.IOException {
1092      if (((bitField0_ & 0x00000001) == 0x00000001)) {
1093        output.writeMessage(1, getPaging());
1094      }
1095      for (int i = 0; i < users_.size(); i++) {
1096        output.writeMessage(2, users_.get(i));
1097      }
1098      unknownFields.writeTo(output);
1099    }
1100
1101    public int getSerializedSize() {
1102      int size = memoizedSize;
1103      if (size != -1) return size;
1104
1105      size = 0;
1106      if (((bitField0_ & 0x00000001) == 0x00000001)) {
1107        size += com.google.protobuf.CodedOutputStream
1108          .computeMessageSize(1, getPaging());
1109      }
1110      for (int i = 0; i < users_.size(); i++) {
1111        size += com.google.protobuf.CodedOutputStream
1112          .computeMessageSize(2, users_.get(i));
1113      }
1114      size += unknownFields.getSerializedSize();
1115      memoizedSize = size;
1116      return size;
1117    }
1118
1119    private static final long serialVersionUID = 0L;
1120    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseFrom(
1121        com.google.protobuf.ByteString data)
1122        throws com.google.protobuf.InvalidProtocolBufferException {
1123      return PARSER.parseFrom(data);
1124    }
1125    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseFrom(
1126        com.google.protobuf.ByteString data,
1127        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1128        throws com.google.protobuf.InvalidProtocolBufferException {
1129      return PARSER.parseFrom(data, extensionRegistry);
1130    }
1131    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseFrom(byte[] data)
1132        throws com.google.protobuf.InvalidProtocolBufferException {
1133      return PARSER.parseFrom(data);
1134    }
1135    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseFrom(
1136        byte[] data,
1137        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1138        throws com.google.protobuf.InvalidProtocolBufferException {
1139      return PARSER.parseFrom(data, extensionRegistry);
1140    }
1141    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseFrom(java.io.InputStream input)
1142        throws java.io.IOException {
1143      return PARSER.parseFrom(input);
1144    }
1145    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseFrom(
1146        java.io.InputStream input,
1147        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1148        throws java.io.IOException {
1149      return PARSER.parseFrom(input, extensionRegistry);
1150    }
1151    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseDelimitedFrom(java.io.InputStream input)
1152        throws java.io.IOException {
1153      return PARSER.parseDelimitedFrom(input);
1154    }
1155    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseDelimitedFrom(
1156        java.io.InputStream input,
1157        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1158        throws java.io.IOException {
1159      return PARSER.parseDelimitedFrom(input, extensionRegistry);
1160    }
1161    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseFrom(
1162        com.google.protobuf.CodedInputStream input)
1163        throws java.io.IOException {
1164      return PARSER.parseFrom(input);
1165    }
1166    public static org.sonarqube.ws.WsPermissions.UsersWsResponse parseFrom(
1167        com.google.protobuf.CodedInputStream input,
1168        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1169        throws java.io.IOException {
1170      return PARSER.parseFrom(input, extensionRegistry);
1171    }
1172
1173    public Builder newBuilderForType() { return newBuilder(); }
1174    public static Builder newBuilder() {
1175      return DEFAULT_INSTANCE.toBuilder();
1176    }
1177    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.UsersWsResponse prototype) {
1178      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1179    }
1180    public Builder toBuilder() {
1181      return this == DEFAULT_INSTANCE
1182          ? new Builder() : new Builder().mergeFrom(this);
1183    }
1184
1185    @java.lang.Override
1186    protected Builder newBuilderForType(
1187        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
1188      Builder builder = new Builder(parent);
1189      return builder;
1190    }
1191    /**
1192     * Protobuf type {@code sonarqube.ws.permissions.UsersWsResponse}
1193     *
1194     * <pre>
1195     * WS api/permissions/users for internal use only
1196     * </pre>
1197     */
1198    public static final class Builder extends
1199        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
1200        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.UsersWsResponse)
1201        org.sonarqube.ws.WsPermissions.UsersWsResponseOrBuilder {
1202      public static final com.google.protobuf.Descriptors.Descriptor
1203          getDescriptor() {
1204        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UsersWsResponse_descriptor;
1205      }
1206
1207      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1208          internalGetFieldAccessorTable() {
1209        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UsersWsResponse_fieldAccessorTable
1210            .ensureFieldAccessorsInitialized(
1211                org.sonarqube.ws.WsPermissions.UsersWsResponse.class, org.sonarqube.ws.WsPermissions.UsersWsResponse.Builder.class);
1212      }
1213
1214      // Construct using org.sonarqube.ws.WsPermissions.UsersWsResponse.newBuilder()
1215      private Builder() {
1216        maybeForceBuilderInitialization();
1217      }
1218
1219      private Builder(
1220          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
1221        super(parent);
1222        maybeForceBuilderInitialization();
1223      }
1224      private void maybeForceBuilderInitialization() {
1225        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
1226          getPagingFieldBuilder();
1227          getUsersFieldBuilder();
1228        }
1229      }
1230      public Builder clear() {
1231        super.clear();
1232        if (pagingBuilder_ == null) {
1233          paging_ = null;
1234        } else {
1235          pagingBuilder_.clear();
1236        }
1237        bitField0_ = (bitField0_ & ~0x00000001);
1238        if (usersBuilder_ == null) {
1239          users_ = java.util.Collections.emptyList();
1240          bitField0_ = (bitField0_ & ~0x00000002);
1241        } else {
1242          usersBuilder_.clear();
1243        }
1244        return this;
1245      }
1246
1247      public com.google.protobuf.Descriptors.Descriptor
1248          getDescriptorForType() {
1249        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UsersWsResponse_descriptor;
1250      }
1251
1252      public org.sonarqube.ws.WsPermissions.UsersWsResponse getDefaultInstanceForType() {
1253        return org.sonarqube.ws.WsPermissions.UsersWsResponse.getDefaultInstance();
1254      }
1255
1256      public org.sonarqube.ws.WsPermissions.UsersWsResponse build() {
1257        org.sonarqube.ws.WsPermissions.UsersWsResponse result = buildPartial();
1258        if (!result.isInitialized()) {
1259          throw newUninitializedMessageException(result);
1260        }
1261        return result;
1262      }
1263
1264      public org.sonarqube.ws.WsPermissions.UsersWsResponse buildPartial() {
1265        org.sonarqube.ws.WsPermissions.UsersWsResponse result = new org.sonarqube.ws.WsPermissions.UsersWsResponse(this);
1266        int from_bitField0_ = bitField0_;
1267        int to_bitField0_ = 0;
1268        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1269          to_bitField0_ |= 0x00000001;
1270        }
1271        if (pagingBuilder_ == null) {
1272          result.paging_ = paging_;
1273        } else {
1274          result.paging_ = pagingBuilder_.build();
1275        }
1276        if (usersBuilder_ == null) {
1277          if (((bitField0_ & 0x00000002) == 0x00000002)) {
1278            users_ = java.util.Collections.unmodifiableList(users_);
1279            bitField0_ = (bitField0_ & ~0x00000002);
1280          }
1281          result.users_ = users_;
1282        } else {
1283          result.users_ = usersBuilder_.build();
1284        }
1285        result.bitField0_ = to_bitField0_;
1286        onBuilt();
1287        return result;
1288      }
1289
1290      public Builder mergeFrom(com.google.protobuf.Message other) {
1291        if (other instanceof org.sonarqube.ws.WsPermissions.UsersWsResponse) {
1292          return mergeFrom((org.sonarqube.ws.WsPermissions.UsersWsResponse)other);
1293        } else {
1294          super.mergeFrom(other);
1295          return this;
1296        }
1297      }
1298
1299      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.UsersWsResponse other) {
1300        if (other == org.sonarqube.ws.WsPermissions.UsersWsResponse.getDefaultInstance()) return this;
1301        if (other.hasPaging()) {
1302          mergePaging(other.getPaging());
1303        }
1304        if (usersBuilder_ == null) {
1305          if (!other.users_.isEmpty()) {
1306            if (users_.isEmpty()) {
1307              users_ = other.users_;
1308              bitField0_ = (bitField0_ & ~0x00000002);
1309            } else {
1310              ensureUsersIsMutable();
1311              users_.addAll(other.users_);
1312            }
1313            onChanged();
1314          }
1315        } else {
1316          if (!other.users_.isEmpty()) {
1317            if (usersBuilder_.isEmpty()) {
1318              usersBuilder_.dispose();
1319              usersBuilder_ = null;
1320              users_ = other.users_;
1321              bitField0_ = (bitField0_ & ~0x00000002);
1322              usersBuilder_ = 
1323                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
1324                   getUsersFieldBuilder() : null;
1325            } else {
1326              usersBuilder_.addAllMessages(other.users_);
1327            }
1328          }
1329        }
1330        this.mergeUnknownFields(other.unknownFields);
1331        onChanged();
1332        return this;
1333      }
1334
1335      public final boolean isInitialized() {
1336        return true;
1337      }
1338
1339      public Builder mergeFrom(
1340          com.google.protobuf.CodedInputStream input,
1341          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1342          throws java.io.IOException {
1343        org.sonarqube.ws.WsPermissions.UsersWsResponse parsedMessage = null;
1344        try {
1345          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1346        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1347          parsedMessage = (org.sonarqube.ws.WsPermissions.UsersWsResponse) e.getUnfinishedMessage();
1348          throw e;
1349        } finally {
1350          if (parsedMessage != null) {
1351            mergeFrom(parsedMessage);
1352          }
1353        }
1354        return this;
1355      }
1356      private int bitField0_;
1357
1358      private org.sonarqube.ws.Common.Paging paging_ = null;
1359      private com.google.protobuf.SingleFieldBuilder<
1360          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> pagingBuilder_;
1361      /**
1362       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1363       */
1364      public boolean hasPaging() {
1365        return ((bitField0_ & 0x00000001) == 0x00000001);
1366      }
1367      /**
1368       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1369       */
1370      public org.sonarqube.ws.Common.Paging getPaging() {
1371        if (pagingBuilder_ == null) {
1372          return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
1373        } else {
1374          return pagingBuilder_.getMessage();
1375        }
1376      }
1377      /**
1378       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1379       */
1380      public Builder setPaging(org.sonarqube.ws.Common.Paging value) {
1381        if (pagingBuilder_ == null) {
1382          if (value == null) {
1383            throw new NullPointerException();
1384          }
1385          paging_ = value;
1386          onChanged();
1387        } else {
1388          pagingBuilder_.setMessage(value);
1389        }
1390        bitField0_ |= 0x00000001;
1391        return this;
1392      }
1393      /**
1394       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1395       */
1396      public Builder setPaging(
1397          org.sonarqube.ws.Common.Paging.Builder builderForValue) {
1398        if (pagingBuilder_ == null) {
1399          paging_ = builderForValue.build();
1400          onChanged();
1401        } else {
1402          pagingBuilder_.setMessage(builderForValue.build());
1403        }
1404        bitField0_ |= 0x00000001;
1405        return this;
1406      }
1407      /**
1408       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1409       */
1410      public Builder mergePaging(org.sonarqube.ws.Common.Paging value) {
1411        if (pagingBuilder_ == null) {
1412          if (((bitField0_ & 0x00000001) == 0x00000001) &&
1413              paging_ != null &&
1414              paging_ != org.sonarqube.ws.Common.Paging.getDefaultInstance()) {
1415            paging_ =
1416              org.sonarqube.ws.Common.Paging.newBuilder(paging_).mergeFrom(value).buildPartial();
1417          } else {
1418            paging_ = value;
1419          }
1420          onChanged();
1421        } else {
1422          pagingBuilder_.mergeFrom(value);
1423        }
1424        bitField0_ |= 0x00000001;
1425        return this;
1426      }
1427      /**
1428       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1429       */
1430      public Builder clearPaging() {
1431        if (pagingBuilder_ == null) {
1432          paging_ = null;
1433          onChanged();
1434        } else {
1435          pagingBuilder_.clear();
1436        }
1437        bitField0_ = (bitField0_ & ~0x00000001);
1438        return this;
1439      }
1440      /**
1441       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1442       */
1443      public org.sonarqube.ws.Common.Paging.Builder getPagingBuilder() {
1444        bitField0_ |= 0x00000001;
1445        onChanged();
1446        return getPagingFieldBuilder().getBuilder();
1447      }
1448      /**
1449       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1450       */
1451      public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
1452        if (pagingBuilder_ != null) {
1453          return pagingBuilder_.getMessageOrBuilder();
1454        } else {
1455          return paging_ == null ?
1456              org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
1457        }
1458      }
1459      /**
1460       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1461       */
1462      private com.google.protobuf.SingleFieldBuilder<
1463          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> 
1464          getPagingFieldBuilder() {
1465        if (pagingBuilder_ == null) {
1466          pagingBuilder_ = new com.google.protobuf.SingleFieldBuilder<
1467              org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder>(
1468                  getPaging(),
1469                  getParentForChildren(),
1470                  isClean());
1471          paging_ = null;
1472        }
1473        return pagingBuilder_;
1474      }
1475
1476      private java.util.List<org.sonarqube.ws.WsPermissions.User> users_ =
1477        java.util.Collections.emptyList();
1478      private void ensureUsersIsMutable() {
1479        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
1480          users_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.User>(users_);
1481          bitField0_ |= 0x00000002;
1482         }
1483      }
1484
1485      private com.google.protobuf.RepeatedFieldBuilder<
1486          org.sonarqube.ws.WsPermissions.User, org.sonarqube.ws.WsPermissions.User.Builder, org.sonarqube.ws.WsPermissions.UserOrBuilder> usersBuilder_;
1487
1488      /**
1489       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1490       */
1491      public java.util.List<org.sonarqube.ws.WsPermissions.User> getUsersList() {
1492        if (usersBuilder_ == null) {
1493          return java.util.Collections.unmodifiableList(users_);
1494        } else {
1495          return usersBuilder_.getMessageList();
1496        }
1497      }
1498      /**
1499       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1500       */
1501      public int getUsersCount() {
1502        if (usersBuilder_ == null) {
1503          return users_.size();
1504        } else {
1505          return usersBuilder_.getCount();
1506        }
1507      }
1508      /**
1509       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1510       */
1511      public org.sonarqube.ws.WsPermissions.User getUsers(int index) {
1512        if (usersBuilder_ == null) {
1513          return users_.get(index);
1514        } else {
1515          return usersBuilder_.getMessage(index);
1516        }
1517      }
1518      /**
1519       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1520       */
1521      public Builder setUsers(
1522          int index, org.sonarqube.ws.WsPermissions.User value) {
1523        if (usersBuilder_ == null) {
1524          if (value == null) {
1525            throw new NullPointerException();
1526          }
1527          ensureUsersIsMutable();
1528          users_.set(index, value);
1529          onChanged();
1530        } else {
1531          usersBuilder_.setMessage(index, value);
1532        }
1533        return this;
1534      }
1535      /**
1536       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1537       */
1538      public Builder setUsers(
1539          int index, org.sonarqube.ws.WsPermissions.User.Builder builderForValue) {
1540        if (usersBuilder_ == null) {
1541          ensureUsersIsMutable();
1542          users_.set(index, builderForValue.build());
1543          onChanged();
1544        } else {
1545          usersBuilder_.setMessage(index, builderForValue.build());
1546        }
1547        return this;
1548      }
1549      /**
1550       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1551       */
1552      public Builder addUsers(org.sonarqube.ws.WsPermissions.User value) {
1553        if (usersBuilder_ == null) {
1554          if (value == null) {
1555            throw new NullPointerException();
1556          }
1557          ensureUsersIsMutable();
1558          users_.add(value);
1559          onChanged();
1560        } else {
1561          usersBuilder_.addMessage(value);
1562        }
1563        return this;
1564      }
1565      /**
1566       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1567       */
1568      public Builder addUsers(
1569          int index, org.sonarqube.ws.WsPermissions.User value) {
1570        if (usersBuilder_ == null) {
1571          if (value == null) {
1572            throw new NullPointerException();
1573          }
1574          ensureUsersIsMutable();
1575          users_.add(index, value);
1576          onChanged();
1577        } else {
1578          usersBuilder_.addMessage(index, value);
1579        }
1580        return this;
1581      }
1582      /**
1583       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1584       */
1585      public Builder addUsers(
1586          org.sonarqube.ws.WsPermissions.User.Builder builderForValue) {
1587        if (usersBuilder_ == null) {
1588          ensureUsersIsMutable();
1589          users_.add(builderForValue.build());
1590          onChanged();
1591        } else {
1592          usersBuilder_.addMessage(builderForValue.build());
1593        }
1594        return this;
1595      }
1596      /**
1597       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1598       */
1599      public Builder addUsers(
1600          int index, org.sonarqube.ws.WsPermissions.User.Builder builderForValue) {
1601        if (usersBuilder_ == null) {
1602          ensureUsersIsMutable();
1603          users_.add(index, builderForValue.build());
1604          onChanged();
1605        } else {
1606          usersBuilder_.addMessage(index, builderForValue.build());
1607        }
1608        return this;
1609      }
1610      /**
1611       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1612       */
1613      public Builder addAllUsers(
1614          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.User> values) {
1615        if (usersBuilder_ == null) {
1616          ensureUsersIsMutable();
1617          com.google.protobuf.AbstractMessageLite.Builder.addAll(
1618              values, users_);
1619          onChanged();
1620        } else {
1621          usersBuilder_.addAllMessages(values);
1622        }
1623        return this;
1624      }
1625      /**
1626       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1627       */
1628      public Builder clearUsers() {
1629        if (usersBuilder_ == null) {
1630          users_ = java.util.Collections.emptyList();
1631          bitField0_ = (bitField0_ & ~0x00000002);
1632          onChanged();
1633        } else {
1634          usersBuilder_.clear();
1635        }
1636        return this;
1637      }
1638      /**
1639       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1640       */
1641      public Builder removeUsers(int index) {
1642        if (usersBuilder_ == null) {
1643          ensureUsersIsMutable();
1644          users_.remove(index);
1645          onChanged();
1646        } else {
1647          usersBuilder_.remove(index);
1648        }
1649        return this;
1650      }
1651      /**
1652       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1653       */
1654      public org.sonarqube.ws.WsPermissions.User.Builder getUsersBuilder(
1655          int index) {
1656        return getUsersFieldBuilder().getBuilder(index);
1657      }
1658      /**
1659       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1660       */
1661      public org.sonarqube.ws.WsPermissions.UserOrBuilder getUsersOrBuilder(
1662          int index) {
1663        if (usersBuilder_ == null) {
1664          return users_.get(index);  } else {
1665          return usersBuilder_.getMessageOrBuilder(index);
1666        }
1667      }
1668      /**
1669       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1670       */
1671      public java.util.List<? extends org.sonarqube.ws.WsPermissions.UserOrBuilder> 
1672           getUsersOrBuilderList() {
1673        if (usersBuilder_ != null) {
1674          return usersBuilder_.getMessageOrBuilderList();
1675        } else {
1676          return java.util.Collections.unmodifiableList(users_);
1677        }
1678      }
1679      /**
1680       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1681       */
1682      public org.sonarqube.ws.WsPermissions.User.Builder addUsersBuilder() {
1683        return getUsersFieldBuilder().addBuilder(
1684            org.sonarqube.ws.WsPermissions.User.getDefaultInstance());
1685      }
1686      /**
1687       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1688       */
1689      public org.sonarqube.ws.WsPermissions.User.Builder addUsersBuilder(
1690          int index) {
1691        return getUsersFieldBuilder().addBuilder(
1692            index, org.sonarqube.ws.WsPermissions.User.getDefaultInstance());
1693      }
1694      /**
1695       * <code>repeated .sonarqube.ws.permissions.User users = 2;</code>
1696       */
1697      public java.util.List<org.sonarqube.ws.WsPermissions.User.Builder> 
1698           getUsersBuilderList() {
1699        return getUsersFieldBuilder().getBuilderList();
1700      }
1701      private com.google.protobuf.RepeatedFieldBuilder<
1702          org.sonarqube.ws.WsPermissions.User, org.sonarqube.ws.WsPermissions.User.Builder, org.sonarqube.ws.WsPermissions.UserOrBuilder> 
1703          getUsersFieldBuilder() {
1704        if (usersBuilder_ == null) {
1705          usersBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
1706              org.sonarqube.ws.WsPermissions.User, org.sonarqube.ws.WsPermissions.User.Builder, org.sonarqube.ws.WsPermissions.UserOrBuilder>(
1707                  users_,
1708                  ((bitField0_ & 0x00000002) == 0x00000002),
1709                  getParentForChildren(),
1710                  isClean());
1711          users_ = null;
1712        }
1713        return usersBuilder_;
1714      }
1715
1716      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.UsersWsResponse)
1717    }
1718
1719    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.UsersWsResponse)
1720    private static final org.sonarqube.ws.WsPermissions.UsersWsResponse DEFAULT_INSTANCE;
1721    static {
1722      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.UsersWsResponse();
1723    }
1724
1725    public static org.sonarqube.ws.WsPermissions.UsersWsResponse getDefaultInstance() {
1726      return DEFAULT_INSTANCE;
1727    }
1728
1729    @java.lang.Deprecated public static final com.google.protobuf.Parser<UsersWsResponse>
1730        PARSER = new com.google.protobuf.AbstractParser<UsersWsResponse>() {
1731      public UsersWsResponse parsePartialFrom(
1732          com.google.protobuf.CodedInputStream input,
1733          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1734          throws com.google.protobuf.InvalidProtocolBufferException {
1735        try {
1736          return new UsersWsResponse(input, extensionRegistry);
1737        } catch (RuntimeException e) {
1738          if (e.getCause() instanceof
1739              com.google.protobuf.InvalidProtocolBufferException) {
1740            throw (com.google.protobuf.InvalidProtocolBufferException)
1741                e.getCause();
1742          }
1743          throw e;
1744        }
1745      }
1746    };
1747
1748    public static com.google.protobuf.Parser<UsersWsResponse> parser() {
1749      return PARSER;
1750    }
1751
1752    @java.lang.Override
1753    public com.google.protobuf.Parser<UsersWsResponse> getParserForType() {
1754      return PARSER;
1755    }
1756
1757    public org.sonarqube.ws.WsPermissions.UsersWsResponse getDefaultInstanceForType() {
1758      return DEFAULT_INSTANCE;
1759    }
1760
1761  }
1762
1763  public interface WsGroupsResponseOrBuilder extends
1764      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.WsGroupsResponse)
1765      com.google.protobuf.MessageOrBuilder {
1766
1767    /**
1768     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1769     */
1770    boolean hasPaging();
1771    /**
1772     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1773     */
1774    org.sonarqube.ws.Common.Paging getPaging();
1775    /**
1776     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1777     */
1778    org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder();
1779
1780    /**
1781     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1782     */
1783    java.util.List<org.sonarqube.ws.WsPermissions.Group> 
1784        getGroupsList();
1785    /**
1786     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1787     */
1788    org.sonarqube.ws.WsPermissions.Group getGroups(int index);
1789    /**
1790     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1791     */
1792    int getGroupsCount();
1793    /**
1794     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1795     */
1796    java.util.List<? extends org.sonarqube.ws.WsPermissions.GroupOrBuilder> 
1797        getGroupsOrBuilderList();
1798    /**
1799     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1800     */
1801    org.sonarqube.ws.WsPermissions.GroupOrBuilder getGroupsOrBuilder(
1802        int index);
1803  }
1804  /**
1805   * Protobuf type {@code sonarqube.ws.permissions.WsGroupsResponse}
1806   *
1807   * <pre>
1808   * WS api/permissions/groups for internal use only
1809   * </pre>
1810   */
1811  public  static final class WsGroupsResponse extends
1812      com.google.protobuf.GeneratedMessage implements
1813      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.WsGroupsResponse)
1814      WsGroupsResponseOrBuilder {
1815    // Use WsGroupsResponse.newBuilder() to construct.
1816    private WsGroupsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
1817      super(builder);
1818    }
1819    private WsGroupsResponse() {
1820      groups_ = java.util.Collections.emptyList();
1821    }
1822
1823    @java.lang.Override
1824    public final com.google.protobuf.UnknownFieldSet
1825    getUnknownFields() {
1826      return this.unknownFields;
1827    }
1828    private WsGroupsResponse(
1829        com.google.protobuf.CodedInputStream input,
1830        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
1831      this();
1832      int mutable_bitField0_ = 0;
1833      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1834          com.google.protobuf.UnknownFieldSet.newBuilder();
1835      try {
1836        boolean done = false;
1837        while (!done) {
1838          int tag = input.readTag();
1839          switch (tag) {
1840            case 0:
1841              done = true;
1842              break;
1843            default: {
1844              if (!parseUnknownField(input, unknownFields,
1845                                     extensionRegistry, tag)) {
1846                done = true;
1847              }
1848              break;
1849            }
1850            case 10: {
1851              org.sonarqube.ws.Common.Paging.Builder subBuilder = null;
1852              if (((bitField0_ & 0x00000001) == 0x00000001)) {
1853                subBuilder = paging_.toBuilder();
1854              }
1855              paging_ = input.readMessage(org.sonarqube.ws.Common.Paging.parser(), extensionRegistry);
1856              if (subBuilder != null) {
1857                subBuilder.mergeFrom(paging_);
1858                paging_ = subBuilder.buildPartial();
1859              }
1860              bitField0_ |= 0x00000001;
1861              break;
1862            }
1863            case 18: {
1864              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1865                groups_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Group>();
1866                mutable_bitField0_ |= 0x00000002;
1867              }
1868              groups_.add(input.readMessage(org.sonarqube.ws.WsPermissions.Group.parser(), extensionRegistry));
1869              break;
1870            }
1871          }
1872        }
1873      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1874        throw new RuntimeException(e.setUnfinishedMessage(this));
1875      } catch (java.io.IOException e) {
1876        throw new RuntimeException(
1877            new com.google.protobuf.InvalidProtocolBufferException(
1878                e.getMessage()).setUnfinishedMessage(this));
1879      } finally {
1880        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1881          groups_ = java.util.Collections.unmodifiableList(groups_);
1882        }
1883        this.unknownFields = unknownFields.build();
1884        makeExtensionsImmutable();
1885      }
1886    }
1887    public static final com.google.protobuf.Descriptors.Descriptor
1888        getDescriptor() {
1889      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsGroupsResponse_descriptor;
1890    }
1891
1892    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1893        internalGetFieldAccessorTable() {
1894      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsGroupsResponse_fieldAccessorTable
1895          .ensureFieldAccessorsInitialized(
1896              org.sonarqube.ws.WsPermissions.WsGroupsResponse.class, org.sonarqube.ws.WsPermissions.WsGroupsResponse.Builder.class);
1897    }
1898
1899    private int bitField0_;
1900    public static final int PAGING_FIELD_NUMBER = 1;
1901    private org.sonarqube.ws.Common.Paging paging_;
1902    /**
1903     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1904     */
1905    public boolean hasPaging() {
1906      return ((bitField0_ & 0x00000001) == 0x00000001);
1907    }
1908    /**
1909     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1910     */
1911    public org.sonarqube.ws.Common.Paging getPaging() {
1912      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
1913    }
1914    /**
1915     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
1916     */
1917    public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
1918      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
1919    }
1920
1921    public static final int GROUPS_FIELD_NUMBER = 2;
1922    private java.util.List<org.sonarqube.ws.WsPermissions.Group> groups_;
1923    /**
1924     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1925     */
1926    public java.util.List<org.sonarqube.ws.WsPermissions.Group> getGroupsList() {
1927      return groups_;
1928    }
1929    /**
1930     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1931     */
1932    public java.util.List<? extends org.sonarqube.ws.WsPermissions.GroupOrBuilder> 
1933        getGroupsOrBuilderList() {
1934      return groups_;
1935    }
1936    /**
1937     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1938     */
1939    public int getGroupsCount() {
1940      return groups_.size();
1941    }
1942    /**
1943     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1944     */
1945    public org.sonarqube.ws.WsPermissions.Group getGroups(int index) {
1946      return groups_.get(index);
1947    }
1948    /**
1949     * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
1950     */
1951    public org.sonarqube.ws.WsPermissions.GroupOrBuilder getGroupsOrBuilder(
1952        int index) {
1953      return groups_.get(index);
1954    }
1955
1956    private byte memoizedIsInitialized = -1;
1957    public final boolean isInitialized() {
1958      byte isInitialized = memoizedIsInitialized;
1959      if (isInitialized == 1) return true;
1960      if (isInitialized == 0) return false;
1961
1962      memoizedIsInitialized = 1;
1963      return true;
1964    }
1965
1966    public void writeTo(com.google.protobuf.CodedOutputStream output)
1967                        throws java.io.IOException {
1968      if (((bitField0_ & 0x00000001) == 0x00000001)) {
1969        output.writeMessage(1, getPaging());
1970      }
1971      for (int i = 0; i < groups_.size(); i++) {
1972        output.writeMessage(2, groups_.get(i));
1973      }
1974      unknownFields.writeTo(output);
1975    }
1976
1977    public int getSerializedSize() {
1978      int size = memoizedSize;
1979      if (size != -1) return size;
1980
1981      size = 0;
1982      if (((bitField0_ & 0x00000001) == 0x00000001)) {
1983        size += com.google.protobuf.CodedOutputStream
1984          .computeMessageSize(1, getPaging());
1985      }
1986      for (int i = 0; i < groups_.size(); i++) {
1987        size += com.google.protobuf.CodedOutputStream
1988          .computeMessageSize(2, groups_.get(i));
1989      }
1990      size += unknownFields.getSerializedSize();
1991      memoizedSize = size;
1992      return size;
1993    }
1994
1995    private static final long serialVersionUID = 0L;
1996    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseFrom(
1997        com.google.protobuf.ByteString data)
1998        throws com.google.protobuf.InvalidProtocolBufferException {
1999      return PARSER.parseFrom(data);
2000    }
2001    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseFrom(
2002        com.google.protobuf.ByteString data,
2003        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2004        throws com.google.protobuf.InvalidProtocolBufferException {
2005      return PARSER.parseFrom(data, extensionRegistry);
2006    }
2007    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseFrom(byte[] data)
2008        throws com.google.protobuf.InvalidProtocolBufferException {
2009      return PARSER.parseFrom(data);
2010    }
2011    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseFrom(
2012        byte[] data,
2013        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2014        throws com.google.protobuf.InvalidProtocolBufferException {
2015      return PARSER.parseFrom(data, extensionRegistry);
2016    }
2017    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseFrom(java.io.InputStream input)
2018        throws java.io.IOException {
2019      return PARSER.parseFrom(input);
2020    }
2021    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseFrom(
2022        java.io.InputStream input,
2023        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2024        throws java.io.IOException {
2025      return PARSER.parseFrom(input, extensionRegistry);
2026    }
2027    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseDelimitedFrom(java.io.InputStream input)
2028        throws java.io.IOException {
2029      return PARSER.parseDelimitedFrom(input);
2030    }
2031    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseDelimitedFrom(
2032        java.io.InputStream input,
2033        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2034        throws java.io.IOException {
2035      return PARSER.parseDelimitedFrom(input, extensionRegistry);
2036    }
2037    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseFrom(
2038        com.google.protobuf.CodedInputStream input)
2039        throws java.io.IOException {
2040      return PARSER.parseFrom(input);
2041    }
2042    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse parseFrom(
2043        com.google.protobuf.CodedInputStream input,
2044        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2045        throws java.io.IOException {
2046      return PARSER.parseFrom(input, extensionRegistry);
2047    }
2048
2049    public Builder newBuilderForType() { return newBuilder(); }
2050    public static Builder newBuilder() {
2051      return DEFAULT_INSTANCE.toBuilder();
2052    }
2053    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.WsGroupsResponse prototype) {
2054      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2055    }
2056    public Builder toBuilder() {
2057      return this == DEFAULT_INSTANCE
2058          ? new Builder() : new Builder().mergeFrom(this);
2059    }
2060
2061    @java.lang.Override
2062    protected Builder newBuilderForType(
2063        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2064      Builder builder = new Builder(parent);
2065      return builder;
2066    }
2067    /**
2068     * Protobuf type {@code sonarqube.ws.permissions.WsGroupsResponse}
2069     *
2070     * <pre>
2071     * WS api/permissions/groups for internal use only
2072     * </pre>
2073     */
2074    public static final class Builder extends
2075        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
2076        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.WsGroupsResponse)
2077        org.sonarqube.ws.WsPermissions.WsGroupsResponseOrBuilder {
2078      public static final com.google.protobuf.Descriptors.Descriptor
2079          getDescriptor() {
2080        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsGroupsResponse_descriptor;
2081      }
2082
2083      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2084          internalGetFieldAccessorTable() {
2085        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsGroupsResponse_fieldAccessorTable
2086            .ensureFieldAccessorsInitialized(
2087                org.sonarqube.ws.WsPermissions.WsGroupsResponse.class, org.sonarqube.ws.WsPermissions.WsGroupsResponse.Builder.class);
2088      }
2089
2090      // Construct using org.sonarqube.ws.WsPermissions.WsGroupsResponse.newBuilder()
2091      private Builder() {
2092        maybeForceBuilderInitialization();
2093      }
2094
2095      private Builder(
2096          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2097        super(parent);
2098        maybeForceBuilderInitialization();
2099      }
2100      private void maybeForceBuilderInitialization() {
2101        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
2102          getPagingFieldBuilder();
2103          getGroupsFieldBuilder();
2104        }
2105      }
2106      public Builder clear() {
2107        super.clear();
2108        if (pagingBuilder_ == null) {
2109          paging_ = null;
2110        } else {
2111          pagingBuilder_.clear();
2112        }
2113        bitField0_ = (bitField0_ & ~0x00000001);
2114        if (groupsBuilder_ == null) {
2115          groups_ = java.util.Collections.emptyList();
2116          bitField0_ = (bitField0_ & ~0x00000002);
2117        } else {
2118          groupsBuilder_.clear();
2119        }
2120        return this;
2121      }
2122
2123      public com.google.protobuf.Descriptors.Descriptor
2124          getDescriptorForType() {
2125        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsGroupsResponse_descriptor;
2126      }
2127
2128      public org.sonarqube.ws.WsPermissions.WsGroupsResponse getDefaultInstanceForType() {
2129        return org.sonarqube.ws.WsPermissions.WsGroupsResponse.getDefaultInstance();
2130      }
2131
2132      public org.sonarqube.ws.WsPermissions.WsGroupsResponse build() {
2133        org.sonarqube.ws.WsPermissions.WsGroupsResponse result = buildPartial();
2134        if (!result.isInitialized()) {
2135          throw newUninitializedMessageException(result);
2136        }
2137        return result;
2138      }
2139
2140      public org.sonarqube.ws.WsPermissions.WsGroupsResponse buildPartial() {
2141        org.sonarqube.ws.WsPermissions.WsGroupsResponse result = new org.sonarqube.ws.WsPermissions.WsGroupsResponse(this);
2142        int from_bitField0_ = bitField0_;
2143        int to_bitField0_ = 0;
2144        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2145          to_bitField0_ |= 0x00000001;
2146        }
2147        if (pagingBuilder_ == null) {
2148          result.paging_ = paging_;
2149        } else {
2150          result.paging_ = pagingBuilder_.build();
2151        }
2152        if (groupsBuilder_ == null) {
2153          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2154            groups_ = java.util.Collections.unmodifiableList(groups_);
2155            bitField0_ = (bitField0_ & ~0x00000002);
2156          }
2157          result.groups_ = groups_;
2158        } else {
2159          result.groups_ = groupsBuilder_.build();
2160        }
2161        result.bitField0_ = to_bitField0_;
2162        onBuilt();
2163        return result;
2164      }
2165
2166      public Builder mergeFrom(com.google.protobuf.Message other) {
2167        if (other instanceof org.sonarqube.ws.WsPermissions.WsGroupsResponse) {
2168          return mergeFrom((org.sonarqube.ws.WsPermissions.WsGroupsResponse)other);
2169        } else {
2170          super.mergeFrom(other);
2171          return this;
2172        }
2173      }
2174
2175      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.WsGroupsResponse other) {
2176        if (other == org.sonarqube.ws.WsPermissions.WsGroupsResponse.getDefaultInstance()) return this;
2177        if (other.hasPaging()) {
2178          mergePaging(other.getPaging());
2179        }
2180        if (groupsBuilder_ == null) {
2181          if (!other.groups_.isEmpty()) {
2182            if (groups_.isEmpty()) {
2183              groups_ = other.groups_;
2184              bitField0_ = (bitField0_ & ~0x00000002);
2185            } else {
2186              ensureGroupsIsMutable();
2187              groups_.addAll(other.groups_);
2188            }
2189            onChanged();
2190          }
2191        } else {
2192          if (!other.groups_.isEmpty()) {
2193            if (groupsBuilder_.isEmpty()) {
2194              groupsBuilder_.dispose();
2195              groupsBuilder_ = null;
2196              groups_ = other.groups_;
2197              bitField0_ = (bitField0_ & ~0x00000002);
2198              groupsBuilder_ = 
2199                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
2200                   getGroupsFieldBuilder() : null;
2201            } else {
2202              groupsBuilder_.addAllMessages(other.groups_);
2203            }
2204          }
2205        }
2206        this.mergeUnknownFields(other.unknownFields);
2207        onChanged();
2208        return this;
2209      }
2210
2211      public final boolean isInitialized() {
2212        return true;
2213      }
2214
2215      public Builder mergeFrom(
2216          com.google.protobuf.CodedInputStream input,
2217          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2218          throws java.io.IOException {
2219        org.sonarqube.ws.WsPermissions.WsGroupsResponse parsedMessage = null;
2220        try {
2221          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2222        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2223          parsedMessage = (org.sonarqube.ws.WsPermissions.WsGroupsResponse) e.getUnfinishedMessage();
2224          throw e;
2225        } finally {
2226          if (parsedMessage != null) {
2227            mergeFrom(parsedMessage);
2228          }
2229        }
2230        return this;
2231      }
2232      private int bitField0_;
2233
2234      private org.sonarqube.ws.Common.Paging paging_ = null;
2235      private com.google.protobuf.SingleFieldBuilder<
2236          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> pagingBuilder_;
2237      /**
2238       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2239       */
2240      public boolean hasPaging() {
2241        return ((bitField0_ & 0x00000001) == 0x00000001);
2242      }
2243      /**
2244       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2245       */
2246      public org.sonarqube.ws.Common.Paging getPaging() {
2247        if (pagingBuilder_ == null) {
2248          return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
2249        } else {
2250          return pagingBuilder_.getMessage();
2251        }
2252      }
2253      /**
2254       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2255       */
2256      public Builder setPaging(org.sonarqube.ws.Common.Paging value) {
2257        if (pagingBuilder_ == null) {
2258          if (value == null) {
2259            throw new NullPointerException();
2260          }
2261          paging_ = value;
2262          onChanged();
2263        } else {
2264          pagingBuilder_.setMessage(value);
2265        }
2266        bitField0_ |= 0x00000001;
2267        return this;
2268      }
2269      /**
2270       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2271       */
2272      public Builder setPaging(
2273          org.sonarqube.ws.Common.Paging.Builder builderForValue) {
2274        if (pagingBuilder_ == null) {
2275          paging_ = builderForValue.build();
2276          onChanged();
2277        } else {
2278          pagingBuilder_.setMessage(builderForValue.build());
2279        }
2280        bitField0_ |= 0x00000001;
2281        return this;
2282      }
2283      /**
2284       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2285       */
2286      public Builder mergePaging(org.sonarqube.ws.Common.Paging value) {
2287        if (pagingBuilder_ == null) {
2288          if (((bitField0_ & 0x00000001) == 0x00000001) &&
2289              paging_ != null &&
2290              paging_ != org.sonarqube.ws.Common.Paging.getDefaultInstance()) {
2291            paging_ =
2292              org.sonarqube.ws.Common.Paging.newBuilder(paging_).mergeFrom(value).buildPartial();
2293          } else {
2294            paging_ = value;
2295          }
2296          onChanged();
2297        } else {
2298          pagingBuilder_.mergeFrom(value);
2299        }
2300        bitField0_ |= 0x00000001;
2301        return this;
2302      }
2303      /**
2304       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2305       */
2306      public Builder clearPaging() {
2307        if (pagingBuilder_ == null) {
2308          paging_ = null;
2309          onChanged();
2310        } else {
2311          pagingBuilder_.clear();
2312        }
2313        bitField0_ = (bitField0_ & ~0x00000001);
2314        return this;
2315      }
2316      /**
2317       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2318       */
2319      public org.sonarqube.ws.Common.Paging.Builder getPagingBuilder() {
2320        bitField0_ |= 0x00000001;
2321        onChanged();
2322        return getPagingFieldBuilder().getBuilder();
2323      }
2324      /**
2325       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2326       */
2327      public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
2328        if (pagingBuilder_ != null) {
2329          return pagingBuilder_.getMessageOrBuilder();
2330        } else {
2331          return paging_ == null ?
2332              org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
2333        }
2334      }
2335      /**
2336       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2337       */
2338      private com.google.protobuf.SingleFieldBuilder<
2339          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> 
2340          getPagingFieldBuilder() {
2341        if (pagingBuilder_ == null) {
2342          pagingBuilder_ = new com.google.protobuf.SingleFieldBuilder<
2343              org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder>(
2344                  getPaging(),
2345                  getParentForChildren(),
2346                  isClean());
2347          paging_ = null;
2348        }
2349        return pagingBuilder_;
2350      }
2351
2352      private java.util.List<org.sonarqube.ws.WsPermissions.Group> groups_ =
2353        java.util.Collections.emptyList();
2354      private void ensureGroupsIsMutable() {
2355        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
2356          groups_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Group>(groups_);
2357          bitField0_ |= 0x00000002;
2358         }
2359      }
2360
2361      private com.google.protobuf.RepeatedFieldBuilder<
2362          org.sonarqube.ws.WsPermissions.Group, org.sonarqube.ws.WsPermissions.Group.Builder, org.sonarqube.ws.WsPermissions.GroupOrBuilder> groupsBuilder_;
2363
2364      /**
2365       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2366       */
2367      public java.util.List<org.sonarqube.ws.WsPermissions.Group> getGroupsList() {
2368        if (groupsBuilder_ == null) {
2369          return java.util.Collections.unmodifiableList(groups_);
2370        } else {
2371          return groupsBuilder_.getMessageList();
2372        }
2373      }
2374      /**
2375       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2376       */
2377      public int getGroupsCount() {
2378        if (groupsBuilder_ == null) {
2379          return groups_.size();
2380        } else {
2381          return groupsBuilder_.getCount();
2382        }
2383      }
2384      /**
2385       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2386       */
2387      public org.sonarqube.ws.WsPermissions.Group getGroups(int index) {
2388        if (groupsBuilder_ == null) {
2389          return groups_.get(index);
2390        } else {
2391          return groupsBuilder_.getMessage(index);
2392        }
2393      }
2394      /**
2395       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2396       */
2397      public Builder setGroups(
2398          int index, org.sonarqube.ws.WsPermissions.Group value) {
2399        if (groupsBuilder_ == null) {
2400          if (value == null) {
2401            throw new NullPointerException();
2402          }
2403          ensureGroupsIsMutable();
2404          groups_.set(index, value);
2405          onChanged();
2406        } else {
2407          groupsBuilder_.setMessage(index, value);
2408        }
2409        return this;
2410      }
2411      /**
2412       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2413       */
2414      public Builder setGroups(
2415          int index, org.sonarqube.ws.WsPermissions.Group.Builder builderForValue) {
2416        if (groupsBuilder_ == null) {
2417          ensureGroupsIsMutable();
2418          groups_.set(index, builderForValue.build());
2419          onChanged();
2420        } else {
2421          groupsBuilder_.setMessage(index, builderForValue.build());
2422        }
2423        return this;
2424      }
2425      /**
2426       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2427       */
2428      public Builder addGroups(org.sonarqube.ws.WsPermissions.Group value) {
2429        if (groupsBuilder_ == null) {
2430          if (value == null) {
2431            throw new NullPointerException();
2432          }
2433          ensureGroupsIsMutable();
2434          groups_.add(value);
2435          onChanged();
2436        } else {
2437          groupsBuilder_.addMessage(value);
2438        }
2439        return this;
2440      }
2441      /**
2442       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2443       */
2444      public Builder addGroups(
2445          int index, org.sonarqube.ws.WsPermissions.Group value) {
2446        if (groupsBuilder_ == null) {
2447          if (value == null) {
2448            throw new NullPointerException();
2449          }
2450          ensureGroupsIsMutable();
2451          groups_.add(index, value);
2452          onChanged();
2453        } else {
2454          groupsBuilder_.addMessage(index, value);
2455        }
2456        return this;
2457      }
2458      /**
2459       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2460       */
2461      public Builder addGroups(
2462          org.sonarqube.ws.WsPermissions.Group.Builder builderForValue) {
2463        if (groupsBuilder_ == null) {
2464          ensureGroupsIsMutable();
2465          groups_.add(builderForValue.build());
2466          onChanged();
2467        } else {
2468          groupsBuilder_.addMessage(builderForValue.build());
2469        }
2470        return this;
2471      }
2472      /**
2473       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2474       */
2475      public Builder addGroups(
2476          int index, org.sonarqube.ws.WsPermissions.Group.Builder builderForValue) {
2477        if (groupsBuilder_ == null) {
2478          ensureGroupsIsMutable();
2479          groups_.add(index, builderForValue.build());
2480          onChanged();
2481        } else {
2482          groupsBuilder_.addMessage(index, builderForValue.build());
2483        }
2484        return this;
2485      }
2486      /**
2487       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2488       */
2489      public Builder addAllGroups(
2490          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.Group> values) {
2491        if (groupsBuilder_ == null) {
2492          ensureGroupsIsMutable();
2493          com.google.protobuf.AbstractMessageLite.Builder.addAll(
2494              values, groups_);
2495          onChanged();
2496        } else {
2497          groupsBuilder_.addAllMessages(values);
2498        }
2499        return this;
2500      }
2501      /**
2502       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2503       */
2504      public Builder clearGroups() {
2505        if (groupsBuilder_ == null) {
2506          groups_ = java.util.Collections.emptyList();
2507          bitField0_ = (bitField0_ & ~0x00000002);
2508          onChanged();
2509        } else {
2510          groupsBuilder_.clear();
2511        }
2512        return this;
2513      }
2514      /**
2515       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2516       */
2517      public Builder removeGroups(int index) {
2518        if (groupsBuilder_ == null) {
2519          ensureGroupsIsMutable();
2520          groups_.remove(index);
2521          onChanged();
2522        } else {
2523          groupsBuilder_.remove(index);
2524        }
2525        return this;
2526      }
2527      /**
2528       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2529       */
2530      public org.sonarqube.ws.WsPermissions.Group.Builder getGroupsBuilder(
2531          int index) {
2532        return getGroupsFieldBuilder().getBuilder(index);
2533      }
2534      /**
2535       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2536       */
2537      public org.sonarqube.ws.WsPermissions.GroupOrBuilder getGroupsOrBuilder(
2538          int index) {
2539        if (groupsBuilder_ == null) {
2540          return groups_.get(index);  } else {
2541          return groupsBuilder_.getMessageOrBuilder(index);
2542        }
2543      }
2544      /**
2545       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2546       */
2547      public java.util.List<? extends org.sonarqube.ws.WsPermissions.GroupOrBuilder> 
2548           getGroupsOrBuilderList() {
2549        if (groupsBuilder_ != null) {
2550          return groupsBuilder_.getMessageOrBuilderList();
2551        } else {
2552          return java.util.Collections.unmodifiableList(groups_);
2553        }
2554      }
2555      /**
2556       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2557       */
2558      public org.sonarqube.ws.WsPermissions.Group.Builder addGroupsBuilder() {
2559        return getGroupsFieldBuilder().addBuilder(
2560            org.sonarqube.ws.WsPermissions.Group.getDefaultInstance());
2561      }
2562      /**
2563       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2564       */
2565      public org.sonarqube.ws.WsPermissions.Group.Builder addGroupsBuilder(
2566          int index) {
2567        return getGroupsFieldBuilder().addBuilder(
2568            index, org.sonarqube.ws.WsPermissions.Group.getDefaultInstance());
2569      }
2570      /**
2571       * <code>repeated .sonarqube.ws.permissions.Group groups = 2;</code>
2572       */
2573      public java.util.List<org.sonarqube.ws.WsPermissions.Group.Builder> 
2574           getGroupsBuilderList() {
2575        return getGroupsFieldBuilder().getBuilderList();
2576      }
2577      private com.google.protobuf.RepeatedFieldBuilder<
2578          org.sonarqube.ws.WsPermissions.Group, org.sonarqube.ws.WsPermissions.Group.Builder, org.sonarqube.ws.WsPermissions.GroupOrBuilder> 
2579          getGroupsFieldBuilder() {
2580        if (groupsBuilder_ == null) {
2581          groupsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
2582              org.sonarqube.ws.WsPermissions.Group, org.sonarqube.ws.WsPermissions.Group.Builder, org.sonarqube.ws.WsPermissions.GroupOrBuilder>(
2583                  groups_,
2584                  ((bitField0_ & 0x00000002) == 0x00000002),
2585                  getParentForChildren(),
2586                  isClean());
2587          groups_ = null;
2588        }
2589        return groupsBuilder_;
2590      }
2591
2592      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.WsGroupsResponse)
2593    }
2594
2595    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.WsGroupsResponse)
2596    private static final org.sonarqube.ws.WsPermissions.WsGroupsResponse DEFAULT_INSTANCE;
2597    static {
2598      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.WsGroupsResponse();
2599    }
2600
2601    public static org.sonarqube.ws.WsPermissions.WsGroupsResponse getDefaultInstance() {
2602      return DEFAULT_INSTANCE;
2603    }
2604
2605    @java.lang.Deprecated public static final com.google.protobuf.Parser<WsGroupsResponse>
2606        PARSER = new com.google.protobuf.AbstractParser<WsGroupsResponse>() {
2607      public WsGroupsResponse parsePartialFrom(
2608          com.google.protobuf.CodedInputStream input,
2609          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2610          throws com.google.protobuf.InvalidProtocolBufferException {
2611        try {
2612          return new WsGroupsResponse(input, extensionRegistry);
2613        } catch (RuntimeException e) {
2614          if (e.getCause() instanceof
2615              com.google.protobuf.InvalidProtocolBufferException) {
2616            throw (com.google.protobuf.InvalidProtocolBufferException)
2617                e.getCause();
2618          }
2619          throw e;
2620        }
2621      }
2622    };
2623
2624    public static com.google.protobuf.Parser<WsGroupsResponse> parser() {
2625      return PARSER;
2626    }
2627
2628    @java.lang.Override
2629    public com.google.protobuf.Parser<WsGroupsResponse> getParserForType() {
2630      return PARSER;
2631    }
2632
2633    public org.sonarqube.ws.WsPermissions.WsGroupsResponse getDefaultInstanceForType() {
2634      return DEFAULT_INSTANCE;
2635    }
2636
2637  }
2638
2639  public interface WsTemplateGroupsResponseOrBuilder extends
2640      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.WsTemplateGroupsResponse)
2641      com.google.protobuf.MessageOrBuilder {
2642
2643    /**
2644     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2645     */
2646    boolean hasPaging();
2647    /**
2648     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2649     */
2650    org.sonarqube.ws.Common.Paging getPaging();
2651    /**
2652     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2653     */
2654    org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder();
2655
2656    /**
2657     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2658     */
2659    java.util.List<org.sonarqube.ws.WsPermissions.OldGroup> 
2660        getGroupsList();
2661    /**
2662     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2663     */
2664    org.sonarqube.ws.WsPermissions.OldGroup getGroups(int index);
2665    /**
2666     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2667     */
2668    int getGroupsCount();
2669    /**
2670     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2671     */
2672    java.util.List<? extends org.sonarqube.ws.WsPermissions.OldGroupOrBuilder> 
2673        getGroupsOrBuilderList();
2674    /**
2675     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2676     */
2677    org.sonarqube.ws.WsPermissions.OldGroupOrBuilder getGroupsOrBuilder(
2678        int index);
2679  }
2680  /**
2681   * Protobuf type {@code sonarqube.ws.permissions.WsTemplateGroupsResponse}
2682   *
2683   * <pre>
2684   * WS api/permissions/template_groups for internal use only
2685   * </pre>
2686   */
2687  public  static final class WsTemplateGroupsResponse extends
2688      com.google.protobuf.GeneratedMessage implements
2689      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.WsTemplateGroupsResponse)
2690      WsTemplateGroupsResponseOrBuilder {
2691    // Use WsTemplateGroupsResponse.newBuilder() to construct.
2692    private WsTemplateGroupsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
2693      super(builder);
2694    }
2695    private WsTemplateGroupsResponse() {
2696      groups_ = java.util.Collections.emptyList();
2697    }
2698
2699    @java.lang.Override
2700    public final com.google.protobuf.UnknownFieldSet
2701    getUnknownFields() {
2702      return this.unknownFields;
2703    }
2704    private WsTemplateGroupsResponse(
2705        com.google.protobuf.CodedInputStream input,
2706        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
2707      this();
2708      int mutable_bitField0_ = 0;
2709      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
2710          com.google.protobuf.UnknownFieldSet.newBuilder();
2711      try {
2712        boolean done = false;
2713        while (!done) {
2714          int tag = input.readTag();
2715          switch (tag) {
2716            case 0:
2717              done = true;
2718              break;
2719            default: {
2720              if (!parseUnknownField(input, unknownFields,
2721                                     extensionRegistry, tag)) {
2722                done = true;
2723              }
2724              break;
2725            }
2726            case 10: {
2727              org.sonarqube.ws.Common.Paging.Builder subBuilder = null;
2728              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2729                subBuilder = paging_.toBuilder();
2730              }
2731              paging_ = input.readMessage(org.sonarqube.ws.Common.Paging.parser(), extensionRegistry);
2732              if (subBuilder != null) {
2733                subBuilder.mergeFrom(paging_);
2734                paging_ = subBuilder.buildPartial();
2735              }
2736              bitField0_ |= 0x00000001;
2737              break;
2738            }
2739            case 18: {
2740              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
2741                groups_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.OldGroup>();
2742                mutable_bitField0_ |= 0x00000002;
2743              }
2744              groups_.add(input.readMessage(org.sonarqube.ws.WsPermissions.OldGroup.parser(), extensionRegistry));
2745              break;
2746            }
2747          }
2748        }
2749      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2750        throw new RuntimeException(e.setUnfinishedMessage(this));
2751      } catch (java.io.IOException e) {
2752        throw new RuntimeException(
2753            new com.google.protobuf.InvalidProtocolBufferException(
2754                e.getMessage()).setUnfinishedMessage(this));
2755      } finally {
2756        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
2757          groups_ = java.util.Collections.unmodifiableList(groups_);
2758        }
2759        this.unknownFields = unknownFields.build();
2760        makeExtensionsImmutable();
2761      }
2762    }
2763    public static final com.google.protobuf.Descriptors.Descriptor
2764        getDescriptor() {
2765      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_descriptor;
2766    }
2767
2768    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2769        internalGetFieldAccessorTable() {
2770      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_fieldAccessorTable
2771          .ensureFieldAccessorsInitialized(
2772              org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse.class, org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse.Builder.class);
2773    }
2774
2775    private int bitField0_;
2776    public static final int PAGING_FIELD_NUMBER = 1;
2777    private org.sonarqube.ws.Common.Paging paging_;
2778    /**
2779     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2780     */
2781    public boolean hasPaging() {
2782      return ((bitField0_ & 0x00000001) == 0x00000001);
2783    }
2784    /**
2785     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2786     */
2787    public org.sonarqube.ws.Common.Paging getPaging() {
2788      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
2789    }
2790    /**
2791     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
2792     */
2793    public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
2794      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
2795    }
2796
2797    public static final int GROUPS_FIELD_NUMBER = 2;
2798    private java.util.List<org.sonarqube.ws.WsPermissions.OldGroup> groups_;
2799    /**
2800     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2801     */
2802    public java.util.List<org.sonarqube.ws.WsPermissions.OldGroup> getGroupsList() {
2803      return groups_;
2804    }
2805    /**
2806     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2807     */
2808    public java.util.List<? extends org.sonarqube.ws.WsPermissions.OldGroupOrBuilder> 
2809        getGroupsOrBuilderList() {
2810      return groups_;
2811    }
2812    /**
2813     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2814     */
2815    public int getGroupsCount() {
2816      return groups_.size();
2817    }
2818    /**
2819     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2820     */
2821    public org.sonarqube.ws.WsPermissions.OldGroup getGroups(int index) {
2822      return groups_.get(index);
2823    }
2824    /**
2825     * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
2826     */
2827    public org.sonarqube.ws.WsPermissions.OldGroupOrBuilder getGroupsOrBuilder(
2828        int index) {
2829      return groups_.get(index);
2830    }
2831
2832    private byte memoizedIsInitialized = -1;
2833    public final boolean isInitialized() {
2834      byte isInitialized = memoizedIsInitialized;
2835      if (isInitialized == 1) return true;
2836      if (isInitialized == 0) return false;
2837
2838      memoizedIsInitialized = 1;
2839      return true;
2840    }
2841
2842    public void writeTo(com.google.protobuf.CodedOutputStream output)
2843                        throws java.io.IOException {
2844      if (((bitField0_ & 0x00000001) == 0x00000001)) {
2845        output.writeMessage(1, getPaging());
2846      }
2847      for (int i = 0; i < groups_.size(); i++) {
2848        output.writeMessage(2, groups_.get(i));
2849      }
2850      unknownFields.writeTo(output);
2851    }
2852
2853    public int getSerializedSize() {
2854      int size = memoizedSize;
2855      if (size != -1) return size;
2856
2857      size = 0;
2858      if (((bitField0_ & 0x00000001) == 0x00000001)) {
2859        size += com.google.protobuf.CodedOutputStream
2860          .computeMessageSize(1, getPaging());
2861      }
2862      for (int i = 0; i < groups_.size(); i++) {
2863        size += com.google.protobuf.CodedOutputStream
2864          .computeMessageSize(2, groups_.get(i));
2865      }
2866      size += unknownFields.getSerializedSize();
2867      memoizedSize = size;
2868      return size;
2869    }
2870
2871    private static final long serialVersionUID = 0L;
2872    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseFrom(
2873        com.google.protobuf.ByteString data)
2874        throws com.google.protobuf.InvalidProtocolBufferException {
2875      return PARSER.parseFrom(data);
2876    }
2877    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseFrom(
2878        com.google.protobuf.ByteString data,
2879        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2880        throws com.google.protobuf.InvalidProtocolBufferException {
2881      return PARSER.parseFrom(data, extensionRegistry);
2882    }
2883    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseFrom(byte[] data)
2884        throws com.google.protobuf.InvalidProtocolBufferException {
2885      return PARSER.parseFrom(data);
2886    }
2887    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseFrom(
2888        byte[] data,
2889        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2890        throws com.google.protobuf.InvalidProtocolBufferException {
2891      return PARSER.parseFrom(data, extensionRegistry);
2892    }
2893    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseFrom(java.io.InputStream input)
2894        throws java.io.IOException {
2895      return PARSER.parseFrom(input);
2896    }
2897    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseFrom(
2898        java.io.InputStream input,
2899        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2900        throws java.io.IOException {
2901      return PARSER.parseFrom(input, extensionRegistry);
2902    }
2903    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseDelimitedFrom(java.io.InputStream input)
2904        throws java.io.IOException {
2905      return PARSER.parseDelimitedFrom(input);
2906    }
2907    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseDelimitedFrom(
2908        java.io.InputStream input,
2909        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2910        throws java.io.IOException {
2911      return PARSER.parseDelimitedFrom(input, extensionRegistry);
2912    }
2913    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseFrom(
2914        com.google.protobuf.CodedInputStream input)
2915        throws java.io.IOException {
2916      return PARSER.parseFrom(input);
2917    }
2918    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parseFrom(
2919        com.google.protobuf.CodedInputStream input,
2920        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2921        throws java.io.IOException {
2922      return PARSER.parseFrom(input, extensionRegistry);
2923    }
2924
2925    public Builder newBuilderForType() { return newBuilder(); }
2926    public static Builder newBuilder() {
2927      return DEFAULT_INSTANCE.toBuilder();
2928    }
2929    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse prototype) {
2930      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2931    }
2932    public Builder toBuilder() {
2933      return this == DEFAULT_INSTANCE
2934          ? new Builder() : new Builder().mergeFrom(this);
2935    }
2936
2937    @java.lang.Override
2938    protected Builder newBuilderForType(
2939        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2940      Builder builder = new Builder(parent);
2941      return builder;
2942    }
2943    /**
2944     * Protobuf type {@code sonarqube.ws.permissions.WsTemplateGroupsResponse}
2945     *
2946     * <pre>
2947     * WS api/permissions/template_groups for internal use only
2948     * </pre>
2949     */
2950    public static final class Builder extends
2951        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
2952        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.WsTemplateGroupsResponse)
2953        org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponseOrBuilder {
2954      public static final com.google.protobuf.Descriptors.Descriptor
2955          getDescriptor() {
2956        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_descriptor;
2957      }
2958
2959      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2960          internalGetFieldAccessorTable() {
2961        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_fieldAccessorTable
2962            .ensureFieldAccessorsInitialized(
2963                org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse.class, org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse.Builder.class);
2964      }
2965
2966      // Construct using org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse.newBuilder()
2967      private Builder() {
2968        maybeForceBuilderInitialization();
2969      }
2970
2971      private Builder(
2972          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2973        super(parent);
2974        maybeForceBuilderInitialization();
2975      }
2976      private void maybeForceBuilderInitialization() {
2977        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
2978          getPagingFieldBuilder();
2979          getGroupsFieldBuilder();
2980        }
2981      }
2982      public Builder clear() {
2983        super.clear();
2984        if (pagingBuilder_ == null) {
2985          paging_ = null;
2986        } else {
2987          pagingBuilder_.clear();
2988        }
2989        bitField0_ = (bitField0_ & ~0x00000001);
2990        if (groupsBuilder_ == null) {
2991          groups_ = java.util.Collections.emptyList();
2992          bitField0_ = (bitField0_ & ~0x00000002);
2993        } else {
2994          groupsBuilder_.clear();
2995        }
2996        return this;
2997      }
2998
2999      public com.google.protobuf.Descriptors.Descriptor
3000          getDescriptorForType() {
3001        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_descriptor;
3002      }
3003
3004      public org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse getDefaultInstanceForType() {
3005        return org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse.getDefaultInstance();
3006      }
3007
3008      public org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse build() {
3009        org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse result = buildPartial();
3010        if (!result.isInitialized()) {
3011          throw newUninitializedMessageException(result);
3012        }
3013        return result;
3014      }
3015
3016      public org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse buildPartial() {
3017        org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse result = new org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse(this);
3018        int from_bitField0_ = bitField0_;
3019        int to_bitField0_ = 0;
3020        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3021          to_bitField0_ |= 0x00000001;
3022        }
3023        if (pagingBuilder_ == null) {
3024          result.paging_ = paging_;
3025        } else {
3026          result.paging_ = pagingBuilder_.build();
3027        }
3028        if (groupsBuilder_ == null) {
3029          if (((bitField0_ & 0x00000002) == 0x00000002)) {
3030            groups_ = java.util.Collections.unmodifiableList(groups_);
3031            bitField0_ = (bitField0_ & ~0x00000002);
3032          }
3033          result.groups_ = groups_;
3034        } else {
3035          result.groups_ = groupsBuilder_.build();
3036        }
3037        result.bitField0_ = to_bitField0_;
3038        onBuilt();
3039        return result;
3040      }
3041
3042      public Builder mergeFrom(com.google.protobuf.Message other) {
3043        if (other instanceof org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse) {
3044          return mergeFrom((org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse)other);
3045        } else {
3046          super.mergeFrom(other);
3047          return this;
3048        }
3049      }
3050
3051      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse other) {
3052        if (other == org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse.getDefaultInstance()) return this;
3053        if (other.hasPaging()) {
3054          mergePaging(other.getPaging());
3055        }
3056        if (groupsBuilder_ == null) {
3057          if (!other.groups_.isEmpty()) {
3058            if (groups_.isEmpty()) {
3059              groups_ = other.groups_;
3060              bitField0_ = (bitField0_ & ~0x00000002);
3061            } else {
3062              ensureGroupsIsMutable();
3063              groups_.addAll(other.groups_);
3064            }
3065            onChanged();
3066          }
3067        } else {
3068          if (!other.groups_.isEmpty()) {
3069            if (groupsBuilder_.isEmpty()) {
3070              groupsBuilder_.dispose();
3071              groupsBuilder_ = null;
3072              groups_ = other.groups_;
3073              bitField0_ = (bitField0_ & ~0x00000002);
3074              groupsBuilder_ = 
3075                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
3076                   getGroupsFieldBuilder() : null;
3077            } else {
3078              groupsBuilder_.addAllMessages(other.groups_);
3079            }
3080          }
3081        }
3082        this.mergeUnknownFields(other.unknownFields);
3083        onChanged();
3084        return this;
3085      }
3086
3087      public final boolean isInitialized() {
3088        return true;
3089      }
3090
3091      public Builder mergeFrom(
3092          com.google.protobuf.CodedInputStream input,
3093          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3094          throws java.io.IOException {
3095        org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse parsedMessage = null;
3096        try {
3097          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3098        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3099          parsedMessage = (org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse) e.getUnfinishedMessage();
3100          throw e;
3101        } finally {
3102          if (parsedMessage != null) {
3103            mergeFrom(parsedMessage);
3104          }
3105        }
3106        return this;
3107      }
3108      private int bitField0_;
3109
3110      private org.sonarqube.ws.Common.Paging paging_ = null;
3111      private com.google.protobuf.SingleFieldBuilder<
3112          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> pagingBuilder_;
3113      /**
3114       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3115       */
3116      public boolean hasPaging() {
3117        return ((bitField0_ & 0x00000001) == 0x00000001);
3118      }
3119      /**
3120       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3121       */
3122      public org.sonarqube.ws.Common.Paging getPaging() {
3123        if (pagingBuilder_ == null) {
3124          return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
3125        } else {
3126          return pagingBuilder_.getMessage();
3127        }
3128      }
3129      /**
3130       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3131       */
3132      public Builder setPaging(org.sonarqube.ws.Common.Paging value) {
3133        if (pagingBuilder_ == null) {
3134          if (value == null) {
3135            throw new NullPointerException();
3136          }
3137          paging_ = value;
3138          onChanged();
3139        } else {
3140          pagingBuilder_.setMessage(value);
3141        }
3142        bitField0_ |= 0x00000001;
3143        return this;
3144      }
3145      /**
3146       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3147       */
3148      public Builder setPaging(
3149          org.sonarqube.ws.Common.Paging.Builder builderForValue) {
3150        if (pagingBuilder_ == null) {
3151          paging_ = builderForValue.build();
3152          onChanged();
3153        } else {
3154          pagingBuilder_.setMessage(builderForValue.build());
3155        }
3156        bitField0_ |= 0x00000001;
3157        return this;
3158      }
3159      /**
3160       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3161       */
3162      public Builder mergePaging(org.sonarqube.ws.Common.Paging value) {
3163        if (pagingBuilder_ == null) {
3164          if (((bitField0_ & 0x00000001) == 0x00000001) &&
3165              paging_ != null &&
3166              paging_ != org.sonarqube.ws.Common.Paging.getDefaultInstance()) {
3167            paging_ =
3168              org.sonarqube.ws.Common.Paging.newBuilder(paging_).mergeFrom(value).buildPartial();
3169          } else {
3170            paging_ = value;
3171          }
3172          onChanged();
3173        } else {
3174          pagingBuilder_.mergeFrom(value);
3175        }
3176        bitField0_ |= 0x00000001;
3177        return this;
3178      }
3179      /**
3180       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3181       */
3182      public Builder clearPaging() {
3183        if (pagingBuilder_ == null) {
3184          paging_ = null;
3185          onChanged();
3186        } else {
3187          pagingBuilder_.clear();
3188        }
3189        bitField0_ = (bitField0_ & ~0x00000001);
3190        return this;
3191      }
3192      /**
3193       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3194       */
3195      public org.sonarqube.ws.Common.Paging.Builder getPagingBuilder() {
3196        bitField0_ |= 0x00000001;
3197        onChanged();
3198        return getPagingFieldBuilder().getBuilder();
3199      }
3200      /**
3201       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3202       */
3203      public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
3204        if (pagingBuilder_ != null) {
3205          return pagingBuilder_.getMessageOrBuilder();
3206        } else {
3207          return paging_ == null ?
3208              org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
3209        }
3210      }
3211      /**
3212       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
3213       */
3214      private com.google.protobuf.SingleFieldBuilder<
3215          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> 
3216          getPagingFieldBuilder() {
3217        if (pagingBuilder_ == null) {
3218          pagingBuilder_ = new com.google.protobuf.SingleFieldBuilder<
3219              org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder>(
3220                  getPaging(),
3221                  getParentForChildren(),
3222                  isClean());
3223          paging_ = null;
3224        }
3225        return pagingBuilder_;
3226      }
3227
3228      private java.util.List<org.sonarqube.ws.WsPermissions.OldGroup> groups_ =
3229        java.util.Collections.emptyList();
3230      private void ensureGroupsIsMutable() {
3231        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
3232          groups_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.OldGroup>(groups_);
3233          bitField0_ |= 0x00000002;
3234         }
3235      }
3236
3237      private com.google.protobuf.RepeatedFieldBuilder<
3238          org.sonarqube.ws.WsPermissions.OldGroup, org.sonarqube.ws.WsPermissions.OldGroup.Builder, org.sonarqube.ws.WsPermissions.OldGroupOrBuilder> groupsBuilder_;
3239
3240      /**
3241       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3242       */
3243      public java.util.List<org.sonarqube.ws.WsPermissions.OldGroup> getGroupsList() {
3244        if (groupsBuilder_ == null) {
3245          return java.util.Collections.unmodifiableList(groups_);
3246        } else {
3247          return groupsBuilder_.getMessageList();
3248        }
3249      }
3250      /**
3251       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3252       */
3253      public int getGroupsCount() {
3254        if (groupsBuilder_ == null) {
3255          return groups_.size();
3256        } else {
3257          return groupsBuilder_.getCount();
3258        }
3259      }
3260      /**
3261       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3262       */
3263      public org.sonarqube.ws.WsPermissions.OldGroup getGroups(int index) {
3264        if (groupsBuilder_ == null) {
3265          return groups_.get(index);
3266        } else {
3267          return groupsBuilder_.getMessage(index);
3268        }
3269      }
3270      /**
3271       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3272       */
3273      public Builder setGroups(
3274          int index, org.sonarqube.ws.WsPermissions.OldGroup value) {
3275        if (groupsBuilder_ == null) {
3276          if (value == null) {
3277            throw new NullPointerException();
3278          }
3279          ensureGroupsIsMutable();
3280          groups_.set(index, value);
3281          onChanged();
3282        } else {
3283          groupsBuilder_.setMessage(index, value);
3284        }
3285        return this;
3286      }
3287      /**
3288       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3289       */
3290      public Builder setGroups(
3291          int index, org.sonarqube.ws.WsPermissions.OldGroup.Builder builderForValue) {
3292        if (groupsBuilder_ == null) {
3293          ensureGroupsIsMutable();
3294          groups_.set(index, builderForValue.build());
3295          onChanged();
3296        } else {
3297          groupsBuilder_.setMessage(index, builderForValue.build());
3298        }
3299        return this;
3300      }
3301      /**
3302       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3303       */
3304      public Builder addGroups(org.sonarqube.ws.WsPermissions.OldGroup value) {
3305        if (groupsBuilder_ == null) {
3306          if (value == null) {
3307            throw new NullPointerException();
3308          }
3309          ensureGroupsIsMutable();
3310          groups_.add(value);
3311          onChanged();
3312        } else {
3313          groupsBuilder_.addMessage(value);
3314        }
3315        return this;
3316      }
3317      /**
3318       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3319       */
3320      public Builder addGroups(
3321          int index, org.sonarqube.ws.WsPermissions.OldGroup value) {
3322        if (groupsBuilder_ == null) {
3323          if (value == null) {
3324            throw new NullPointerException();
3325          }
3326          ensureGroupsIsMutable();
3327          groups_.add(index, value);
3328          onChanged();
3329        } else {
3330          groupsBuilder_.addMessage(index, value);
3331        }
3332        return this;
3333      }
3334      /**
3335       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3336       */
3337      public Builder addGroups(
3338          org.sonarqube.ws.WsPermissions.OldGroup.Builder builderForValue) {
3339        if (groupsBuilder_ == null) {
3340          ensureGroupsIsMutable();
3341          groups_.add(builderForValue.build());
3342          onChanged();
3343        } else {
3344          groupsBuilder_.addMessage(builderForValue.build());
3345        }
3346        return this;
3347      }
3348      /**
3349       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3350       */
3351      public Builder addGroups(
3352          int index, org.sonarqube.ws.WsPermissions.OldGroup.Builder builderForValue) {
3353        if (groupsBuilder_ == null) {
3354          ensureGroupsIsMutable();
3355          groups_.add(index, builderForValue.build());
3356          onChanged();
3357        } else {
3358          groupsBuilder_.addMessage(index, builderForValue.build());
3359        }
3360        return this;
3361      }
3362      /**
3363       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3364       */
3365      public Builder addAllGroups(
3366          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.OldGroup> values) {
3367        if (groupsBuilder_ == null) {
3368          ensureGroupsIsMutable();
3369          com.google.protobuf.AbstractMessageLite.Builder.addAll(
3370              values, groups_);
3371          onChanged();
3372        } else {
3373          groupsBuilder_.addAllMessages(values);
3374        }
3375        return this;
3376      }
3377      /**
3378       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3379       */
3380      public Builder clearGroups() {
3381        if (groupsBuilder_ == null) {
3382          groups_ = java.util.Collections.emptyList();
3383          bitField0_ = (bitField0_ & ~0x00000002);
3384          onChanged();
3385        } else {
3386          groupsBuilder_.clear();
3387        }
3388        return this;
3389      }
3390      /**
3391       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3392       */
3393      public Builder removeGroups(int index) {
3394        if (groupsBuilder_ == null) {
3395          ensureGroupsIsMutable();
3396          groups_.remove(index);
3397          onChanged();
3398        } else {
3399          groupsBuilder_.remove(index);
3400        }
3401        return this;
3402      }
3403      /**
3404       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3405       */
3406      public org.sonarqube.ws.WsPermissions.OldGroup.Builder getGroupsBuilder(
3407          int index) {
3408        return getGroupsFieldBuilder().getBuilder(index);
3409      }
3410      /**
3411       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3412       */
3413      public org.sonarqube.ws.WsPermissions.OldGroupOrBuilder getGroupsOrBuilder(
3414          int index) {
3415        if (groupsBuilder_ == null) {
3416          return groups_.get(index);  } else {
3417          return groupsBuilder_.getMessageOrBuilder(index);
3418        }
3419      }
3420      /**
3421       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3422       */
3423      public java.util.List<? extends org.sonarqube.ws.WsPermissions.OldGroupOrBuilder> 
3424           getGroupsOrBuilderList() {
3425        if (groupsBuilder_ != null) {
3426          return groupsBuilder_.getMessageOrBuilderList();
3427        } else {
3428          return java.util.Collections.unmodifiableList(groups_);
3429        }
3430      }
3431      /**
3432       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3433       */
3434      public org.sonarqube.ws.WsPermissions.OldGroup.Builder addGroupsBuilder() {
3435        return getGroupsFieldBuilder().addBuilder(
3436            org.sonarqube.ws.WsPermissions.OldGroup.getDefaultInstance());
3437      }
3438      /**
3439       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3440       */
3441      public org.sonarqube.ws.WsPermissions.OldGroup.Builder addGroupsBuilder(
3442          int index) {
3443        return getGroupsFieldBuilder().addBuilder(
3444            index, org.sonarqube.ws.WsPermissions.OldGroup.getDefaultInstance());
3445      }
3446      /**
3447       * <code>repeated .sonarqube.ws.permissions.OldGroup groups = 2;</code>
3448       */
3449      public java.util.List<org.sonarqube.ws.WsPermissions.OldGroup.Builder> 
3450           getGroupsBuilderList() {
3451        return getGroupsFieldBuilder().getBuilderList();
3452      }
3453      private com.google.protobuf.RepeatedFieldBuilder<
3454          org.sonarqube.ws.WsPermissions.OldGroup, org.sonarqube.ws.WsPermissions.OldGroup.Builder, org.sonarqube.ws.WsPermissions.OldGroupOrBuilder> 
3455          getGroupsFieldBuilder() {
3456        if (groupsBuilder_ == null) {
3457          groupsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
3458              org.sonarqube.ws.WsPermissions.OldGroup, org.sonarqube.ws.WsPermissions.OldGroup.Builder, org.sonarqube.ws.WsPermissions.OldGroupOrBuilder>(
3459                  groups_,
3460                  ((bitField0_ & 0x00000002) == 0x00000002),
3461                  getParentForChildren(),
3462                  isClean());
3463          groups_ = null;
3464        }
3465        return groupsBuilder_;
3466      }
3467
3468      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.WsTemplateGroupsResponse)
3469    }
3470
3471    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.WsTemplateGroupsResponse)
3472    private static final org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse DEFAULT_INSTANCE;
3473    static {
3474      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse();
3475    }
3476
3477    public static org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse getDefaultInstance() {
3478      return DEFAULT_INSTANCE;
3479    }
3480
3481    @java.lang.Deprecated public static final com.google.protobuf.Parser<WsTemplateGroupsResponse>
3482        PARSER = new com.google.protobuf.AbstractParser<WsTemplateGroupsResponse>() {
3483      public WsTemplateGroupsResponse parsePartialFrom(
3484          com.google.protobuf.CodedInputStream input,
3485          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3486          throws com.google.protobuf.InvalidProtocolBufferException {
3487        try {
3488          return new WsTemplateGroupsResponse(input, extensionRegistry);
3489        } catch (RuntimeException e) {
3490          if (e.getCause() instanceof
3491              com.google.protobuf.InvalidProtocolBufferException) {
3492            throw (com.google.protobuf.InvalidProtocolBufferException)
3493                e.getCause();
3494          }
3495          throw e;
3496        }
3497      }
3498    };
3499
3500    public static com.google.protobuf.Parser<WsTemplateGroupsResponse> parser() {
3501      return PARSER;
3502    }
3503
3504    @java.lang.Override
3505    public com.google.protobuf.Parser<WsTemplateGroupsResponse> getParserForType() {
3506      return PARSER;
3507    }
3508
3509    public org.sonarqube.ws.WsPermissions.WsTemplateGroupsResponse getDefaultInstanceForType() {
3510      return DEFAULT_INSTANCE;
3511    }
3512
3513  }
3514
3515  public interface WsSearchGlobalPermissionsResponseOrBuilder extends
3516      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.WsSearchGlobalPermissionsResponse)
3517      com.google.protobuf.MessageOrBuilder {
3518
3519    /**
3520     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3521     */
3522    java.util.List<org.sonarqube.ws.WsPermissions.Permission> 
3523        getPermissionsList();
3524    /**
3525     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3526     */
3527    org.sonarqube.ws.WsPermissions.Permission getPermissions(int index);
3528    /**
3529     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3530     */
3531    int getPermissionsCount();
3532    /**
3533     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3534     */
3535    java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
3536        getPermissionsOrBuilderList();
3537    /**
3538     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3539     */
3540    org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
3541        int index);
3542  }
3543  /**
3544   * Protobuf type {@code sonarqube.ws.permissions.WsSearchGlobalPermissionsResponse}
3545   */
3546  public  static final class WsSearchGlobalPermissionsResponse extends
3547      com.google.protobuf.GeneratedMessage implements
3548      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.WsSearchGlobalPermissionsResponse)
3549      WsSearchGlobalPermissionsResponseOrBuilder {
3550    // Use WsSearchGlobalPermissionsResponse.newBuilder() to construct.
3551    private WsSearchGlobalPermissionsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
3552      super(builder);
3553    }
3554    private WsSearchGlobalPermissionsResponse() {
3555      permissions_ = java.util.Collections.emptyList();
3556    }
3557
3558    @java.lang.Override
3559    public final com.google.protobuf.UnknownFieldSet
3560    getUnknownFields() {
3561      return this.unknownFields;
3562    }
3563    private WsSearchGlobalPermissionsResponse(
3564        com.google.protobuf.CodedInputStream input,
3565        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
3566      this();
3567      int mutable_bitField0_ = 0;
3568      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
3569          com.google.protobuf.UnknownFieldSet.newBuilder();
3570      try {
3571        boolean done = false;
3572        while (!done) {
3573          int tag = input.readTag();
3574          switch (tag) {
3575            case 0:
3576              done = true;
3577              break;
3578            default: {
3579              if (!parseUnknownField(input, unknownFields,
3580                                     extensionRegistry, tag)) {
3581                done = true;
3582              }
3583              break;
3584            }
3585            case 10: {
3586              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
3587                permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>();
3588                mutable_bitField0_ |= 0x00000001;
3589              }
3590              permissions_.add(input.readMessage(org.sonarqube.ws.WsPermissions.Permission.parser(), extensionRegistry));
3591              break;
3592            }
3593          }
3594        }
3595      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3596        throw new RuntimeException(e.setUnfinishedMessage(this));
3597      } catch (java.io.IOException e) {
3598        throw new RuntimeException(
3599            new com.google.protobuf.InvalidProtocolBufferException(
3600                e.getMessage()).setUnfinishedMessage(this));
3601      } finally {
3602        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
3603          permissions_ = java.util.Collections.unmodifiableList(permissions_);
3604        }
3605        this.unknownFields = unknownFields.build();
3606        makeExtensionsImmutable();
3607      }
3608    }
3609    public static final com.google.protobuf.Descriptors.Descriptor
3610        getDescriptor() {
3611      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_descriptor;
3612    }
3613
3614    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
3615        internalGetFieldAccessorTable() {
3616      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_fieldAccessorTable
3617          .ensureFieldAccessorsInitialized(
3618              org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse.class, org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse.Builder.class);
3619    }
3620
3621    public static final int PERMISSIONS_FIELD_NUMBER = 1;
3622    private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_;
3623    /**
3624     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3625     */
3626    public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
3627      return permissions_;
3628    }
3629    /**
3630     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3631     */
3632    public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
3633        getPermissionsOrBuilderList() {
3634      return permissions_;
3635    }
3636    /**
3637     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3638     */
3639    public int getPermissionsCount() {
3640      return permissions_.size();
3641    }
3642    /**
3643     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3644     */
3645    public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
3646      return permissions_.get(index);
3647    }
3648    /**
3649     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3650     */
3651    public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
3652        int index) {
3653      return permissions_.get(index);
3654    }
3655
3656    private byte memoizedIsInitialized = -1;
3657    public final boolean isInitialized() {
3658      byte isInitialized = memoizedIsInitialized;
3659      if (isInitialized == 1) return true;
3660      if (isInitialized == 0) return false;
3661
3662      memoizedIsInitialized = 1;
3663      return true;
3664    }
3665
3666    public void writeTo(com.google.protobuf.CodedOutputStream output)
3667                        throws java.io.IOException {
3668      for (int i = 0; i < permissions_.size(); i++) {
3669        output.writeMessage(1, permissions_.get(i));
3670      }
3671      unknownFields.writeTo(output);
3672    }
3673
3674    public int getSerializedSize() {
3675      int size = memoizedSize;
3676      if (size != -1) return size;
3677
3678      size = 0;
3679      for (int i = 0; i < permissions_.size(); i++) {
3680        size += com.google.protobuf.CodedOutputStream
3681          .computeMessageSize(1, permissions_.get(i));
3682      }
3683      size += unknownFields.getSerializedSize();
3684      memoizedSize = size;
3685      return size;
3686    }
3687
3688    private static final long serialVersionUID = 0L;
3689    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseFrom(
3690        com.google.protobuf.ByteString data)
3691        throws com.google.protobuf.InvalidProtocolBufferException {
3692      return PARSER.parseFrom(data);
3693    }
3694    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseFrom(
3695        com.google.protobuf.ByteString data,
3696        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3697        throws com.google.protobuf.InvalidProtocolBufferException {
3698      return PARSER.parseFrom(data, extensionRegistry);
3699    }
3700    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseFrom(byte[] data)
3701        throws com.google.protobuf.InvalidProtocolBufferException {
3702      return PARSER.parseFrom(data);
3703    }
3704    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseFrom(
3705        byte[] data,
3706        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3707        throws com.google.protobuf.InvalidProtocolBufferException {
3708      return PARSER.parseFrom(data, extensionRegistry);
3709    }
3710    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseFrom(java.io.InputStream input)
3711        throws java.io.IOException {
3712      return PARSER.parseFrom(input);
3713    }
3714    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseFrom(
3715        java.io.InputStream input,
3716        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3717        throws java.io.IOException {
3718      return PARSER.parseFrom(input, extensionRegistry);
3719    }
3720    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseDelimitedFrom(java.io.InputStream input)
3721        throws java.io.IOException {
3722      return PARSER.parseDelimitedFrom(input);
3723    }
3724    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseDelimitedFrom(
3725        java.io.InputStream input,
3726        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3727        throws java.io.IOException {
3728      return PARSER.parseDelimitedFrom(input, extensionRegistry);
3729    }
3730    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseFrom(
3731        com.google.protobuf.CodedInputStream input)
3732        throws java.io.IOException {
3733      return PARSER.parseFrom(input);
3734    }
3735    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parseFrom(
3736        com.google.protobuf.CodedInputStream input,
3737        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3738        throws java.io.IOException {
3739      return PARSER.parseFrom(input, extensionRegistry);
3740    }
3741
3742    public Builder newBuilderForType() { return newBuilder(); }
3743    public static Builder newBuilder() {
3744      return DEFAULT_INSTANCE.toBuilder();
3745    }
3746    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse prototype) {
3747      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3748    }
3749    public Builder toBuilder() {
3750      return this == DEFAULT_INSTANCE
3751          ? new Builder() : new Builder().mergeFrom(this);
3752    }
3753
3754    @java.lang.Override
3755    protected Builder newBuilderForType(
3756        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3757      Builder builder = new Builder(parent);
3758      return builder;
3759    }
3760    /**
3761     * Protobuf type {@code sonarqube.ws.permissions.WsSearchGlobalPermissionsResponse}
3762     */
3763    public static final class Builder extends
3764        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
3765        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.WsSearchGlobalPermissionsResponse)
3766        org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponseOrBuilder {
3767      public static final com.google.protobuf.Descriptors.Descriptor
3768          getDescriptor() {
3769        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_descriptor;
3770      }
3771
3772      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
3773          internalGetFieldAccessorTable() {
3774        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_fieldAccessorTable
3775            .ensureFieldAccessorsInitialized(
3776                org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse.class, org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse.Builder.class);
3777      }
3778
3779      // Construct using org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse.newBuilder()
3780      private Builder() {
3781        maybeForceBuilderInitialization();
3782      }
3783
3784      private Builder(
3785          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3786        super(parent);
3787        maybeForceBuilderInitialization();
3788      }
3789      private void maybeForceBuilderInitialization() {
3790        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
3791          getPermissionsFieldBuilder();
3792        }
3793      }
3794      public Builder clear() {
3795        super.clear();
3796        if (permissionsBuilder_ == null) {
3797          permissions_ = java.util.Collections.emptyList();
3798          bitField0_ = (bitField0_ & ~0x00000001);
3799        } else {
3800          permissionsBuilder_.clear();
3801        }
3802        return this;
3803      }
3804
3805      public com.google.protobuf.Descriptors.Descriptor
3806          getDescriptorForType() {
3807        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_descriptor;
3808      }
3809
3810      public org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse getDefaultInstanceForType() {
3811        return org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse.getDefaultInstance();
3812      }
3813
3814      public org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse build() {
3815        org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse result = buildPartial();
3816        if (!result.isInitialized()) {
3817          throw newUninitializedMessageException(result);
3818        }
3819        return result;
3820      }
3821
3822      public org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse buildPartial() {
3823        org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse result = new org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse(this);
3824        int from_bitField0_ = bitField0_;
3825        if (permissionsBuilder_ == null) {
3826          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3827            permissions_ = java.util.Collections.unmodifiableList(permissions_);
3828            bitField0_ = (bitField0_ & ~0x00000001);
3829          }
3830          result.permissions_ = permissions_;
3831        } else {
3832          result.permissions_ = permissionsBuilder_.build();
3833        }
3834        onBuilt();
3835        return result;
3836      }
3837
3838      public Builder mergeFrom(com.google.protobuf.Message other) {
3839        if (other instanceof org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse) {
3840          return mergeFrom((org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse)other);
3841        } else {
3842          super.mergeFrom(other);
3843          return this;
3844        }
3845      }
3846
3847      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse other) {
3848        if (other == org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse.getDefaultInstance()) return this;
3849        if (permissionsBuilder_ == null) {
3850          if (!other.permissions_.isEmpty()) {
3851            if (permissions_.isEmpty()) {
3852              permissions_ = other.permissions_;
3853              bitField0_ = (bitField0_ & ~0x00000001);
3854            } else {
3855              ensurePermissionsIsMutable();
3856              permissions_.addAll(other.permissions_);
3857            }
3858            onChanged();
3859          }
3860        } else {
3861          if (!other.permissions_.isEmpty()) {
3862            if (permissionsBuilder_.isEmpty()) {
3863              permissionsBuilder_.dispose();
3864              permissionsBuilder_ = null;
3865              permissions_ = other.permissions_;
3866              bitField0_ = (bitField0_ & ~0x00000001);
3867              permissionsBuilder_ = 
3868                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
3869                   getPermissionsFieldBuilder() : null;
3870            } else {
3871              permissionsBuilder_.addAllMessages(other.permissions_);
3872            }
3873          }
3874        }
3875        this.mergeUnknownFields(other.unknownFields);
3876        onChanged();
3877        return this;
3878      }
3879
3880      public final boolean isInitialized() {
3881        return true;
3882      }
3883
3884      public Builder mergeFrom(
3885          com.google.protobuf.CodedInputStream input,
3886          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3887          throws java.io.IOException {
3888        org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse parsedMessage = null;
3889        try {
3890          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3891        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3892          parsedMessage = (org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse) e.getUnfinishedMessage();
3893          throw e;
3894        } finally {
3895          if (parsedMessage != null) {
3896            mergeFrom(parsedMessage);
3897          }
3898        }
3899        return this;
3900      }
3901      private int bitField0_;
3902
3903      private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_ =
3904        java.util.Collections.emptyList();
3905      private void ensurePermissionsIsMutable() {
3906        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
3907          permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>(permissions_);
3908          bitField0_ |= 0x00000001;
3909         }
3910      }
3911
3912      private com.google.protobuf.RepeatedFieldBuilder<
3913          org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> permissionsBuilder_;
3914
3915      /**
3916       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3917       */
3918      public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
3919        if (permissionsBuilder_ == null) {
3920          return java.util.Collections.unmodifiableList(permissions_);
3921        } else {
3922          return permissionsBuilder_.getMessageList();
3923        }
3924      }
3925      /**
3926       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3927       */
3928      public int getPermissionsCount() {
3929        if (permissionsBuilder_ == null) {
3930          return permissions_.size();
3931        } else {
3932          return permissionsBuilder_.getCount();
3933        }
3934      }
3935      /**
3936       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3937       */
3938      public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
3939        if (permissionsBuilder_ == null) {
3940          return permissions_.get(index);
3941        } else {
3942          return permissionsBuilder_.getMessage(index);
3943        }
3944      }
3945      /**
3946       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3947       */
3948      public Builder setPermissions(
3949          int index, org.sonarqube.ws.WsPermissions.Permission value) {
3950        if (permissionsBuilder_ == null) {
3951          if (value == null) {
3952            throw new NullPointerException();
3953          }
3954          ensurePermissionsIsMutable();
3955          permissions_.set(index, value);
3956          onChanged();
3957        } else {
3958          permissionsBuilder_.setMessage(index, value);
3959        }
3960        return this;
3961      }
3962      /**
3963       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3964       */
3965      public Builder setPermissions(
3966          int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
3967        if (permissionsBuilder_ == null) {
3968          ensurePermissionsIsMutable();
3969          permissions_.set(index, builderForValue.build());
3970          onChanged();
3971        } else {
3972          permissionsBuilder_.setMessage(index, builderForValue.build());
3973        }
3974        return this;
3975      }
3976      /**
3977       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3978       */
3979      public Builder addPermissions(org.sonarqube.ws.WsPermissions.Permission value) {
3980        if (permissionsBuilder_ == null) {
3981          if (value == null) {
3982            throw new NullPointerException();
3983          }
3984          ensurePermissionsIsMutable();
3985          permissions_.add(value);
3986          onChanged();
3987        } else {
3988          permissionsBuilder_.addMessage(value);
3989        }
3990        return this;
3991      }
3992      /**
3993       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
3994       */
3995      public Builder addPermissions(
3996          int index, org.sonarqube.ws.WsPermissions.Permission value) {
3997        if (permissionsBuilder_ == null) {
3998          if (value == null) {
3999            throw new NullPointerException();
4000          }
4001          ensurePermissionsIsMutable();
4002          permissions_.add(index, value);
4003          onChanged();
4004        } else {
4005          permissionsBuilder_.addMessage(index, value);
4006        }
4007        return this;
4008      }
4009      /**
4010       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4011       */
4012      public Builder addPermissions(
4013          org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
4014        if (permissionsBuilder_ == null) {
4015          ensurePermissionsIsMutable();
4016          permissions_.add(builderForValue.build());
4017          onChanged();
4018        } else {
4019          permissionsBuilder_.addMessage(builderForValue.build());
4020        }
4021        return this;
4022      }
4023      /**
4024       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4025       */
4026      public Builder addPermissions(
4027          int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
4028        if (permissionsBuilder_ == null) {
4029          ensurePermissionsIsMutable();
4030          permissions_.add(index, builderForValue.build());
4031          onChanged();
4032        } else {
4033          permissionsBuilder_.addMessage(index, builderForValue.build());
4034        }
4035        return this;
4036      }
4037      /**
4038       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4039       */
4040      public Builder addAllPermissions(
4041          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.Permission> values) {
4042        if (permissionsBuilder_ == null) {
4043          ensurePermissionsIsMutable();
4044          com.google.protobuf.AbstractMessageLite.Builder.addAll(
4045              values, permissions_);
4046          onChanged();
4047        } else {
4048          permissionsBuilder_.addAllMessages(values);
4049        }
4050        return this;
4051      }
4052      /**
4053       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4054       */
4055      public Builder clearPermissions() {
4056        if (permissionsBuilder_ == null) {
4057          permissions_ = java.util.Collections.emptyList();
4058          bitField0_ = (bitField0_ & ~0x00000001);
4059          onChanged();
4060        } else {
4061          permissionsBuilder_.clear();
4062        }
4063        return this;
4064      }
4065      /**
4066       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4067       */
4068      public Builder removePermissions(int index) {
4069        if (permissionsBuilder_ == null) {
4070          ensurePermissionsIsMutable();
4071          permissions_.remove(index);
4072          onChanged();
4073        } else {
4074          permissionsBuilder_.remove(index);
4075        }
4076        return this;
4077      }
4078      /**
4079       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4080       */
4081      public org.sonarqube.ws.WsPermissions.Permission.Builder getPermissionsBuilder(
4082          int index) {
4083        return getPermissionsFieldBuilder().getBuilder(index);
4084      }
4085      /**
4086       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4087       */
4088      public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
4089          int index) {
4090        if (permissionsBuilder_ == null) {
4091          return permissions_.get(index);  } else {
4092          return permissionsBuilder_.getMessageOrBuilder(index);
4093        }
4094      }
4095      /**
4096       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4097       */
4098      public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
4099           getPermissionsOrBuilderList() {
4100        if (permissionsBuilder_ != null) {
4101          return permissionsBuilder_.getMessageOrBuilderList();
4102        } else {
4103          return java.util.Collections.unmodifiableList(permissions_);
4104        }
4105      }
4106      /**
4107       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4108       */
4109      public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder() {
4110        return getPermissionsFieldBuilder().addBuilder(
4111            org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
4112      }
4113      /**
4114       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4115       */
4116      public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder(
4117          int index) {
4118        return getPermissionsFieldBuilder().addBuilder(
4119            index, org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
4120      }
4121      /**
4122       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 1;</code>
4123       */
4124      public java.util.List<org.sonarqube.ws.WsPermissions.Permission.Builder> 
4125           getPermissionsBuilderList() {
4126        return getPermissionsFieldBuilder().getBuilderList();
4127      }
4128      private com.google.protobuf.RepeatedFieldBuilder<
4129          org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
4130          getPermissionsFieldBuilder() {
4131        if (permissionsBuilder_ == null) {
4132          permissionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
4133              org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder>(
4134                  permissions_,
4135                  ((bitField0_ & 0x00000001) == 0x00000001),
4136                  getParentForChildren(),
4137                  isClean());
4138          permissions_ = null;
4139        }
4140        return permissionsBuilder_;
4141      }
4142
4143      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.WsSearchGlobalPermissionsResponse)
4144    }
4145
4146    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.WsSearchGlobalPermissionsResponse)
4147    private static final org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse DEFAULT_INSTANCE;
4148    static {
4149      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse();
4150    }
4151
4152    public static org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse getDefaultInstance() {
4153      return DEFAULT_INSTANCE;
4154    }
4155
4156    @java.lang.Deprecated public static final com.google.protobuf.Parser<WsSearchGlobalPermissionsResponse>
4157        PARSER = new com.google.protobuf.AbstractParser<WsSearchGlobalPermissionsResponse>() {
4158      public WsSearchGlobalPermissionsResponse parsePartialFrom(
4159          com.google.protobuf.CodedInputStream input,
4160          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4161          throws com.google.protobuf.InvalidProtocolBufferException {
4162        try {
4163          return new WsSearchGlobalPermissionsResponse(input, extensionRegistry);
4164        } catch (RuntimeException e) {
4165          if (e.getCause() instanceof
4166              com.google.protobuf.InvalidProtocolBufferException) {
4167            throw (com.google.protobuf.InvalidProtocolBufferException)
4168                e.getCause();
4169          }
4170          throw e;
4171        }
4172      }
4173    };
4174
4175    public static com.google.protobuf.Parser<WsSearchGlobalPermissionsResponse> parser() {
4176      return PARSER;
4177    }
4178
4179    @java.lang.Override
4180    public com.google.protobuf.Parser<WsSearchGlobalPermissionsResponse> getParserForType() {
4181      return PARSER;
4182    }
4183
4184    public org.sonarqube.ws.WsPermissions.WsSearchGlobalPermissionsResponse getDefaultInstanceForType() {
4185      return DEFAULT_INSTANCE;
4186    }
4187
4188  }
4189
4190  public interface SearchProjectPermissionsWsResponseOrBuilder extends
4191      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse)
4192      com.google.protobuf.MessageOrBuilder {
4193
4194    /**
4195     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
4196     */
4197    boolean hasPaging();
4198    /**
4199     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
4200     */
4201    org.sonarqube.ws.Common.Paging getPaging();
4202    /**
4203     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
4204     */
4205    org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder();
4206
4207    /**
4208     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
4209     */
4210    java.util.List<org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project> 
4211        getProjectsList();
4212    /**
4213     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
4214     */
4215    org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project getProjects(int index);
4216    /**
4217     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
4218     */
4219    int getProjectsCount();
4220    /**
4221     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
4222     */
4223    java.util.List<? extends org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder> 
4224        getProjectsOrBuilderList();
4225    /**
4226     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
4227     */
4228    org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder getProjectsOrBuilder(
4229        int index);
4230
4231    /**
4232     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
4233     */
4234    java.util.List<org.sonarqube.ws.WsPermissions.Permission> 
4235        getPermissionsList();
4236    /**
4237     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
4238     */
4239    org.sonarqube.ws.WsPermissions.Permission getPermissions(int index);
4240    /**
4241     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
4242     */
4243    int getPermissionsCount();
4244    /**
4245     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
4246     */
4247    java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
4248        getPermissionsOrBuilderList();
4249    /**
4250     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
4251     */
4252    org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
4253        int index);
4254  }
4255  /**
4256   * Protobuf type {@code sonarqube.ws.permissions.SearchProjectPermissionsWsResponse}
4257   */
4258  public  static final class SearchProjectPermissionsWsResponse extends
4259      com.google.protobuf.GeneratedMessage implements
4260      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse)
4261      SearchProjectPermissionsWsResponseOrBuilder {
4262    // Use SearchProjectPermissionsWsResponse.newBuilder() to construct.
4263    private SearchProjectPermissionsWsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
4264      super(builder);
4265    }
4266    private SearchProjectPermissionsWsResponse() {
4267      projects_ = java.util.Collections.emptyList();
4268      permissions_ = java.util.Collections.emptyList();
4269    }
4270
4271    @java.lang.Override
4272    public final com.google.protobuf.UnknownFieldSet
4273    getUnknownFields() {
4274      return this.unknownFields;
4275    }
4276    private SearchProjectPermissionsWsResponse(
4277        com.google.protobuf.CodedInputStream input,
4278        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
4279      this();
4280      int mutable_bitField0_ = 0;
4281      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
4282          com.google.protobuf.UnknownFieldSet.newBuilder();
4283      try {
4284        boolean done = false;
4285        while (!done) {
4286          int tag = input.readTag();
4287          switch (tag) {
4288            case 0:
4289              done = true;
4290              break;
4291            default: {
4292              if (!parseUnknownField(input, unknownFields,
4293                                     extensionRegistry, tag)) {
4294                done = true;
4295              }
4296              break;
4297            }
4298            case 10: {
4299              org.sonarqube.ws.Common.Paging.Builder subBuilder = null;
4300              if (((bitField0_ & 0x00000001) == 0x00000001)) {
4301                subBuilder = paging_.toBuilder();
4302              }
4303              paging_ = input.readMessage(org.sonarqube.ws.Common.Paging.parser(), extensionRegistry);
4304              if (subBuilder != null) {
4305                subBuilder.mergeFrom(paging_);
4306                paging_ = subBuilder.buildPartial();
4307              }
4308              bitField0_ |= 0x00000001;
4309              break;
4310            }
4311            case 18: {
4312              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4313                projects_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project>();
4314                mutable_bitField0_ |= 0x00000002;
4315              }
4316              projects_.add(input.readMessage(org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.parser(), extensionRegistry));
4317              break;
4318            }
4319            case 26: {
4320              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
4321                permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>();
4322                mutable_bitField0_ |= 0x00000004;
4323              }
4324              permissions_.add(input.readMessage(org.sonarqube.ws.WsPermissions.Permission.parser(), extensionRegistry));
4325              break;
4326            }
4327          }
4328        }
4329      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4330        throw new RuntimeException(e.setUnfinishedMessage(this));
4331      } catch (java.io.IOException e) {
4332        throw new RuntimeException(
4333            new com.google.protobuf.InvalidProtocolBufferException(
4334                e.getMessage()).setUnfinishedMessage(this));
4335      } finally {
4336        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4337          projects_ = java.util.Collections.unmodifiableList(projects_);
4338        }
4339        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
4340          permissions_ = java.util.Collections.unmodifiableList(permissions_);
4341        }
4342        this.unknownFields = unknownFields.build();
4343        makeExtensionsImmutable();
4344      }
4345    }
4346    public static final com.google.protobuf.Descriptors.Descriptor
4347        getDescriptor() {
4348      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_descriptor;
4349    }
4350
4351    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
4352        internalGetFieldAccessorTable() {
4353      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_fieldAccessorTable
4354          .ensureFieldAccessorsInitialized(
4355              org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.class, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Builder.class);
4356    }
4357
4358    public interface ProjectOrBuilder extends
4359        // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project)
4360        com.google.protobuf.MessageOrBuilder {
4361
4362      /**
4363       * <code>optional string id = 1;</code>
4364       */
4365      boolean hasId();
4366      /**
4367       * <code>optional string id = 1;</code>
4368       */
4369      java.lang.String getId();
4370      /**
4371       * <code>optional string id = 1;</code>
4372       */
4373      com.google.protobuf.ByteString
4374          getIdBytes();
4375
4376      /**
4377       * <code>optional string key = 2;</code>
4378       */
4379      boolean hasKey();
4380      /**
4381       * <code>optional string key = 2;</code>
4382       */
4383      java.lang.String getKey();
4384      /**
4385       * <code>optional string key = 2;</code>
4386       */
4387      com.google.protobuf.ByteString
4388          getKeyBytes();
4389
4390      /**
4391       * <code>optional string qualifier = 3;</code>
4392       */
4393      boolean hasQualifier();
4394      /**
4395       * <code>optional string qualifier = 3;</code>
4396       */
4397      java.lang.String getQualifier();
4398      /**
4399       * <code>optional string qualifier = 3;</code>
4400       */
4401      com.google.protobuf.ByteString
4402          getQualifierBytes();
4403
4404      /**
4405       * <code>optional string name = 4;</code>
4406       */
4407      boolean hasName();
4408      /**
4409       * <code>optional string name = 4;</code>
4410       */
4411      java.lang.String getName();
4412      /**
4413       * <code>optional string name = 4;</code>
4414       */
4415      com.google.protobuf.ByteString
4416          getNameBytes();
4417
4418      /**
4419       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4420       */
4421      java.util.List<org.sonarqube.ws.WsPermissions.Permission> 
4422          getPermissionsList();
4423      /**
4424       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4425       */
4426      org.sonarqube.ws.WsPermissions.Permission getPermissions(int index);
4427      /**
4428       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4429       */
4430      int getPermissionsCount();
4431      /**
4432       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4433       */
4434      java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
4435          getPermissionsOrBuilderList();
4436      /**
4437       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4438       */
4439      org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
4440          int index);
4441    }
4442    /**
4443     * Protobuf type {@code sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project}
4444     */
4445    public  static final class Project extends
4446        com.google.protobuf.GeneratedMessage implements
4447        // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project)
4448        ProjectOrBuilder {
4449      // Use Project.newBuilder() to construct.
4450      private Project(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
4451        super(builder);
4452      }
4453      private Project() {
4454        id_ = "";
4455        key_ = "";
4456        qualifier_ = "";
4457        name_ = "";
4458        permissions_ = java.util.Collections.emptyList();
4459      }
4460
4461      @java.lang.Override
4462      public final com.google.protobuf.UnknownFieldSet
4463      getUnknownFields() {
4464        return this.unknownFields;
4465      }
4466      private Project(
4467          com.google.protobuf.CodedInputStream input,
4468          com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
4469        this();
4470        int mutable_bitField0_ = 0;
4471        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
4472            com.google.protobuf.UnknownFieldSet.newBuilder();
4473        try {
4474          boolean done = false;
4475          while (!done) {
4476            int tag = input.readTag();
4477            switch (tag) {
4478              case 0:
4479                done = true;
4480                break;
4481              default: {
4482                if (!parseUnknownField(input, unknownFields,
4483                                       extensionRegistry, tag)) {
4484                  done = true;
4485                }
4486                break;
4487              }
4488              case 10: {
4489                com.google.protobuf.ByteString bs = input.readBytes();
4490                bitField0_ |= 0x00000001;
4491                id_ = bs;
4492                break;
4493              }
4494              case 18: {
4495                com.google.protobuf.ByteString bs = input.readBytes();
4496                bitField0_ |= 0x00000002;
4497                key_ = bs;
4498                break;
4499              }
4500              case 26: {
4501                com.google.protobuf.ByteString bs = input.readBytes();
4502                bitField0_ |= 0x00000004;
4503                qualifier_ = bs;
4504                break;
4505              }
4506              case 34: {
4507                com.google.protobuf.ByteString bs = input.readBytes();
4508                bitField0_ |= 0x00000008;
4509                name_ = bs;
4510                break;
4511              }
4512              case 42: {
4513                if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
4514                  permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>();
4515                  mutable_bitField0_ |= 0x00000010;
4516                }
4517                permissions_.add(input.readMessage(org.sonarqube.ws.WsPermissions.Permission.parser(), extensionRegistry));
4518                break;
4519              }
4520            }
4521          }
4522        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4523          throw new RuntimeException(e.setUnfinishedMessage(this));
4524        } catch (java.io.IOException e) {
4525          throw new RuntimeException(
4526              new com.google.protobuf.InvalidProtocolBufferException(
4527                  e.getMessage()).setUnfinishedMessage(this));
4528        } finally {
4529          if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
4530            permissions_ = java.util.Collections.unmodifiableList(permissions_);
4531          }
4532          this.unknownFields = unknownFields.build();
4533          makeExtensionsImmutable();
4534        }
4535      }
4536      public static final com.google.protobuf.Descriptors.Descriptor
4537          getDescriptor() {
4538        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_descriptor;
4539      }
4540
4541      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
4542          internalGetFieldAccessorTable() {
4543        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_fieldAccessorTable
4544            .ensureFieldAccessorsInitialized(
4545                org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.class, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder.class);
4546      }
4547
4548      private int bitField0_;
4549      public static final int ID_FIELD_NUMBER = 1;
4550      private volatile java.lang.Object id_;
4551      /**
4552       * <code>optional string id = 1;</code>
4553       */
4554      public boolean hasId() {
4555        return ((bitField0_ & 0x00000001) == 0x00000001);
4556      }
4557      /**
4558       * <code>optional string id = 1;</code>
4559       */
4560      public java.lang.String getId() {
4561        java.lang.Object ref = id_;
4562        if (ref instanceof java.lang.String) {
4563          return (java.lang.String) ref;
4564        } else {
4565          com.google.protobuf.ByteString bs = 
4566              (com.google.protobuf.ByteString) ref;
4567          java.lang.String s = bs.toStringUtf8();
4568          if (bs.isValidUtf8()) {
4569            id_ = s;
4570          }
4571          return s;
4572        }
4573      }
4574      /**
4575       * <code>optional string id = 1;</code>
4576       */
4577      public com.google.protobuf.ByteString
4578          getIdBytes() {
4579        java.lang.Object ref = id_;
4580        if (ref instanceof java.lang.String) {
4581          com.google.protobuf.ByteString b = 
4582              com.google.protobuf.ByteString.copyFromUtf8(
4583                  (java.lang.String) ref);
4584          id_ = b;
4585          return b;
4586        } else {
4587          return (com.google.protobuf.ByteString) ref;
4588        }
4589      }
4590
4591      public static final int KEY_FIELD_NUMBER = 2;
4592      private volatile java.lang.Object key_;
4593      /**
4594       * <code>optional string key = 2;</code>
4595       */
4596      public boolean hasKey() {
4597        return ((bitField0_ & 0x00000002) == 0x00000002);
4598      }
4599      /**
4600       * <code>optional string key = 2;</code>
4601       */
4602      public java.lang.String getKey() {
4603        java.lang.Object ref = key_;
4604        if (ref instanceof java.lang.String) {
4605          return (java.lang.String) ref;
4606        } else {
4607          com.google.protobuf.ByteString bs = 
4608              (com.google.protobuf.ByteString) ref;
4609          java.lang.String s = bs.toStringUtf8();
4610          if (bs.isValidUtf8()) {
4611            key_ = s;
4612          }
4613          return s;
4614        }
4615      }
4616      /**
4617       * <code>optional string key = 2;</code>
4618       */
4619      public com.google.protobuf.ByteString
4620          getKeyBytes() {
4621        java.lang.Object ref = key_;
4622        if (ref instanceof java.lang.String) {
4623          com.google.protobuf.ByteString b = 
4624              com.google.protobuf.ByteString.copyFromUtf8(
4625                  (java.lang.String) ref);
4626          key_ = b;
4627          return b;
4628        } else {
4629          return (com.google.protobuf.ByteString) ref;
4630        }
4631      }
4632
4633      public static final int QUALIFIER_FIELD_NUMBER = 3;
4634      private volatile java.lang.Object qualifier_;
4635      /**
4636       * <code>optional string qualifier = 3;</code>
4637       */
4638      public boolean hasQualifier() {
4639        return ((bitField0_ & 0x00000004) == 0x00000004);
4640      }
4641      /**
4642       * <code>optional string qualifier = 3;</code>
4643       */
4644      public java.lang.String getQualifier() {
4645        java.lang.Object ref = qualifier_;
4646        if (ref instanceof java.lang.String) {
4647          return (java.lang.String) ref;
4648        } else {
4649          com.google.protobuf.ByteString bs = 
4650              (com.google.protobuf.ByteString) ref;
4651          java.lang.String s = bs.toStringUtf8();
4652          if (bs.isValidUtf8()) {
4653            qualifier_ = s;
4654          }
4655          return s;
4656        }
4657      }
4658      /**
4659       * <code>optional string qualifier = 3;</code>
4660       */
4661      public com.google.protobuf.ByteString
4662          getQualifierBytes() {
4663        java.lang.Object ref = qualifier_;
4664        if (ref instanceof java.lang.String) {
4665          com.google.protobuf.ByteString b = 
4666              com.google.protobuf.ByteString.copyFromUtf8(
4667                  (java.lang.String) ref);
4668          qualifier_ = b;
4669          return b;
4670        } else {
4671          return (com.google.protobuf.ByteString) ref;
4672        }
4673      }
4674
4675      public static final int NAME_FIELD_NUMBER = 4;
4676      private volatile java.lang.Object name_;
4677      /**
4678       * <code>optional string name = 4;</code>
4679       */
4680      public boolean hasName() {
4681        return ((bitField0_ & 0x00000008) == 0x00000008);
4682      }
4683      /**
4684       * <code>optional string name = 4;</code>
4685       */
4686      public java.lang.String getName() {
4687        java.lang.Object ref = name_;
4688        if (ref instanceof java.lang.String) {
4689          return (java.lang.String) ref;
4690        } else {
4691          com.google.protobuf.ByteString bs = 
4692              (com.google.protobuf.ByteString) ref;
4693          java.lang.String s = bs.toStringUtf8();
4694          if (bs.isValidUtf8()) {
4695            name_ = s;
4696          }
4697          return s;
4698        }
4699      }
4700      /**
4701       * <code>optional string name = 4;</code>
4702       */
4703      public com.google.protobuf.ByteString
4704          getNameBytes() {
4705        java.lang.Object ref = name_;
4706        if (ref instanceof java.lang.String) {
4707          com.google.protobuf.ByteString b = 
4708              com.google.protobuf.ByteString.copyFromUtf8(
4709                  (java.lang.String) ref);
4710          name_ = b;
4711          return b;
4712        } else {
4713          return (com.google.protobuf.ByteString) ref;
4714        }
4715      }
4716
4717      public static final int PERMISSIONS_FIELD_NUMBER = 5;
4718      private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_;
4719      /**
4720       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4721       */
4722      public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
4723        return permissions_;
4724      }
4725      /**
4726       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4727       */
4728      public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
4729          getPermissionsOrBuilderList() {
4730        return permissions_;
4731      }
4732      /**
4733       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4734       */
4735      public int getPermissionsCount() {
4736        return permissions_.size();
4737      }
4738      /**
4739       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4740       */
4741      public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
4742        return permissions_.get(index);
4743      }
4744      /**
4745       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
4746       */
4747      public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
4748          int index) {
4749        return permissions_.get(index);
4750      }
4751
4752      private byte memoizedIsInitialized = -1;
4753      public final boolean isInitialized() {
4754        byte isInitialized = memoizedIsInitialized;
4755        if (isInitialized == 1) return true;
4756        if (isInitialized == 0) return false;
4757
4758        memoizedIsInitialized = 1;
4759        return true;
4760      }
4761
4762      public void writeTo(com.google.protobuf.CodedOutputStream output)
4763                          throws java.io.IOException {
4764        if (((bitField0_ & 0x00000001) == 0x00000001)) {
4765          com.google.protobuf.GeneratedMessage.writeString(output, 1, id_);
4766        }
4767        if (((bitField0_ & 0x00000002) == 0x00000002)) {
4768          com.google.protobuf.GeneratedMessage.writeString(output, 2, key_);
4769        }
4770        if (((bitField0_ & 0x00000004) == 0x00000004)) {
4771          com.google.protobuf.GeneratedMessage.writeString(output, 3, qualifier_);
4772        }
4773        if (((bitField0_ & 0x00000008) == 0x00000008)) {
4774          com.google.protobuf.GeneratedMessage.writeString(output, 4, name_);
4775        }
4776        for (int i = 0; i < permissions_.size(); i++) {
4777          output.writeMessage(5, permissions_.get(i));
4778        }
4779        unknownFields.writeTo(output);
4780      }
4781
4782      public int getSerializedSize() {
4783        int size = memoizedSize;
4784        if (size != -1) return size;
4785
4786        size = 0;
4787        if (((bitField0_ & 0x00000001) == 0x00000001)) {
4788          size += com.google.protobuf.GeneratedMessage.computeStringSize(1, id_);
4789        }
4790        if (((bitField0_ & 0x00000002) == 0x00000002)) {
4791          size += com.google.protobuf.GeneratedMessage.computeStringSize(2, key_);
4792        }
4793        if (((bitField0_ & 0x00000004) == 0x00000004)) {
4794          size += com.google.protobuf.GeneratedMessage.computeStringSize(3, qualifier_);
4795        }
4796        if (((bitField0_ & 0x00000008) == 0x00000008)) {
4797          size += com.google.protobuf.GeneratedMessage.computeStringSize(4, name_);
4798        }
4799        for (int i = 0; i < permissions_.size(); i++) {
4800          size += com.google.protobuf.CodedOutputStream
4801            .computeMessageSize(5, permissions_.get(i));
4802        }
4803        size += unknownFields.getSerializedSize();
4804        memoizedSize = size;
4805        return size;
4806      }
4807
4808      private static final long serialVersionUID = 0L;
4809      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseFrom(
4810          com.google.protobuf.ByteString data)
4811          throws com.google.protobuf.InvalidProtocolBufferException {
4812        return PARSER.parseFrom(data);
4813      }
4814      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseFrom(
4815          com.google.protobuf.ByteString data,
4816          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4817          throws com.google.protobuf.InvalidProtocolBufferException {
4818        return PARSER.parseFrom(data, extensionRegistry);
4819      }
4820      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseFrom(byte[] data)
4821          throws com.google.protobuf.InvalidProtocolBufferException {
4822        return PARSER.parseFrom(data);
4823      }
4824      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseFrom(
4825          byte[] data,
4826          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4827          throws com.google.protobuf.InvalidProtocolBufferException {
4828        return PARSER.parseFrom(data, extensionRegistry);
4829      }
4830      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseFrom(java.io.InputStream input)
4831          throws java.io.IOException {
4832        return PARSER.parseFrom(input);
4833      }
4834      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseFrom(
4835          java.io.InputStream input,
4836          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4837          throws java.io.IOException {
4838        return PARSER.parseFrom(input, extensionRegistry);
4839      }
4840      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseDelimitedFrom(java.io.InputStream input)
4841          throws java.io.IOException {
4842        return PARSER.parseDelimitedFrom(input);
4843      }
4844      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseDelimitedFrom(
4845          java.io.InputStream input,
4846          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4847          throws java.io.IOException {
4848        return PARSER.parseDelimitedFrom(input, extensionRegistry);
4849      }
4850      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseFrom(
4851          com.google.protobuf.CodedInputStream input)
4852          throws java.io.IOException {
4853        return PARSER.parseFrom(input);
4854      }
4855      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parseFrom(
4856          com.google.protobuf.CodedInputStream input,
4857          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4858          throws java.io.IOException {
4859        return PARSER.parseFrom(input, extensionRegistry);
4860      }
4861
4862      public Builder newBuilderForType() { return newBuilder(); }
4863      public static Builder newBuilder() {
4864        return DEFAULT_INSTANCE.toBuilder();
4865      }
4866      public static Builder newBuilder(org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project prototype) {
4867        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
4868      }
4869      public Builder toBuilder() {
4870        return this == DEFAULT_INSTANCE
4871            ? new Builder() : new Builder().mergeFrom(this);
4872      }
4873
4874      @java.lang.Override
4875      protected Builder newBuilderForType(
4876          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
4877        Builder builder = new Builder(parent);
4878        return builder;
4879      }
4880      /**
4881       * Protobuf type {@code sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project}
4882       */
4883      public static final class Builder extends
4884          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
4885          // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project)
4886          org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder {
4887        public static final com.google.protobuf.Descriptors.Descriptor
4888            getDescriptor() {
4889          return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_descriptor;
4890        }
4891
4892        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
4893            internalGetFieldAccessorTable() {
4894          return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_fieldAccessorTable
4895              .ensureFieldAccessorsInitialized(
4896                  org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.class, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder.class);
4897        }
4898
4899        // Construct using org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.newBuilder()
4900        private Builder() {
4901          maybeForceBuilderInitialization();
4902        }
4903
4904        private Builder(
4905            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
4906          super(parent);
4907          maybeForceBuilderInitialization();
4908        }
4909        private void maybeForceBuilderInitialization() {
4910          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
4911            getPermissionsFieldBuilder();
4912          }
4913        }
4914        public Builder clear() {
4915          super.clear();
4916          id_ = "";
4917          bitField0_ = (bitField0_ & ~0x00000001);
4918          key_ = "";
4919          bitField0_ = (bitField0_ & ~0x00000002);
4920          qualifier_ = "";
4921          bitField0_ = (bitField0_ & ~0x00000004);
4922          name_ = "";
4923          bitField0_ = (bitField0_ & ~0x00000008);
4924          if (permissionsBuilder_ == null) {
4925            permissions_ = java.util.Collections.emptyList();
4926            bitField0_ = (bitField0_ & ~0x00000010);
4927          } else {
4928            permissionsBuilder_.clear();
4929          }
4930          return this;
4931        }
4932
4933        public com.google.protobuf.Descriptors.Descriptor
4934            getDescriptorForType() {
4935          return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_descriptor;
4936        }
4937
4938        public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project getDefaultInstanceForType() {
4939          return org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.getDefaultInstance();
4940        }
4941
4942        public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project build() {
4943          org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project result = buildPartial();
4944          if (!result.isInitialized()) {
4945            throw newUninitializedMessageException(result);
4946          }
4947          return result;
4948        }
4949
4950        public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project buildPartial() {
4951          org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project result = new org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project(this);
4952          int from_bitField0_ = bitField0_;
4953          int to_bitField0_ = 0;
4954          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4955            to_bitField0_ |= 0x00000001;
4956          }
4957          result.id_ = id_;
4958          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4959            to_bitField0_ |= 0x00000002;
4960          }
4961          result.key_ = key_;
4962          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
4963            to_bitField0_ |= 0x00000004;
4964          }
4965          result.qualifier_ = qualifier_;
4966          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
4967            to_bitField0_ |= 0x00000008;
4968          }
4969          result.name_ = name_;
4970          if (permissionsBuilder_ == null) {
4971            if (((bitField0_ & 0x00000010) == 0x00000010)) {
4972              permissions_ = java.util.Collections.unmodifiableList(permissions_);
4973              bitField0_ = (bitField0_ & ~0x00000010);
4974            }
4975            result.permissions_ = permissions_;
4976          } else {
4977            result.permissions_ = permissionsBuilder_.build();
4978          }
4979          result.bitField0_ = to_bitField0_;
4980          onBuilt();
4981          return result;
4982        }
4983
4984        public Builder mergeFrom(com.google.protobuf.Message other) {
4985          if (other instanceof org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project) {
4986            return mergeFrom((org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project)other);
4987          } else {
4988            super.mergeFrom(other);
4989            return this;
4990          }
4991        }
4992
4993        public Builder mergeFrom(org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project other) {
4994          if (other == org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.getDefaultInstance()) return this;
4995          if (other.hasId()) {
4996            bitField0_ |= 0x00000001;
4997            id_ = other.id_;
4998            onChanged();
4999          }
5000          if (other.hasKey()) {
5001            bitField0_ |= 0x00000002;
5002            key_ = other.key_;
5003            onChanged();
5004          }
5005          if (other.hasQualifier()) {
5006            bitField0_ |= 0x00000004;
5007            qualifier_ = other.qualifier_;
5008            onChanged();
5009          }
5010          if (other.hasName()) {
5011            bitField0_ |= 0x00000008;
5012            name_ = other.name_;
5013            onChanged();
5014          }
5015          if (permissionsBuilder_ == null) {
5016            if (!other.permissions_.isEmpty()) {
5017              if (permissions_.isEmpty()) {
5018                permissions_ = other.permissions_;
5019                bitField0_ = (bitField0_ & ~0x00000010);
5020              } else {
5021                ensurePermissionsIsMutable();
5022                permissions_.addAll(other.permissions_);
5023              }
5024              onChanged();
5025            }
5026          } else {
5027            if (!other.permissions_.isEmpty()) {
5028              if (permissionsBuilder_.isEmpty()) {
5029                permissionsBuilder_.dispose();
5030                permissionsBuilder_ = null;
5031                permissions_ = other.permissions_;
5032                bitField0_ = (bitField0_ & ~0x00000010);
5033                permissionsBuilder_ = 
5034                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
5035                     getPermissionsFieldBuilder() : null;
5036              } else {
5037                permissionsBuilder_.addAllMessages(other.permissions_);
5038              }
5039            }
5040          }
5041          this.mergeUnknownFields(other.unknownFields);
5042          onChanged();
5043          return this;
5044        }
5045
5046        public final boolean isInitialized() {
5047          return true;
5048        }
5049
5050        public Builder mergeFrom(
5051            com.google.protobuf.CodedInputStream input,
5052            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5053            throws java.io.IOException {
5054          org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project parsedMessage = null;
5055          try {
5056            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5057          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5058            parsedMessage = (org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project) e.getUnfinishedMessage();
5059            throw e;
5060          } finally {
5061            if (parsedMessage != null) {
5062              mergeFrom(parsedMessage);
5063            }
5064          }
5065          return this;
5066        }
5067        private int bitField0_;
5068
5069        private java.lang.Object id_ = "";
5070        /**
5071         * <code>optional string id = 1;</code>
5072         */
5073        public boolean hasId() {
5074          return ((bitField0_ & 0x00000001) == 0x00000001);
5075        }
5076        /**
5077         * <code>optional string id = 1;</code>
5078         */
5079        public java.lang.String getId() {
5080          java.lang.Object ref = id_;
5081          if (!(ref instanceof java.lang.String)) {
5082            com.google.protobuf.ByteString bs =
5083                (com.google.protobuf.ByteString) ref;
5084            java.lang.String s = bs.toStringUtf8();
5085            if (bs.isValidUtf8()) {
5086              id_ = s;
5087            }
5088            return s;
5089          } else {
5090            return (java.lang.String) ref;
5091          }
5092        }
5093        /**
5094         * <code>optional string id = 1;</code>
5095         */
5096        public com.google.protobuf.ByteString
5097            getIdBytes() {
5098          java.lang.Object ref = id_;
5099          if (ref instanceof String) {
5100            com.google.protobuf.ByteString b = 
5101                com.google.protobuf.ByteString.copyFromUtf8(
5102                    (java.lang.String) ref);
5103            id_ = b;
5104            return b;
5105          } else {
5106            return (com.google.protobuf.ByteString) ref;
5107          }
5108        }
5109        /**
5110         * <code>optional string id = 1;</code>
5111         */
5112        public Builder setId(
5113            java.lang.String value) {
5114          if (value == null) {
5115    throw new NullPointerException();
5116  }
5117  bitField0_ |= 0x00000001;
5118          id_ = value;
5119          onChanged();
5120          return this;
5121        }
5122        /**
5123         * <code>optional string id = 1;</code>
5124         */
5125        public Builder clearId() {
5126          bitField0_ = (bitField0_ & ~0x00000001);
5127          id_ = getDefaultInstance().getId();
5128          onChanged();
5129          return this;
5130        }
5131        /**
5132         * <code>optional string id = 1;</code>
5133         */
5134        public Builder setIdBytes(
5135            com.google.protobuf.ByteString value) {
5136          if (value == null) {
5137    throw new NullPointerException();
5138  }
5139  bitField0_ |= 0x00000001;
5140          id_ = value;
5141          onChanged();
5142          return this;
5143        }
5144
5145        private java.lang.Object key_ = "";
5146        /**
5147         * <code>optional string key = 2;</code>
5148         */
5149        public boolean hasKey() {
5150          return ((bitField0_ & 0x00000002) == 0x00000002);
5151        }
5152        /**
5153         * <code>optional string key = 2;</code>
5154         */
5155        public java.lang.String getKey() {
5156          java.lang.Object ref = key_;
5157          if (!(ref instanceof java.lang.String)) {
5158            com.google.protobuf.ByteString bs =
5159                (com.google.protobuf.ByteString) ref;
5160            java.lang.String s = bs.toStringUtf8();
5161            if (bs.isValidUtf8()) {
5162              key_ = s;
5163            }
5164            return s;
5165          } else {
5166            return (java.lang.String) ref;
5167          }
5168        }
5169        /**
5170         * <code>optional string key = 2;</code>
5171         */
5172        public com.google.protobuf.ByteString
5173            getKeyBytes() {
5174          java.lang.Object ref = key_;
5175          if (ref instanceof String) {
5176            com.google.protobuf.ByteString b = 
5177                com.google.protobuf.ByteString.copyFromUtf8(
5178                    (java.lang.String) ref);
5179            key_ = b;
5180            return b;
5181          } else {
5182            return (com.google.protobuf.ByteString) ref;
5183          }
5184        }
5185        /**
5186         * <code>optional string key = 2;</code>
5187         */
5188        public Builder setKey(
5189            java.lang.String value) {
5190          if (value == null) {
5191    throw new NullPointerException();
5192  }
5193  bitField0_ |= 0x00000002;
5194          key_ = value;
5195          onChanged();
5196          return this;
5197        }
5198        /**
5199         * <code>optional string key = 2;</code>
5200         */
5201        public Builder clearKey() {
5202          bitField0_ = (bitField0_ & ~0x00000002);
5203          key_ = getDefaultInstance().getKey();
5204          onChanged();
5205          return this;
5206        }
5207        /**
5208         * <code>optional string key = 2;</code>
5209         */
5210        public Builder setKeyBytes(
5211            com.google.protobuf.ByteString value) {
5212          if (value == null) {
5213    throw new NullPointerException();
5214  }
5215  bitField0_ |= 0x00000002;
5216          key_ = value;
5217          onChanged();
5218          return this;
5219        }
5220
5221        private java.lang.Object qualifier_ = "";
5222        /**
5223         * <code>optional string qualifier = 3;</code>
5224         */
5225        public boolean hasQualifier() {
5226          return ((bitField0_ & 0x00000004) == 0x00000004);
5227        }
5228        /**
5229         * <code>optional string qualifier = 3;</code>
5230         */
5231        public java.lang.String getQualifier() {
5232          java.lang.Object ref = qualifier_;
5233          if (!(ref instanceof java.lang.String)) {
5234            com.google.protobuf.ByteString bs =
5235                (com.google.protobuf.ByteString) ref;
5236            java.lang.String s = bs.toStringUtf8();
5237            if (bs.isValidUtf8()) {
5238              qualifier_ = s;
5239            }
5240            return s;
5241          } else {
5242            return (java.lang.String) ref;
5243          }
5244        }
5245        /**
5246         * <code>optional string qualifier = 3;</code>
5247         */
5248        public com.google.protobuf.ByteString
5249            getQualifierBytes() {
5250          java.lang.Object ref = qualifier_;
5251          if (ref instanceof String) {
5252            com.google.protobuf.ByteString b = 
5253                com.google.protobuf.ByteString.copyFromUtf8(
5254                    (java.lang.String) ref);
5255            qualifier_ = b;
5256            return b;
5257          } else {
5258            return (com.google.protobuf.ByteString) ref;
5259          }
5260        }
5261        /**
5262         * <code>optional string qualifier = 3;</code>
5263         */
5264        public Builder setQualifier(
5265            java.lang.String value) {
5266          if (value == null) {
5267    throw new NullPointerException();
5268  }
5269  bitField0_ |= 0x00000004;
5270          qualifier_ = value;
5271          onChanged();
5272          return this;
5273        }
5274        /**
5275         * <code>optional string qualifier = 3;</code>
5276         */
5277        public Builder clearQualifier() {
5278          bitField0_ = (bitField0_ & ~0x00000004);
5279          qualifier_ = getDefaultInstance().getQualifier();
5280          onChanged();
5281          return this;
5282        }
5283        /**
5284         * <code>optional string qualifier = 3;</code>
5285         */
5286        public Builder setQualifierBytes(
5287            com.google.protobuf.ByteString value) {
5288          if (value == null) {
5289    throw new NullPointerException();
5290  }
5291  bitField0_ |= 0x00000004;
5292          qualifier_ = value;
5293          onChanged();
5294          return this;
5295        }
5296
5297        private java.lang.Object name_ = "";
5298        /**
5299         * <code>optional string name = 4;</code>
5300         */
5301        public boolean hasName() {
5302          return ((bitField0_ & 0x00000008) == 0x00000008);
5303        }
5304        /**
5305         * <code>optional string name = 4;</code>
5306         */
5307        public java.lang.String getName() {
5308          java.lang.Object ref = name_;
5309          if (!(ref instanceof java.lang.String)) {
5310            com.google.protobuf.ByteString bs =
5311                (com.google.protobuf.ByteString) ref;
5312            java.lang.String s = bs.toStringUtf8();
5313            if (bs.isValidUtf8()) {
5314              name_ = s;
5315            }
5316            return s;
5317          } else {
5318            return (java.lang.String) ref;
5319          }
5320        }
5321        /**
5322         * <code>optional string name = 4;</code>
5323         */
5324        public com.google.protobuf.ByteString
5325            getNameBytes() {
5326          java.lang.Object ref = name_;
5327          if (ref instanceof String) {
5328            com.google.protobuf.ByteString b = 
5329                com.google.protobuf.ByteString.copyFromUtf8(
5330                    (java.lang.String) ref);
5331            name_ = b;
5332            return b;
5333          } else {
5334            return (com.google.protobuf.ByteString) ref;
5335          }
5336        }
5337        /**
5338         * <code>optional string name = 4;</code>
5339         */
5340        public Builder setName(
5341            java.lang.String value) {
5342          if (value == null) {
5343    throw new NullPointerException();
5344  }
5345  bitField0_ |= 0x00000008;
5346          name_ = value;
5347          onChanged();
5348          return this;
5349        }
5350        /**
5351         * <code>optional string name = 4;</code>
5352         */
5353        public Builder clearName() {
5354          bitField0_ = (bitField0_ & ~0x00000008);
5355          name_ = getDefaultInstance().getName();
5356          onChanged();
5357          return this;
5358        }
5359        /**
5360         * <code>optional string name = 4;</code>
5361         */
5362        public Builder setNameBytes(
5363            com.google.protobuf.ByteString value) {
5364          if (value == null) {
5365    throw new NullPointerException();
5366  }
5367  bitField0_ |= 0x00000008;
5368          name_ = value;
5369          onChanged();
5370          return this;
5371        }
5372
5373        private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_ =
5374          java.util.Collections.emptyList();
5375        private void ensurePermissionsIsMutable() {
5376          if (!((bitField0_ & 0x00000010) == 0x00000010)) {
5377            permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>(permissions_);
5378            bitField0_ |= 0x00000010;
5379           }
5380        }
5381
5382        private com.google.protobuf.RepeatedFieldBuilder<
5383            org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> permissionsBuilder_;
5384
5385        /**
5386         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5387         */
5388        public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
5389          if (permissionsBuilder_ == null) {
5390            return java.util.Collections.unmodifiableList(permissions_);
5391          } else {
5392            return permissionsBuilder_.getMessageList();
5393          }
5394        }
5395        /**
5396         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5397         */
5398        public int getPermissionsCount() {
5399          if (permissionsBuilder_ == null) {
5400            return permissions_.size();
5401          } else {
5402            return permissionsBuilder_.getCount();
5403          }
5404        }
5405        /**
5406         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5407         */
5408        public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
5409          if (permissionsBuilder_ == null) {
5410            return permissions_.get(index);
5411          } else {
5412            return permissionsBuilder_.getMessage(index);
5413          }
5414        }
5415        /**
5416         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5417         */
5418        public Builder setPermissions(
5419            int index, org.sonarqube.ws.WsPermissions.Permission value) {
5420          if (permissionsBuilder_ == null) {
5421            if (value == null) {
5422              throw new NullPointerException();
5423            }
5424            ensurePermissionsIsMutable();
5425            permissions_.set(index, value);
5426            onChanged();
5427          } else {
5428            permissionsBuilder_.setMessage(index, value);
5429          }
5430          return this;
5431        }
5432        /**
5433         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5434         */
5435        public Builder setPermissions(
5436            int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
5437          if (permissionsBuilder_ == null) {
5438            ensurePermissionsIsMutable();
5439            permissions_.set(index, builderForValue.build());
5440            onChanged();
5441          } else {
5442            permissionsBuilder_.setMessage(index, builderForValue.build());
5443          }
5444          return this;
5445        }
5446        /**
5447         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5448         */
5449        public Builder addPermissions(org.sonarqube.ws.WsPermissions.Permission value) {
5450          if (permissionsBuilder_ == null) {
5451            if (value == null) {
5452              throw new NullPointerException();
5453            }
5454            ensurePermissionsIsMutable();
5455            permissions_.add(value);
5456            onChanged();
5457          } else {
5458            permissionsBuilder_.addMessage(value);
5459          }
5460          return this;
5461        }
5462        /**
5463         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5464         */
5465        public Builder addPermissions(
5466            int index, org.sonarqube.ws.WsPermissions.Permission value) {
5467          if (permissionsBuilder_ == null) {
5468            if (value == null) {
5469              throw new NullPointerException();
5470            }
5471            ensurePermissionsIsMutable();
5472            permissions_.add(index, value);
5473            onChanged();
5474          } else {
5475            permissionsBuilder_.addMessage(index, value);
5476          }
5477          return this;
5478        }
5479        /**
5480         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5481         */
5482        public Builder addPermissions(
5483            org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
5484          if (permissionsBuilder_ == null) {
5485            ensurePermissionsIsMutable();
5486            permissions_.add(builderForValue.build());
5487            onChanged();
5488          } else {
5489            permissionsBuilder_.addMessage(builderForValue.build());
5490          }
5491          return this;
5492        }
5493        /**
5494         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5495         */
5496        public Builder addPermissions(
5497            int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
5498          if (permissionsBuilder_ == null) {
5499            ensurePermissionsIsMutable();
5500            permissions_.add(index, builderForValue.build());
5501            onChanged();
5502          } else {
5503            permissionsBuilder_.addMessage(index, builderForValue.build());
5504          }
5505          return this;
5506        }
5507        /**
5508         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5509         */
5510        public Builder addAllPermissions(
5511            java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.Permission> values) {
5512          if (permissionsBuilder_ == null) {
5513            ensurePermissionsIsMutable();
5514            com.google.protobuf.AbstractMessageLite.Builder.addAll(
5515                values, permissions_);
5516            onChanged();
5517          } else {
5518            permissionsBuilder_.addAllMessages(values);
5519          }
5520          return this;
5521        }
5522        /**
5523         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5524         */
5525        public Builder clearPermissions() {
5526          if (permissionsBuilder_ == null) {
5527            permissions_ = java.util.Collections.emptyList();
5528            bitField0_ = (bitField0_ & ~0x00000010);
5529            onChanged();
5530          } else {
5531            permissionsBuilder_.clear();
5532          }
5533          return this;
5534        }
5535        /**
5536         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5537         */
5538        public Builder removePermissions(int index) {
5539          if (permissionsBuilder_ == null) {
5540            ensurePermissionsIsMutable();
5541            permissions_.remove(index);
5542            onChanged();
5543          } else {
5544            permissionsBuilder_.remove(index);
5545          }
5546          return this;
5547        }
5548        /**
5549         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5550         */
5551        public org.sonarqube.ws.WsPermissions.Permission.Builder getPermissionsBuilder(
5552            int index) {
5553          return getPermissionsFieldBuilder().getBuilder(index);
5554        }
5555        /**
5556         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5557         */
5558        public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
5559            int index) {
5560          if (permissionsBuilder_ == null) {
5561            return permissions_.get(index);  } else {
5562            return permissionsBuilder_.getMessageOrBuilder(index);
5563          }
5564        }
5565        /**
5566         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5567         */
5568        public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
5569             getPermissionsOrBuilderList() {
5570          if (permissionsBuilder_ != null) {
5571            return permissionsBuilder_.getMessageOrBuilderList();
5572          } else {
5573            return java.util.Collections.unmodifiableList(permissions_);
5574          }
5575        }
5576        /**
5577         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5578         */
5579        public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder() {
5580          return getPermissionsFieldBuilder().addBuilder(
5581              org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
5582        }
5583        /**
5584         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5585         */
5586        public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder(
5587            int index) {
5588          return getPermissionsFieldBuilder().addBuilder(
5589              index, org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
5590        }
5591        /**
5592         * <code>repeated .sonarqube.ws.permissions.Permission permissions = 5;</code>
5593         */
5594        public java.util.List<org.sonarqube.ws.WsPermissions.Permission.Builder> 
5595             getPermissionsBuilderList() {
5596          return getPermissionsFieldBuilder().getBuilderList();
5597        }
5598        private com.google.protobuf.RepeatedFieldBuilder<
5599            org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
5600            getPermissionsFieldBuilder() {
5601          if (permissionsBuilder_ == null) {
5602            permissionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
5603                org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder>(
5604                    permissions_,
5605                    ((bitField0_ & 0x00000010) == 0x00000010),
5606                    getParentForChildren(),
5607                    isClean());
5608            permissions_ = null;
5609          }
5610          return permissionsBuilder_;
5611        }
5612
5613        // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project)
5614      }
5615
5616      // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project)
5617      private static final org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project DEFAULT_INSTANCE;
5618      static {
5619        DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project();
5620      }
5621
5622      public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project getDefaultInstance() {
5623        return DEFAULT_INSTANCE;
5624      }
5625
5626      @java.lang.Deprecated public static final com.google.protobuf.Parser<Project>
5627          PARSER = new com.google.protobuf.AbstractParser<Project>() {
5628        public Project parsePartialFrom(
5629            com.google.protobuf.CodedInputStream input,
5630            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5631            throws com.google.protobuf.InvalidProtocolBufferException {
5632          try {
5633            return new Project(input, extensionRegistry);
5634          } catch (RuntimeException e) {
5635            if (e.getCause() instanceof
5636                com.google.protobuf.InvalidProtocolBufferException) {
5637              throw (com.google.protobuf.InvalidProtocolBufferException)
5638                  e.getCause();
5639            }
5640            throw e;
5641          }
5642        }
5643      };
5644
5645      public static com.google.protobuf.Parser<Project> parser() {
5646        return PARSER;
5647      }
5648
5649      @java.lang.Override
5650      public com.google.protobuf.Parser<Project> getParserForType() {
5651        return PARSER;
5652      }
5653
5654      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project getDefaultInstanceForType() {
5655        return DEFAULT_INSTANCE;
5656      }
5657
5658    }
5659
5660    private int bitField0_;
5661    public static final int PAGING_FIELD_NUMBER = 1;
5662    private org.sonarqube.ws.Common.Paging paging_;
5663    /**
5664     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
5665     */
5666    public boolean hasPaging() {
5667      return ((bitField0_ & 0x00000001) == 0x00000001);
5668    }
5669    /**
5670     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
5671     */
5672    public org.sonarqube.ws.Common.Paging getPaging() {
5673      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
5674    }
5675    /**
5676     * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
5677     */
5678    public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
5679      return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
5680    }
5681
5682    public static final int PROJECTS_FIELD_NUMBER = 2;
5683    private java.util.List<org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project> projects_;
5684    /**
5685     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
5686     */
5687    public java.util.List<org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project> getProjectsList() {
5688      return projects_;
5689    }
5690    /**
5691     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
5692     */
5693    public java.util.List<? extends org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder> 
5694        getProjectsOrBuilderList() {
5695      return projects_;
5696    }
5697    /**
5698     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
5699     */
5700    public int getProjectsCount() {
5701      return projects_.size();
5702    }
5703    /**
5704     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
5705     */
5706    public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project getProjects(int index) {
5707      return projects_.get(index);
5708    }
5709    /**
5710     * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
5711     */
5712    public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder getProjectsOrBuilder(
5713        int index) {
5714      return projects_.get(index);
5715    }
5716
5717    public static final int PERMISSIONS_FIELD_NUMBER = 3;
5718    private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_;
5719    /**
5720     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
5721     */
5722    public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
5723      return permissions_;
5724    }
5725    /**
5726     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
5727     */
5728    public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
5729        getPermissionsOrBuilderList() {
5730      return permissions_;
5731    }
5732    /**
5733     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
5734     */
5735    public int getPermissionsCount() {
5736      return permissions_.size();
5737    }
5738    /**
5739     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
5740     */
5741    public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
5742      return permissions_.get(index);
5743    }
5744    /**
5745     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
5746     */
5747    public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
5748        int index) {
5749      return permissions_.get(index);
5750    }
5751
5752    private byte memoizedIsInitialized = -1;
5753    public final boolean isInitialized() {
5754      byte isInitialized = memoizedIsInitialized;
5755      if (isInitialized == 1) return true;
5756      if (isInitialized == 0) return false;
5757
5758      memoizedIsInitialized = 1;
5759      return true;
5760    }
5761
5762    public void writeTo(com.google.protobuf.CodedOutputStream output)
5763                        throws java.io.IOException {
5764      if (((bitField0_ & 0x00000001) == 0x00000001)) {
5765        output.writeMessage(1, getPaging());
5766      }
5767      for (int i = 0; i < projects_.size(); i++) {
5768        output.writeMessage(2, projects_.get(i));
5769      }
5770      for (int i = 0; i < permissions_.size(); i++) {
5771        output.writeMessage(3, permissions_.get(i));
5772      }
5773      unknownFields.writeTo(output);
5774    }
5775
5776    public int getSerializedSize() {
5777      int size = memoizedSize;
5778      if (size != -1) return size;
5779
5780      size = 0;
5781      if (((bitField0_ & 0x00000001) == 0x00000001)) {
5782        size += com.google.protobuf.CodedOutputStream
5783          .computeMessageSize(1, getPaging());
5784      }
5785      for (int i = 0; i < projects_.size(); i++) {
5786        size += com.google.protobuf.CodedOutputStream
5787          .computeMessageSize(2, projects_.get(i));
5788      }
5789      for (int i = 0; i < permissions_.size(); i++) {
5790        size += com.google.protobuf.CodedOutputStream
5791          .computeMessageSize(3, permissions_.get(i));
5792      }
5793      size += unknownFields.getSerializedSize();
5794      memoizedSize = size;
5795      return size;
5796    }
5797
5798    private static final long serialVersionUID = 0L;
5799    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseFrom(
5800        com.google.protobuf.ByteString data)
5801        throws com.google.protobuf.InvalidProtocolBufferException {
5802      return PARSER.parseFrom(data);
5803    }
5804    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseFrom(
5805        com.google.protobuf.ByteString data,
5806        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5807        throws com.google.protobuf.InvalidProtocolBufferException {
5808      return PARSER.parseFrom(data, extensionRegistry);
5809    }
5810    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseFrom(byte[] data)
5811        throws com.google.protobuf.InvalidProtocolBufferException {
5812      return PARSER.parseFrom(data);
5813    }
5814    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseFrom(
5815        byte[] data,
5816        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5817        throws com.google.protobuf.InvalidProtocolBufferException {
5818      return PARSER.parseFrom(data, extensionRegistry);
5819    }
5820    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseFrom(java.io.InputStream input)
5821        throws java.io.IOException {
5822      return PARSER.parseFrom(input);
5823    }
5824    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseFrom(
5825        java.io.InputStream input,
5826        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5827        throws java.io.IOException {
5828      return PARSER.parseFrom(input, extensionRegistry);
5829    }
5830    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseDelimitedFrom(java.io.InputStream input)
5831        throws java.io.IOException {
5832      return PARSER.parseDelimitedFrom(input);
5833    }
5834    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseDelimitedFrom(
5835        java.io.InputStream input,
5836        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5837        throws java.io.IOException {
5838      return PARSER.parseDelimitedFrom(input, extensionRegistry);
5839    }
5840    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseFrom(
5841        com.google.protobuf.CodedInputStream input)
5842        throws java.io.IOException {
5843      return PARSER.parseFrom(input);
5844    }
5845    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parseFrom(
5846        com.google.protobuf.CodedInputStream input,
5847        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5848        throws java.io.IOException {
5849      return PARSER.parseFrom(input, extensionRegistry);
5850    }
5851
5852    public Builder newBuilderForType() { return newBuilder(); }
5853    public static Builder newBuilder() {
5854      return DEFAULT_INSTANCE.toBuilder();
5855    }
5856    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse prototype) {
5857      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
5858    }
5859    public Builder toBuilder() {
5860      return this == DEFAULT_INSTANCE
5861          ? new Builder() : new Builder().mergeFrom(this);
5862    }
5863
5864    @java.lang.Override
5865    protected Builder newBuilderForType(
5866        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
5867      Builder builder = new Builder(parent);
5868      return builder;
5869    }
5870    /**
5871     * Protobuf type {@code sonarqube.ws.permissions.SearchProjectPermissionsWsResponse}
5872     */
5873    public static final class Builder extends
5874        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
5875        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse)
5876        org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponseOrBuilder {
5877      public static final com.google.protobuf.Descriptors.Descriptor
5878          getDescriptor() {
5879        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_descriptor;
5880      }
5881
5882      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
5883          internalGetFieldAccessorTable() {
5884        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_fieldAccessorTable
5885            .ensureFieldAccessorsInitialized(
5886                org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.class, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Builder.class);
5887      }
5888
5889      // Construct using org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.newBuilder()
5890      private Builder() {
5891        maybeForceBuilderInitialization();
5892      }
5893
5894      private Builder(
5895          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
5896        super(parent);
5897        maybeForceBuilderInitialization();
5898      }
5899      private void maybeForceBuilderInitialization() {
5900        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
5901          getPagingFieldBuilder();
5902          getProjectsFieldBuilder();
5903          getPermissionsFieldBuilder();
5904        }
5905      }
5906      public Builder clear() {
5907        super.clear();
5908        if (pagingBuilder_ == null) {
5909          paging_ = null;
5910        } else {
5911          pagingBuilder_.clear();
5912        }
5913        bitField0_ = (bitField0_ & ~0x00000001);
5914        if (projectsBuilder_ == null) {
5915          projects_ = java.util.Collections.emptyList();
5916          bitField0_ = (bitField0_ & ~0x00000002);
5917        } else {
5918          projectsBuilder_.clear();
5919        }
5920        if (permissionsBuilder_ == null) {
5921          permissions_ = java.util.Collections.emptyList();
5922          bitField0_ = (bitField0_ & ~0x00000004);
5923        } else {
5924          permissionsBuilder_.clear();
5925        }
5926        return this;
5927      }
5928
5929      public com.google.protobuf.Descriptors.Descriptor
5930          getDescriptorForType() {
5931        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_descriptor;
5932      }
5933
5934      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse getDefaultInstanceForType() {
5935        return org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.getDefaultInstance();
5936      }
5937
5938      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse build() {
5939        org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse result = buildPartial();
5940        if (!result.isInitialized()) {
5941          throw newUninitializedMessageException(result);
5942        }
5943        return result;
5944      }
5945
5946      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse buildPartial() {
5947        org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse result = new org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse(this);
5948        int from_bitField0_ = bitField0_;
5949        int to_bitField0_ = 0;
5950        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5951          to_bitField0_ |= 0x00000001;
5952        }
5953        if (pagingBuilder_ == null) {
5954          result.paging_ = paging_;
5955        } else {
5956          result.paging_ = pagingBuilder_.build();
5957        }
5958        if (projectsBuilder_ == null) {
5959          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5960            projects_ = java.util.Collections.unmodifiableList(projects_);
5961            bitField0_ = (bitField0_ & ~0x00000002);
5962          }
5963          result.projects_ = projects_;
5964        } else {
5965          result.projects_ = projectsBuilder_.build();
5966        }
5967        if (permissionsBuilder_ == null) {
5968          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5969            permissions_ = java.util.Collections.unmodifiableList(permissions_);
5970            bitField0_ = (bitField0_ & ~0x00000004);
5971          }
5972          result.permissions_ = permissions_;
5973        } else {
5974          result.permissions_ = permissionsBuilder_.build();
5975        }
5976        result.bitField0_ = to_bitField0_;
5977        onBuilt();
5978        return result;
5979      }
5980
5981      public Builder mergeFrom(com.google.protobuf.Message other) {
5982        if (other instanceof org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse) {
5983          return mergeFrom((org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse)other);
5984        } else {
5985          super.mergeFrom(other);
5986          return this;
5987        }
5988      }
5989
5990      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse other) {
5991        if (other == org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.getDefaultInstance()) return this;
5992        if (other.hasPaging()) {
5993          mergePaging(other.getPaging());
5994        }
5995        if (projectsBuilder_ == null) {
5996          if (!other.projects_.isEmpty()) {
5997            if (projects_.isEmpty()) {
5998              projects_ = other.projects_;
5999              bitField0_ = (bitField0_ & ~0x00000002);
6000            } else {
6001              ensureProjectsIsMutable();
6002              projects_.addAll(other.projects_);
6003            }
6004            onChanged();
6005          }
6006        } else {
6007          if (!other.projects_.isEmpty()) {
6008            if (projectsBuilder_.isEmpty()) {
6009              projectsBuilder_.dispose();
6010              projectsBuilder_ = null;
6011              projects_ = other.projects_;
6012              bitField0_ = (bitField0_ & ~0x00000002);
6013              projectsBuilder_ = 
6014                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
6015                   getProjectsFieldBuilder() : null;
6016            } else {
6017              projectsBuilder_.addAllMessages(other.projects_);
6018            }
6019          }
6020        }
6021        if (permissionsBuilder_ == null) {
6022          if (!other.permissions_.isEmpty()) {
6023            if (permissions_.isEmpty()) {
6024              permissions_ = other.permissions_;
6025              bitField0_ = (bitField0_ & ~0x00000004);
6026            } else {
6027              ensurePermissionsIsMutable();
6028              permissions_.addAll(other.permissions_);
6029            }
6030            onChanged();
6031          }
6032        } else {
6033          if (!other.permissions_.isEmpty()) {
6034            if (permissionsBuilder_.isEmpty()) {
6035              permissionsBuilder_.dispose();
6036              permissionsBuilder_ = null;
6037              permissions_ = other.permissions_;
6038              bitField0_ = (bitField0_ & ~0x00000004);
6039              permissionsBuilder_ = 
6040                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
6041                   getPermissionsFieldBuilder() : null;
6042            } else {
6043              permissionsBuilder_.addAllMessages(other.permissions_);
6044            }
6045          }
6046        }
6047        this.mergeUnknownFields(other.unknownFields);
6048        onChanged();
6049        return this;
6050      }
6051
6052      public final boolean isInitialized() {
6053        return true;
6054      }
6055
6056      public Builder mergeFrom(
6057          com.google.protobuf.CodedInputStream input,
6058          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6059          throws java.io.IOException {
6060        org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse parsedMessage = null;
6061        try {
6062          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6063        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6064          parsedMessage = (org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse) e.getUnfinishedMessage();
6065          throw e;
6066        } finally {
6067          if (parsedMessage != null) {
6068            mergeFrom(parsedMessage);
6069          }
6070        }
6071        return this;
6072      }
6073      private int bitField0_;
6074
6075      private org.sonarqube.ws.Common.Paging paging_ = null;
6076      private com.google.protobuf.SingleFieldBuilder<
6077          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> pagingBuilder_;
6078      /**
6079       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6080       */
6081      public boolean hasPaging() {
6082        return ((bitField0_ & 0x00000001) == 0x00000001);
6083      }
6084      /**
6085       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6086       */
6087      public org.sonarqube.ws.Common.Paging getPaging() {
6088        if (pagingBuilder_ == null) {
6089          return paging_ == null ? org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
6090        } else {
6091          return pagingBuilder_.getMessage();
6092        }
6093      }
6094      /**
6095       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6096       */
6097      public Builder setPaging(org.sonarqube.ws.Common.Paging value) {
6098        if (pagingBuilder_ == null) {
6099          if (value == null) {
6100            throw new NullPointerException();
6101          }
6102          paging_ = value;
6103          onChanged();
6104        } else {
6105          pagingBuilder_.setMessage(value);
6106        }
6107        bitField0_ |= 0x00000001;
6108        return this;
6109      }
6110      /**
6111       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6112       */
6113      public Builder setPaging(
6114          org.sonarqube.ws.Common.Paging.Builder builderForValue) {
6115        if (pagingBuilder_ == null) {
6116          paging_ = builderForValue.build();
6117          onChanged();
6118        } else {
6119          pagingBuilder_.setMessage(builderForValue.build());
6120        }
6121        bitField0_ |= 0x00000001;
6122        return this;
6123      }
6124      /**
6125       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6126       */
6127      public Builder mergePaging(org.sonarqube.ws.Common.Paging value) {
6128        if (pagingBuilder_ == null) {
6129          if (((bitField0_ & 0x00000001) == 0x00000001) &&
6130              paging_ != null &&
6131              paging_ != org.sonarqube.ws.Common.Paging.getDefaultInstance()) {
6132            paging_ =
6133              org.sonarqube.ws.Common.Paging.newBuilder(paging_).mergeFrom(value).buildPartial();
6134          } else {
6135            paging_ = value;
6136          }
6137          onChanged();
6138        } else {
6139          pagingBuilder_.mergeFrom(value);
6140        }
6141        bitField0_ |= 0x00000001;
6142        return this;
6143      }
6144      /**
6145       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6146       */
6147      public Builder clearPaging() {
6148        if (pagingBuilder_ == null) {
6149          paging_ = null;
6150          onChanged();
6151        } else {
6152          pagingBuilder_.clear();
6153        }
6154        bitField0_ = (bitField0_ & ~0x00000001);
6155        return this;
6156      }
6157      /**
6158       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6159       */
6160      public org.sonarqube.ws.Common.Paging.Builder getPagingBuilder() {
6161        bitField0_ |= 0x00000001;
6162        onChanged();
6163        return getPagingFieldBuilder().getBuilder();
6164      }
6165      /**
6166       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6167       */
6168      public org.sonarqube.ws.Common.PagingOrBuilder getPagingOrBuilder() {
6169        if (pagingBuilder_ != null) {
6170          return pagingBuilder_.getMessageOrBuilder();
6171        } else {
6172          return paging_ == null ?
6173              org.sonarqube.ws.Common.Paging.getDefaultInstance() : paging_;
6174        }
6175      }
6176      /**
6177       * <code>optional .sonarqube.ws.commons.Paging paging = 1;</code>
6178       */
6179      private com.google.protobuf.SingleFieldBuilder<
6180          org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder> 
6181          getPagingFieldBuilder() {
6182        if (pagingBuilder_ == null) {
6183          pagingBuilder_ = new com.google.protobuf.SingleFieldBuilder<
6184              org.sonarqube.ws.Common.Paging, org.sonarqube.ws.Common.Paging.Builder, org.sonarqube.ws.Common.PagingOrBuilder>(
6185                  getPaging(),
6186                  getParentForChildren(),
6187                  isClean());
6188          paging_ = null;
6189        }
6190        return pagingBuilder_;
6191      }
6192
6193      private java.util.List<org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project> projects_ =
6194        java.util.Collections.emptyList();
6195      private void ensureProjectsIsMutable() {
6196        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
6197          projects_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project>(projects_);
6198          bitField0_ |= 0x00000002;
6199         }
6200      }
6201
6202      private com.google.protobuf.RepeatedFieldBuilder<
6203          org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder> projectsBuilder_;
6204
6205      /**
6206       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6207       */
6208      public java.util.List<org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project> getProjectsList() {
6209        if (projectsBuilder_ == null) {
6210          return java.util.Collections.unmodifiableList(projects_);
6211        } else {
6212          return projectsBuilder_.getMessageList();
6213        }
6214      }
6215      /**
6216       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6217       */
6218      public int getProjectsCount() {
6219        if (projectsBuilder_ == null) {
6220          return projects_.size();
6221        } else {
6222          return projectsBuilder_.getCount();
6223        }
6224      }
6225      /**
6226       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6227       */
6228      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project getProjects(int index) {
6229        if (projectsBuilder_ == null) {
6230          return projects_.get(index);
6231        } else {
6232          return projectsBuilder_.getMessage(index);
6233        }
6234      }
6235      /**
6236       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6237       */
6238      public Builder setProjects(
6239          int index, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project value) {
6240        if (projectsBuilder_ == null) {
6241          if (value == null) {
6242            throw new NullPointerException();
6243          }
6244          ensureProjectsIsMutable();
6245          projects_.set(index, value);
6246          onChanged();
6247        } else {
6248          projectsBuilder_.setMessage(index, value);
6249        }
6250        return this;
6251      }
6252      /**
6253       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6254       */
6255      public Builder setProjects(
6256          int index, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder builderForValue) {
6257        if (projectsBuilder_ == null) {
6258          ensureProjectsIsMutable();
6259          projects_.set(index, builderForValue.build());
6260          onChanged();
6261        } else {
6262          projectsBuilder_.setMessage(index, builderForValue.build());
6263        }
6264        return this;
6265      }
6266      /**
6267       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6268       */
6269      public Builder addProjects(org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project value) {
6270        if (projectsBuilder_ == null) {
6271          if (value == null) {
6272            throw new NullPointerException();
6273          }
6274          ensureProjectsIsMutable();
6275          projects_.add(value);
6276          onChanged();
6277        } else {
6278          projectsBuilder_.addMessage(value);
6279        }
6280        return this;
6281      }
6282      /**
6283       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6284       */
6285      public Builder addProjects(
6286          int index, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project value) {
6287        if (projectsBuilder_ == null) {
6288          if (value == null) {
6289            throw new NullPointerException();
6290          }
6291          ensureProjectsIsMutable();
6292          projects_.add(index, value);
6293          onChanged();
6294        } else {
6295          projectsBuilder_.addMessage(index, value);
6296        }
6297        return this;
6298      }
6299      /**
6300       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6301       */
6302      public Builder addProjects(
6303          org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder builderForValue) {
6304        if (projectsBuilder_ == null) {
6305          ensureProjectsIsMutable();
6306          projects_.add(builderForValue.build());
6307          onChanged();
6308        } else {
6309          projectsBuilder_.addMessage(builderForValue.build());
6310        }
6311        return this;
6312      }
6313      /**
6314       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6315       */
6316      public Builder addProjects(
6317          int index, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder builderForValue) {
6318        if (projectsBuilder_ == null) {
6319          ensureProjectsIsMutable();
6320          projects_.add(index, builderForValue.build());
6321          onChanged();
6322        } else {
6323          projectsBuilder_.addMessage(index, builderForValue.build());
6324        }
6325        return this;
6326      }
6327      /**
6328       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6329       */
6330      public Builder addAllProjects(
6331          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project> values) {
6332        if (projectsBuilder_ == null) {
6333          ensureProjectsIsMutable();
6334          com.google.protobuf.AbstractMessageLite.Builder.addAll(
6335              values, projects_);
6336          onChanged();
6337        } else {
6338          projectsBuilder_.addAllMessages(values);
6339        }
6340        return this;
6341      }
6342      /**
6343       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6344       */
6345      public Builder clearProjects() {
6346        if (projectsBuilder_ == null) {
6347          projects_ = java.util.Collections.emptyList();
6348          bitField0_ = (bitField0_ & ~0x00000002);
6349          onChanged();
6350        } else {
6351          projectsBuilder_.clear();
6352        }
6353        return this;
6354      }
6355      /**
6356       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6357       */
6358      public Builder removeProjects(int index) {
6359        if (projectsBuilder_ == null) {
6360          ensureProjectsIsMutable();
6361          projects_.remove(index);
6362          onChanged();
6363        } else {
6364          projectsBuilder_.remove(index);
6365        }
6366        return this;
6367      }
6368      /**
6369       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6370       */
6371      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder getProjectsBuilder(
6372          int index) {
6373        return getProjectsFieldBuilder().getBuilder(index);
6374      }
6375      /**
6376       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6377       */
6378      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder getProjectsOrBuilder(
6379          int index) {
6380        if (projectsBuilder_ == null) {
6381          return projects_.get(index);  } else {
6382          return projectsBuilder_.getMessageOrBuilder(index);
6383        }
6384      }
6385      /**
6386       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6387       */
6388      public java.util.List<? extends org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder> 
6389           getProjectsOrBuilderList() {
6390        if (projectsBuilder_ != null) {
6391          return projectsBuilder_.getMessageOrBuilderList();
6392        } else {
6393          return java.util.Collections.unmodifiableList(projects_);
6394        }
6395      }
6396      /**
6397       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6398       */
6399      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder addProjectsBuilder() {
6400        return getProjectsFieldBuilder().addBuilder(
6401            org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.getDefaultInstance());
6402      }
6403      /**
6404       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6405       */
6406      public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder addProjectsBuilder(
6407          int index) {
6408        return getProjectsFieldBuilder().addBuilder(
6409            index, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.getDefaultInstance());
6410      }
6411      /**
6412       * <code>repeated .sonarqube.ws.permissions.SearchProjectPermissionsWsResponse.Project projects = 2;</code>
6413       */
6414      public java.util.List<org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder> 
6415           getProjectsBuilderList() {
6416        return getProjectsFieldBuilder().getBuilderList();
6417      }
6418      private com.google.protobuf.RepeatedFieldBuilder<
6419          org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder> 
6420          getProjectsFieldBuilder() {
6421        if (projectsBuilder_ == null) {
6422          projectsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
6423              org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.Project.Builder, org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse.ProjectOrBuilder>(
6424                  projects_,
6425                  ((bitField0_ & 0x00000002) == 0x00000002),
6426                  getParentForChildren(),
6427                  isClean());
6428          projects_ = null;
6429        }
6430        return projectsBuilder_;
6431      }
6432
6433      private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_ =
6434        java.util.Collections.emptyList();
6435      private void ensurePermissionsIsMutable() {
6436        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
6437          permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>(permissions_);
6438          bitField0_ |= 0x00000004;
6439         }
6440      }
6441
6442      private com.google.protobuf.RepeatedFieldBuilder<
6443          org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> permissionsBuilder_;
6444
6445      /**
6446       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6447       */
6448      public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
6449        if (permissionsBuilder_ == null) {
6450          return java.util.Collections.unmodifiableList(permissions_);
6451        } else {
6452          return permissionsBuilder_.getMessageList();
6453        }
6454      }
6455      /**
6456       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6457       */
6458      public int getPermissionsCount() {
6459        if (permissionsBuilder_ == null) {
6460          return permissions_.size();
6461        } else {
6462          return permissionsBuilder_.getCount();
6463        }
6464      }
6465      /**
6466       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6467       */
6468      public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
6469        if (permissionsBuilder_ == null) {
6470          return permissions_.get(index);
6471        } else {
6472          return permissionsBuilder_.getMessage(index);
6473        }
6474      }
6475      /**
6476       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6477       */
6478      public Builder setPermissions(
6479          int index, org.sonarqube.ws.WsPermissions.Permission value) {
6480        if (permissionsBuilder_ == null) {
6481          if (value == null) {
6482            throw new NullPointerException();
6483          }
6484          ensurePermissionsIsMutable();
6485          permissions_.set(index, value);
6486          onChanged();
6487        } else {
6488          permissionsBuilder_.setMessage(index, value);
6489        }
6490        return this;
6491      }
6492      /**
6493       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6494       */
6495      public Builder setPermissions(
6496          int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
6497        if (permissionsBuilder_ == null) {
6498          ensurePermissionsIsMutable();
6499          permissions_.set(index, builderForValue.build());
6500          onChanged();
6501        } else {
6502          permissionsBuilder_.setMessage(index, builderForValue.build());
6503        }
6504        return this;
6505      }
6506      /**
6507       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6508       */
6509      public Builder addPermissions(org.sonarqube.ws.WsPermissions.Permission value) {
6510        if (permissionsBuilder_ == null) {
6511          if (value == null) {
6512            throw new NullPointerException();
6513          }
6514          ensurePermissionsIsMutable();
6515          permissions_.add(value);
6516          onChanged();
6517        } else {
6518          permissionsBuilder_.addMessage(value);
6519        }
6520        return this;
6521      }
6522      /**
6523       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6524       */
6525      public Builder addPermissions(
6526          int index, org.sonarqube.ws.WsPermissions.Permission value) {
6527        if (permissionsBuilder_ == null) {
6528          if (value == null) {
6529            throw new NullPointerException();
6530          }
6531          ensurePermissionsIsMutable();
6532          permissions_.add(index, value);
6533          onChanged();
6534        } else {
6535          permissionsBuilder_.addMessage(index, value);
6536        }
6537        return this;
6538      }
6539      /**
6540       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6541       */
6542      public Builder addPermissions(
6543          org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
6544        if (permissionsBuilder_ == null) {
6545          ensurePermissionsIsMutable();
6546          permissions_.add(builderForValue.build());
6547          onChanged();
6548        } else {
6549          permissionsBuilder_.addMessage(builderForValue.build());
6550        }
6551        return this;
6552      }
6553      /**
6554       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6555       */
6556      public Builder addPermissions(
6557          int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
6558        if (permissionsBuilder_ == null) {
6559          ensurePermissionsIsMutable();
6560          permissions_.add(index, builderForValue.build());
6561          onChanged();
6562        } else {
6563          permissionsBuilder_.addMessage(index, builderForValue.build());
6564        }
6565        return this;
6566      }
6567      /**
6568       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6569       */
6570      public Builder addAllPermissions(
6571          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.Permission> values) {
6572        if (permissionsBuilder_ == null) {
6573          ensurePermissionsIsMutable();
6574          com.google.protobuf.AbstractMessageLite.Builder.addAll(
6575              values, permissions_);
6576          onChanged();
6577        } else {
6578          permissionsBuilder_.addAllMessages(values);
6579        }
6580        return this;
6581      }
6582      /**
6583       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6584       */
6585      public Builder clearPermissions() {
6586        if (permissionsBuilder_ == null) {
6587          permissions_ = java.util.Collections.emptyList();
6588          bitField0_ = (bitField0_ & ~0x00000004);
6589          onChanged();
6590        } else {
6591          permissionsBuilder_.clear();
6592        }
6593        return this;
6594      }
6595      /**
6596       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6597       */
6598      public Builder removePermissions(int index) {
6599        if (permissionsBuilder_ == null) {
6600          ensurePermissionsIsMutable();
6601          permissions_.remove(index);
6602          onChanged();
6603        } else {
6604          permissionsBuilder_.remove(index);
6605        }
6606        return this;
6607      }
6608      /**
6609       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6610       */
6611      public org.sonarqube.ws.WsPermissions.Permission.Builder getPermissionsBuilder(
6612          int index) {
6613        return getPermissionsFieldBuilder().getBuilder(index);
6614      }
6615      /**
6616       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6617       */
6618      public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
6619          int index) {
6620        if (permissionsBuilder_ == null) {
6621          return permissions_.get(index);  } else {
6622          return permissionsBuilder_.getMessageOrBuilder(index);
6623        }
6624      }
6625      /**
6626       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6627       */
6628      public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
6629           getPermissionsOrBuilderList() {
6630        if (permissionsBuilder_ != null) {
6631          return permissionsBuilder_.getMessageOrBuilderList();
6632        } else {
6633          return java.util.Collections.unmodifiableList(permissions_);
6634        }
6635      }
6636      /**
6637       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6638       */
6639      public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder() {
6640        return getPermissionsFieldBuilder().addBuilder(
6641            org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
6642      }
6643      /**
6644       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6645       */
6646      public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder(
6647          int index) {
6648        return getPermissionsFieldBuilder().addBuilder(
6649            index, org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
6650      }
6651      /**
6652       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
6653       */
6654      public java.util.List<org.sonarqube.ws.WsPermissions.Permission.Builder> 
6655           getPermissionsBuilderList() {
6656        return getPermissionsFieldBuilder().getBuilderList();
6657      }
6658      private com.google.protobuf.RepeatedFieldBuilder<
6659          org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
6660          getPermissionsFieldBuilder() {
6661        if (permissionsBuilder_ == null) {
6662          permissionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
6663              org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder>(
6664                  permissions_,
6665                  ((bitField0_ & 0x00000004) == 0x00000004),
6666                  getParentForChildren(),
6667                  isClean());
6668          permissions_ = null;
6669        }
6670        return permissionsBuilder_;
6671      }
6672
6673      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse)
6674    }
6675
6676    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.SearchProjectPermissionsWsResponse)
6677    private static final org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse DEFAULT_INSTANCE;
6678    static {
6679      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse();
6680    }
6681
6682    public static org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse getDefaultInstance() {
6683      return DEFAULT_INSTANCE;
6684    }
6685
6686    @java.lang.Deprecated public static final com.google.protobuf.Parser<SearchProjectPermissionsWsResponse>
6687        PARSER = new com.google.protobuf.AbstractParser<SearchProjectPermissionsWsResponse>() {
6688      public SearchProjectPermissionsWsResponse parsePartialFrom(
6689          com.google.protobuf.CodedInputStream input,
6690          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6691          throws com.google.protobuf.InvalidProtocolBufferException {
6692        try {
6693          return new SearchProjectPermissionsWsResponse(input, extensionRegistry);
6694        } catch (RuntimeException e) {
6695          if (e.getCause() instanceof
6696              com.google.protobuf.InvalidProtocolBufferException) {
6697            throw (com.google.protobuf.InvalidProtocolBufferException)
6698                e.getCause();
6699          }
6700          throw e;
6701        }
6702      }
6703    };
6704
6705    public static com.google.protobuf.Parser<SearchProjectPermissionsWsResponse> parser() {
6706      return PARSER;
6707    }
6708
6709    @java.lang.Override
6710    public com.google.protobuf.Parser<SearchProjectPermissionsWsResponse> getParserForType() {
6711      return PARSER;
6712    }
6713
6714    public org.sonarqube.ws.WsPermissions.SearchProjectPermissionsWsResponse getDefaultInstanceForType() {
6715      return DEFAULT_INSTANCE;
6716    }
6717
6718  }
6719
6720  public interface CreateTemplateWsResponseOrBuilder extends
6721      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.CreateTemplateWsResponse)
6722      com.google.protobuf.MessageOrBuilder {
6723
6724    /**
6725     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
6726     */
6727    boolean hasPermissionTemplate();
6728    /**
6729     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
6730     */
6731    org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplate();
6732    /**
6733     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
6734     */
6735    org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplateOrBuilder();
6736  }
6737  /**
6738   * Protobuf type {@code sonarqube.ws.permissions.CreateTemplateWsResponse}
6739   */
6740  public  static final class CreateTemplateWsResponse extends
6741      com.google.protobuf.GeneratedMessage implements
6742      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.CreateTemplateWsResponse)
6743      CreateTemplateWsResponseOrBuilder {
6744    // Use CreateTemplateWsResponse.newBuilder() to construct.
6745    private CreateTemplateWsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
6746      super(builder);
6747    }
6748    private CreateTemplateWsResponse() {
6749    }
6750
6751    @java.lang.Override
6752    public final com.google.protobuf.UnknownFieldSet
6753    getUnknownFields() {
6754      return this.unknownFields;
6755    }
6756    private CreateTemplateWsResponse(
6757        com.google.protobuf.CodedInputStream input,
6758        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
6759      this();
6760      int mutable_bitField0_ = 0;
6761      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
6762          com.google.protobuf.UnknownFieldSet.newBuilder();
6763      try {
6764        boolean done = false;
6765        while (!done) {
6766          int tag = input.readTag();
6767          switch (tag) {
6768            case 0:
6769              done = true;
6770              break;
6771            default: {
6772              if (!parseUnknownField(input, unknownFields,
6773                                     extensionRegistry, tag)) {
6774                done = true;
6775              }
6776              break;
6777            }
6778            case 10: {
6779              org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder subBuilder = null;
6780              if (((bitField0_ & 0x00000001) == 0x00000001)) {
6781                subBuilder = permissionTemplate_.toBuilder();
6782              }
6783              permissionTemplate_ = input.readMessage(org.sonarqube.ws.WsPermissions.PermissionTemplate.parser(), extensionRegistry);
6784              if (subBuilder != null) {
6785                subBuilder.mergeFrom(permissionTemplate_);
6786                permissionTemplate_ = subBuilder.buildPartial();
6787              }
6788              bitField0_ |= 0x00000001;
6789              break;
6790            }
6791          }
6792        }
6793      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6794        throw new RuntimeException(e.setUnfinishedMessage(this));
6795      } catch (java.io.IOException e) {
6796        throw new RuntimeException(
6797            new com.google.protobuf.InvalidProtocolBufferException(
6798                e.getMessage()).setUnfinishedMessage(this));
6799      } finally {
6800        this.unknownFields = unknownFields.build();
6801        makeExtensionsImmutable();
6802      }
6803    }
6804    public static final com.google.protobuf.Descriptors.Descriptor
6805        getDescriptor() {
6806      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_descriptor;
6807    }
6808
6809    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
6810        internalGetFieldAccessorTable() {
6811      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_fieldAccessorTable
6812          .ensureFieldAccessorsInitialized(
6813              org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse.class, org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse.Builder.class);
6814    }
6815
6816    private int bitField0_;
6817    public static final int PERMISSIONTEMPLATE_FIELD_NUMBER = 1;
6818    private org.sonarqube.ws.WsPermissions.PermissionTemplate permissionTemplate_;
6819    /**
6820     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
6821     */
6822    public boolean hasPermissionTemplate() {
6823      return ((bitField0_ & 0x00000001) == 0x00000001);
6824    }
6825    /**
6826     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
6827     */
6828    public org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplate() {
6829      return permissionTemplate_ == null ? org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance() : permissionTemplate_;
6830    }
6831    /**
6832     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
6833     */
6834    public org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplateOrBuilder() {
6835      return permissionTemplate_ == null ? org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance() : permissionTemplate_;
6836    }
6837
6838    private byte memoizedIsInitialized = -1;
6839    public final boolean isInitialized() {
6840      byte isInitialized = memoizedIsInitialized;
6841      if (isInitialized == 1) return true;
6842      if (isInitialized == 0) return false;
6843
6844      memoizedIsInitialized = 1;
6845      return true;
6846    }
6847
6848    public void writeTo(com.google.protobuf.CodedOutputStream output)
6849                        throws java.io.IOException {
6850      if (((bitField0_ & 0x00000001) == 0x00000001)) {
6851        output.writeMessage(1, getPermissionTemplate());
6852      }
6853      unknownFields.writeTo(output);
6854    }
6855
6856    public int getSerializedSize() {
6857      int size = memoizedSize;
6858      if (size != -1) return size;
6859
6860      size = 0;
6861      if (((bitField0_ & 0x00000001) == 0x00000001)) {
6862        size += com.google.protobuf.CodedOutputStream
6863          .computeMessageSize(1, getPermissionTemplate());
6864      }
6865      size += unknownFields.getSerializedSize();
6866      memoizedSize = size;
6867      return size;
6868    }
6869
6870    private static final long serialVersionUID = 0L;
6871    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseFrom(
6872        com.google.protobuf.ByteString data)
6873        throws com.google.protobuf.InvalidProtocolBufferException {
6874      return PARSER.parseFrom(data);
6875    }
6876    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseFrom(
6877        com.google.protobuf.ByteString data,
6878        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6879        throws com.google.protobuf.InvalidProtocolBufferException {
6880      return PARSER.parseFrom(data, extensionRegistry);
6881    }
6882    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseFrom(byte[] data)
6883        throws com.google.protobuf.InvalidProtocolBufferException {
6884      return PARSER.parseFrom(data);
6885    }
6886    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseFrom(
6887        byte[] data,
6888        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6889        throws com.google.protobuf.InvalidProtocolBufferException {
6890      return PARSER.parseFrom(data, extensionRegistry);
6891    }
6892    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseFrom(java.io.InputStream input)
6893        throws java.io.IOException {
6894      return PARSER.parseFrom(input);
6895    }
6896    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseFrom(
6897        java.io.InputStream input,
6898        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6899        throws java.io.IOException {
6900      return PARSER.parseFrom(input, extensionRegistry);
6901    }
6902    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseDelimitedFrom(java.io.InputStream input)
6903        throws java.io.IOException {
6904      return PARSER.parseDelimitedFrom(input);
6905    }
6906    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseDelimitedFrom(
6907        java.io.InputStream input,
6908        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6909        throws java.io.IOException {
6910      return PARSER.parseDelimitedFrom(input, extensionRegistry);
6911    }
6912    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseFrom(
6913        com.google.protobuf.CodedInputStream input)
6914        throws java.io.IOException {
6915      return PARSER.parseFrom(input);
6916    }
6917    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parseFrom(
6918        com.google.protobuf.CodedInputStream input,
6919        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6920        throws java.io.IOException {
6921      return PARSER.parseFrom(input, extensionRegistry);
6922    }
6923
6924    public Builder newBuilderForType() { return newBuilder(); }
6925    public static Builder newBuilder() {
6926      return DEFAULT_INSTANCE.toBuilder();
6927    }
6928    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse prototype) {
6929      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
6930    }
6931    public Builder toBuilder() {
6932      return this == DEFAULT_INSTANCE
6933          ? new Builder() : new Builder().mergeFrom(this);
6934    }
6935
6936    @java.lang.Override
6937    protected Builder newBuilderForType(
6938        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
6939      Builder builder = new Builder(parent);
6940      return builder;
6941    }
6942    /**
6943     * Protobuf type {@code sonarqube.ws.permissions.CreateTemplateWsResponse}
6944     */
6945    public static final class Builder extends
6946        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
6947        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.CreateTemplateWsResponse)
6948        org.sonarqube.ws.WsPermissions.CreateTemplateWsResponseOrBuilder {
6949      public static final com.google.protobuf.Descriptors.Descriptor
6950          getDescriptor() {
6951        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_descriptor;
6952      }
6953
6954      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
6955          internalGetFieldAccessorTable() {
6956        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_fieldAccessorTable
6957            .ensureFieldAccessorsInitialized(
6958                org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse.class, org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse.Builder.class);
6959      }
6960
6961      // Construct using org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse.newBuilder()
6962      private Builder() {
6963        maybeForceBuilderInitialization();
6964      }
6965
6966      private Builder(
6967          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
6968        super(parent);
6969        maybeForceBuilderInitialization();
6970      }
6971      private void maybeForceBuilderInitialization() {
6972        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
6973          getPermissionTemplateFieldBuilder();
6974        }
6975      }
6976      public Builder clear() {
6977        super.clear();
6978        if (permissionTemplateBuilder_ == null) {
6979          permissionTemplate_ = null;
6980        } else {
6981          permissionTemplateBuilder_.clear();
6982        }
6983        bitField0_ = (bitField0_ & ~0x00000001);
6984        return this;
6985      }
6986
6987      public com.google.protobuf.Descriptors.Descriptor
6988          getDescriptorForType() {
6989        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_descriptor;
6990      }
6991
6992      public org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse getDefaultInstanceForType() {
6993        return org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse.getDefaultInstance();
6994      }
6995
6996      public org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse build() {
6997        org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse result = buildPartial();
6998        if (!result.isInitialized()) {
6999          throw newUninitializedMessageException(result);
7000        }
7001        return result;
7002      }
7003
7004      public org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse buildPartial() {
7005        org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse result = new org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse(this);
7006        int from_bitField0_ = bitField0_;
7007        int to_bitField0_ = 0;
7008        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
7009          to_bitField0_ |= 0x00000001;
7010        }
7011        if (permissionTemplateBuilder_ == null) {
7012          result.permissionTemplate_ = permissionTemplate_;
7013        } else {
7014          result.permissionTemplate_ = permissionTemplateBuilder_.build();
7015        }
7016        result.bitField0_ = to_bitField0_;
7017        onBuilt();
7018        return result;
7019      }
7020
7021      public Builder mergeFrom(com.google.protobuf.Message other) {
7022        if (other instanceof org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse) {
7023          return mergeFrom((org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse)other);
7024        } else {
7025          super.mergeFrom(other);
7026          return this;
7027        }
7028      }
7029
7030      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse other) {
7031        if (other == org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse.getDefaultInstance()) return this;
7032        if (other.hasPermissionTemplate()) {
7033          mergePermissionTemplate(other.getPermissionTemplate());
7034        }
7035        this.mergeUnknownFields(other.unknownFields);
7036        onChanged();
7037        return this;
7038      }
7039
7040      public final boolean isInitialized() {
7041        return true;
7042      }
7043
7044      public Builder mergeFrom(
7045          com.google.protobuf.CodedInputStream input,
7046          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7047          throws java.io.IOException {
7048        org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse parsedMessage = null;
7049        try {
7050          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7051        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7052          parsedMessage = (org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse) e.getUnfinishedMessage();
7053          throw e;
7054        } finally {
7055          if (parsedMessage != null) {
7056            mergeFrom(parsedMessage);
7057          }
7058        }
7059        return this;
7060      }
7061      private int bitField0_;
7062
7063      private org.sonarqube.ws.WsPermissions.PermissionTemplate permissionTemplate_ = null;
7064      private com.google.protobuf.SingleFieldBuilder<
7065          org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> permissionTemplateBuilder_;
7066      /**
7067       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7068       */
7069      public boolean hasPermissionTemplate() {
7070        return ((bitField0_ & 0x00000001) == 0x00000001);
7071      }
7072      /**
7073       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7074       */
7075      public org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplate() {
7076        if (permissionTemplateBuilder_ == null) {
7077          return permissionTemplate_ == null ? org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance() : permissionTemplate_;
7078        } else {
7079          return permissionTemplateBuilder_.getMessage();
7080        }
7081      }
7082      /**
7083       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7084       */
7085      public Builder setPermissionTemplate(org.sonarqube.ws.WsPermissions.PermissionTemplate value) {
7086        if (permissionTemplateBuilder_ == null) {
7087          if (value == null) {
7088            throw new NullPointerException();
7089          }
7090          permissionTemplate_ = value;
7091          onChanged();
7092        } else {
7093          permissionTemplateBuilder_.setMessage(value);
7094        }
7095        bitField0_ |= 0x00000001;
7096        return this;
7097      }
7098      /**
7099       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7100       */
7101      public Builder setPermissionTemplate(
7102          org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder builderForValue) {
7103        if (permissionTemplateBuilder_ == null) {
7104          permissionTemplate_ = builderForValue.build();
7105          onChanged();
7106        } else {
7107          permissionTemplateBuilder_.setMessage(builderForValue.build());
7108        }
7109        bitField0_ |= 0x00000001;
7110        return this;
7111      }
7112      /**
7113       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7114       */
7115      public Builder mergePermissionTemplate(org.sonarqube.ws.WsPermissions.PermissionTemplate value) {
7116        if (permissionTemplateBuilder_ == null) {
7117          if (((bitField0_ & 0x00000001) == 0x00000001) &&
7118              permissionTemplate_ != null &&
7119              permissionTemplate_ != org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance()) {
7120            permissionTemplate_ =
7121              org.sonarqube.ws.WsPermissions.PermissionTemplate.newBuilder(permissionTemplate_).mergeFrom(value).buildPartial();
7122          } else {
7123            permissionTemplate_ = value;
7124          }
7125          onChanged();
7126        } else {
7127          permissionTemplateBuilder_.mergeFrom(value);
7128        }
7129        bitField0_ |= 0x00000001;
7130        return this;
7131      }
7132      /**
7133       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7134       */
7135      public Builder clearPermissionTemplate() {
7136        if (permissionTemplateBuilder_ == null) {
7137          permissionTemplate_ = null;
7138          onChanged();
7139        } else {
7140          permissionTemplateBuilder_.clear();
7141        }
7142        bitField0_ = (bitField0_ & ~0x00000001);
7143        return this;
7144      }
7145      /**
7146       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7147       */
7148      public org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder getPermissionTemplateBuilder() {
7149        bitField0_ |= 0x00000001;
7150        onChanged();
7151        return getPermissionTemplateFieldBuilder().getBuilder();
7152      }
7153      /**
7154       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7155       */
7156      public org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplateOrBuilder() {
7157        if (permissionTemplateBuilder_ != null) {
7158          return permissionTemplateBuilder_.getMessageOrBuilder();
7159        } else {
7160          return permissionTemplate_ == null ?
7161              org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance() : permissionTemplate_;
7162        }
7163      }
7164      /**
7165       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7166       */
7167      private com.google.protobuf.SingleFieldBuilder<
7168          org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> 
7169          getPermissionTemplateFieldBuilder() {
7170        if (permissionTemplateBuilder_ == null) {
7171          permissionTemplateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
7172              org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder>(
7173                  getPermissionTemplate(),
7174                  getParentForChildren(),
7175                  isClean());
7176          permissionTemplate_ = null;
7177        }
7178        return permissionTemplateBuilder_;
7179      }
7180
7181      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.CreateTemplateWsResponse)
7182    }
7183
7184    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.CreateTemplateWsResponse)
7185    private static final org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse DEFAULT_INSTANCE;
7186    static {
7187      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse();
7188    }
7189
7190    public static org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse getDefaultInstance() {
7191      return DEFAULT_INSTANCE;
7192    }
7193
7194    @java.lang.Deprecated public static final com.google.protobuf.Parser<CreateTemplateWsResponse>
7195        PARSER = new com.google.protobuf.AbstractParser<CreateTemplateWsResponse>() {
7196      public CreateTemplateWsResponse parsePartialFrom(
7197          com.google.protobuf.CodedInputStream input,
7198          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7199          throws com.google.protobuf.InvalidProtocolBufferException {
7200        try {
7201          return new CreateTemplateWsResponse(input, extensionRegistry);
7202        } catch (RuntimeException e) {
7203          if (e.getCause() instanceof
7204              com.google.protobuf.InvalidProtocolBufferException) {
7205            throw (com.google.protobuf.InvalidProtocolBufferException)
7206                e.getCause();
7207          }
7208          throw e;
7209        }
7210      }
7211    };
7212
7213    public static com.google.protobuf.Parser<CreateTemplateWsResponse> parser() {
7214      return PARSER;
7215    }
7216
7217    @java.lang.Override
7218    public com.google.protobuf.Parser<CreateTemplateWsResponse> getParserForType() {
7219      return PARSER;
7220    }
7221
7222    public org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse getDefaultInstanceForType() {
7223      return DEFAULT_INSTANCE;
7224    }
7225
7226  }
7227
7228  public interface UpdateTemplateWsResponseOrBuilder extends
7229      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.UpdateTemplateWsResponse)
7230      com.google.protobuf.MessageOrBuilder {
7231
7232    /**
7233     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7234     */
7235    boolean hasPermissionTemplate();
7236    /**
7237     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7238     */
7239    org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplate();
7240    /**
7241     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7242     */
7243    org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplateOrBuilder();
7244  }
7245  /**
7246   * Protobuf type {@code sonarqube.ws.permissions.UpdateTemplateWsResponse}
7247   */
7248  public  static final class UpdateTemplateWsResponse extends
7249      com.google.protobuf.GeneratedMessage implements
7250      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.UpdateTemplateWsResponse)
7251      UpdateTemplateWsResponseOrBuilder {
7252    // Use UpdateTemplateWsResponse.newBuilder() to construct.
7253    private UpdateTemplateWsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
7254      super(builder);
7255    }
7256    private UpdateTemplateWsResponse() {
7257    }
7258
7259    @java.lang.Override
7260    public final com.google.protobuf.UnknownFieldSet
7261    getUnknownFields() {
7262      return this.unknownFields;
7263    }
7264    private UpdateTemplateWsResponse(
7265        com.google.protobuf.CodedInputStream input,
7266        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
7267      this();
7268      int mutable_bitField0_ = 0;
7269      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
7270          com.google.protobuf.UnknownFieldSet.newBuilder();
7271      try {
7272        boolean done = false;
7273        while (!done) {
7274          int tag = input.readTag();
7275          switch (tag) {
7276            case 0:
7277              done = true;
7278              break;
7279            default: {
7280              if (!parseUnknownField(input, unknownFields,
7281                                     extensionRegistry, tag)) {
7282                done = true;
7283              }
7284              break;
7285            }
7286            case 10: {
7287              org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder subBuilder = null;
7288              if (((bitField0_ & 0x00000001) == 0x00000001)) {
7289                subBuilder = permissionTemplate_.toBuilder();
7290              }
7291              permissionTemplate_ = input.readMessage(org.sonarqube.ws.WsPermissions.PermissionTemplate.parser(), extensionRegistry);
7292              if (subBuilder != null) {
7293                subBuilder.mergeFrom(permissionTemplate_);
7294                permissionTemplate_ = subBuilder.buildPartial();
7295              }
7296              bitField0_ |= 0x00000001;
7297              break;
7298            }
7299          }
7300        }
7301      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7302        throw new RuntimeException(e.setUnfinishedMessage(this));
7303      } catch (java.io.IOException e) {
7304        throw new RuntimeException(
7305            new com.google.protobuf.InvalidProtocolBufferException(
7306                e.getMessage()).setUnfinishedMessage(this));
7307      } finally {
7308        this.unknownFields = unknownFields.build();
7309        makeExtensionsImmutable();
7310      }
7311    }
7312    public static final com.google.protobuf.Descriptors.Descriptor
7313        getDescriptor() {
7314      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_descriptor;
7315    }
7316
7317    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
7318        internalGetFieldAccessorTable() {
7319      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_fieldAccessorTable
7320          .ensureFieldAccessorsInitialized(
7321              org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse.class, org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse.Builder.class);
7322    }
7323
7324    private int bitField0_;
7325    public static final int PERMISSIONTEMPLATE_FIELD_NUMBER = 1;
7326    private org.sonarqube.ws.WsPermissions.PermissionTemplate permissionTemplate_;
7327    /**
7328     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7329     */
7330    public boolean hasPermissionTemplate() {
7331      return ((bitField0_ & 0x00000001) == 0x00000001);
7332    }
7333    /**
7334     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7335     */
7336    public org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplate() {
7337      return permissionTemplate_ == null ? org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance() : permissionTemplate_;
7338    }
7339    /**
7340     * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7341     */
7342    public org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplateOrBuilder() {
7343      return permissionTemplate_ == null ? org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance() : permissionTemplate_;
7344    }
7345
7346    private byte memoizedIsInitialized = -1;
7347    public final boolean isInitialized() {
7348      byte isInitialized = memoizedIsInitialized;
7349      if (isInitialized == 1) return true;
7350      if (isInitialized == 0) return false;
7351
7352      memoizedIsInitialized = 1;
7353      return true;
7354    }
7355
7356    public void writeTo(com.google.protobuf.CodedOutputStream output)
7357                        throws java.io.IOException {
7358      if (((bitField0_ & 0x00000001) == 0x00000001)) {
7359        output.writeMessage(1, getPermissionTemplate());
7360      }
7361      unknownFields.writeTo(output);
7362    }
7363
7364    public int getSerializedSize() {
7365      int size = memoizedSize;
7366      if (size != -1) return size;
7367
7368      size = 0;
7369      if (((bitField0_ & 0x00000001) == 0x00000001)) {
7370        size += com.google.protobuf.CodedOutputStream
7371          .computeMessageSize(1, getPermissionTemplate());
7372      }
7373      size += unknownFields.getSerializedSize();
7374      memoizedSize = size;
7375      return size;
7376    }
7377
7378    private static final long serialVersionUID = 0L;
7379    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseFrom(
7380        com.google.protobuf.ByteString data)
7381        throws com.google.protobuf.InvalidProtocolBufferException {
7382      return PARSER.parseFrom(data);
7383    }
7384    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseFrom(
7385        com.google.protobuf.ByteString data,
7386        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7387        throws com.google.protobuf.InvalidProtocolBufferException {
7388      return PARSER.parseFrom(data, extensionRegistry);
7389    }
7390    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseFrom(byte[] data)
7391        throws com.google.protobuf.InvalidProtocolBufferException {
7392      return PARSER.parseFrom(data);
7393    }
7394    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseFrom(
7395        byte[] data,
7396        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7397        throws com.google.protobuf.InvalidProtocolBufferException {
7398      return PARSER.parseFrom(data, extensionRegistry);
7399    }
7400    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseFrom(java.io.InputStream input)
7401        throws java.io.IOException {
7402      return PARSER.parseFrom(input);
7403    }
7404    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseFrom(
7405        java.io.InputStream input,
7406        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7407        throws java.io.IOException {
7408      return PARSER.parseFrom(input, extensionRegistry);
7409    }
7410    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseDelimitedFrom(java.io.InputStream input)
7411        throws java.io.IOException {
7412      return PARSER.parseDelimitedFrom(input);
7413    }
7414    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseDelimitedFrom(
7415        java.io.InputStream input,
7416        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7417        throws java.io.IOException {
7418      return PARSER.parseDelimitedFrom(input, extensionRegistry);
7419    }
7420    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseFrom(
7421        com.google.protobuf.CodedInputStream input)
7422        throws java.io.IOException {
7423      return PARSER.parseFrom(input);
7424    }
7425    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parseFrom(
7426        com.google.protobuf.CodedInputStream input,
7427        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7428        throws java.io.IOException {
7429      return PARSER.parseFrom(input, extensionRegistry);
7430    }
7431
7432    public Builder newBuilderForType() { return newBuilder(); }
7433    public static Builder newBuilder() {
7434      return DEFAULT_INSTANCE.toBuilder();
7435    }
7436    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse prototype) {
7437      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
7438    }
7439    public Builder toBuilder() {
7440      return this == DEFAULT_INSTANCE
7441          ? new Builder() : new Builder().mergeFrom(this);
7442    }
7443
7444    @java.lang.Override
7445    protected Builder newBuilderForType(
7446        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
7447      Builder builder = new Builder(parent);
7448      return builder;
7449    }
7450    /**
7451     * Protobuf type {@code sonarqube.ws.permissions.UpdateTemplateWsResponse}
7452     */
7453    public static final class Builder extends
7454        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
7455        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.UpdateTemplateWsResponse)
7456        org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponseOrBuilder {
7457      public static final com.google.protobuf.Descriptors.Descriptor
7458          getDescriptor() {
7459        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_descriptor;
7460      }
7461
7462      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
7463          internalGetFieldAccessorTable() {
7464        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_fieldAccessorTable
7465            .ensureFieldAccessorsInitialized(
7466                org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse.class, org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse.Builder.class);
7467      }
7468
7469      // Construct using org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse.newBuilder()
7470      private Builder() {
7471        maybeForceBuilderInitialization();
7472      }
7473
7474      private Builder(
7475          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
7476        super(parent);
7477        maybeForceBuilderInitialization();
7478      }
7479      private void maybeForceBuilderInitialization() {
7480        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
7481          getPermissionTemplateFieldBuilder();
7482        }
7483      }
7484      public Builder clear() {
7485        super.clear();
7486        if (permissionTemplateBuilder_ == null) {
7487          permissionTemplate_ = null;
7488        } else {
7489          permissionTemplateBuilder_.clear();
7490        }
7491        bitField0_ = (bitField0_ & ~0x00000001);
7492        return this;
7493      }
7494
7495      public com.google.protobuf.Descriptors.Descriptor
7496          getDescriptorForType() {
7497        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_descriptor;
7498      }
7499
7500      public org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse getDefaultInstanceForType() {
7501        return org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse.getDefaultInstance();
7502      }
7503
7504      public org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse build() {
7505        org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse result = buildPartial();
7506        if (!result.isInitialized()) {
7507          throw newUninitializedMessageException(result);
7508        }
7509        return result;
7510      }
7511
7512      public org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse buildPartial() {
7513        org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse result = new org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse(this);
7514        int from_bitField0_ = bitField0_;
7515        int to_bitField0_ = 0;
7516        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
7517          to_bitField0_ |= 0x00000001;
7518        }
7519        if (permissionTemplateBuilder_ == null) {
7520          result.permissionTemplate_ = permissionTemplate_;
7521        } else {
7522          result.permissionTemplate_ = permissionTemplateBuilder_.build();
7523        }
7524        result.bitField0_ = to_bitField0_;
7525        onBuilt();
7526        return result;
7527      }
7528
7529      public Builder mergeFrom(com.google.protobuf.Message other) {
7530        if (other instanceof org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse) {
7531          return mergeFrom((org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse)other);
7532        } else {
7533          super.mergeFrom(other);
7534          return this;
7535        }
7536      }
7537
7538      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse other) {
7539        if (other == org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse.getDefaultInstance()) return this;
7540        if (other.hasPermissionTemplate()) {
7541          mergePermissionTemplate(other.getPermissionTemplate());
7542        }
7543        this.mergeUnknownFields(other.unknownFields);
7544        onChanged();
7545        return this;
7546      }
7547
7548      public final boolean isInitialized() {
7549        return true;
7550      }
7551
7552      public Builder mergeFrom(
7553          com.google.protobuf.CodedInputStream input,
7554          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7555          throws java.io.IOException {
7556        org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse parsedMessage = null;
7557        try {
7558          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7559        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7560          parsedMessage = (org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse) e.getUnfinishedMessage();
7561          throw e;
7562        } finally {
7563          if (parsedMessage != null) {
7564            mergeFrom(parsedMessage);
7565          }
7566        }
7567        return this;
7568      }
7569      private int bitField0_;
7570
7571      private org.sonarqube.ws.WsPermissions.PermissionTemplate permissionTemplate_ = null;
7572      private com.google.protobuf.SingleFieldBuilder<
7573          org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> permissionTemplateBuilder_;
7574      /**
7575       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7576       */
7577      public boolean hasPermissionTemplate() {
7578        return ((bitField0_ & 0x00000001) == 0x00000001);
7579      }
7580      /**
7581       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7582       */
7583      public org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplate() {
7584        if (permissionTemplateBuilder_ == null) {
7585          return permissionTemplate_ == null ? org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance() : permissionTemplate_;
7586        } else {
7587          return permissionTemplateBuilder_.getMessage();
7588        }
7589      }
7590      /**
7591       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7592       */
7593      public Builder setPermissionTemplate(org.sonarqube.ws.WsPermissions.PermissionTemplate value) {
7594        if (permissionTemplateBuilder_ == null) {
7595          if (value == null) {
7596            throw new NullPointerException();
7597          }
7598          permissionTemplate_ = value;
7599          onChanged();
7600        } else {
7601          permissionTemplateBuilder_.setMessage(value);
7602        }
7603        bitField0_ |= 0x00000001;
7604        return this;
7605      }
7606      /**
7607       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7608       */
7609      public Builder setPermissionTemplate(
7610          org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder builderForValue) {
7611        if (permissionTemplateBuilder_ == null) {
7612          permissionTemplate_ = builderForValue.build();
7613          onChanged();
7614        } else {
7615          permissionTemplateBuilder_.setMessage(builderForValue.build());
7616        }
7617        bitField0_ |= 0x00000001;
7618        return this;
7619      }
7620      /**
7621       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7622       */
7623      public Builder mergePermissionTemplate(org.sonarqube.ws.WsPermissions.PermissionTemplate value) {
7624        if (permissionTemplateBuilder_ == null) {
7625          if (((bitField0_ & 0x00000001) == 0x00000001) &&
7626              permissionTemplate_ != null &&
7627              permissionTemplate_ != org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance()) {
7628            permissionTemplate_ =
7629              org.sonarqube.ws.WsPermissions.PermissionTemplate.newBuilder(permissionTemplate_).mergeFrom(value).buildPartial();
7630          } else {
7631            permissionTemplate_ = value;
7632          }
7633          onChanged();
7634        } else {
7635          permissionTemplateBuilder_.mergeFrom(value);
7636        }
7637        bitField0_ |= 0x00000001;
7638        return this;
7639      }
7640      /**
7641       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7642       */
7643      public Builder clearPermissionTemplate() {
7644        if (permissionTemplateBuilder_ == null) {
7645          permissionTemplate_ = null;
7646          onChanged();
7647        } else {
7648          permissionTemplateBuilder_.clear();
7649        }
7650        bitField0_ = (bitField0_ & ~0x00000001);
7651        return this;
7652      }
7653      /**
7654       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7655       */
7656      public org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder getPermissionTemplateBuilder() {
7657        bitField0_ |= 0x00000001;
7658        onChanged();
7659        return getPermissionTemplateFieldBuilder().getBuilder();
7660      }
7661      /**
7662       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7663       */
7664      public org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplateOrBuilder() {
7665        if (permissionTemplateBuilder_ != null) {
7666          return permissionTemplateBuilder_.getMessageOrBuilder();
7667        } else {
7668          return permissionTemplate_ == null ?
7669              org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance() : permissionTemplate_;
7670        }
7671      }
7672      /**
7673       * <code>optional .sonarqube.ws.permissions.PermissionTemplate permissionTemplate = 1;</code>
7674       */
7675      private com.google.protobuf.SingleFieldBuilder<
7676          org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> 
7677          getPermissionTemplateFieldBuilder() {
7678        if (permissionTemplateBuilder_ == null) {
7679          permissionTemplateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
7680              org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder>(
7681                  getPermissionTemplate(),
7682                  getParentForChildren(),
7683                  isClean());
7684          permissionTemplate_ = null;
7685        }
7686        return permissionTemplateBuilder_;
7687      }
7688
7689      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.UpdateTemplateWsResponse)
7690    }
7691
7692    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.UpdateTemplateWsResponse)
7693    private static final org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse DEFAULT_INSTANCE;
7694    static {
7695      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse();
7696    }
7697
7698    public static org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse getDefaultInstance() {
7699      return DEFAULT_INSTANCE;
7700    }
7701
7702    @java.lang.Deprecated public static final com.google.protobuf.Parser<UpdateTemplateWsResponse>
7703        PARSER = new com.google.protobuf.AbstractParser<UpdateTemplateWsResponse>() {
7704      public UpdateTemplateWsResponse parsePartialFrom(
7705          com.google.protobuf.CodedInputStream input,
7706          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7707          throws com.google.protobuf.InvalidProtocolBufferException {
7708        try {
7709          return new UpdateTemplateWsResponse(input, extensionRegistry);
7710        } catch (RuntimeException e) {
7711          if (e.getCause() instanceof
7712              com.google.protobuf.InvalidProtocolBufferException) {
7713            throw (com.google.protobuf.InvalidProtocolBufferException)
7714                e.getCause();
7715          }
7716          throw e;
7717        }
7718      }
7719    };
7720
7721    public static com.google.protobuf.Parser<UpdateTemplateWsResponse> parser() {
7722      return PARSER;
7723    }
7724
7725    @java.lang.Override
7726    public com.google.protobuf.Parser<UpdateTemplateWsResponse> getParserForType() {
7727      return PARSER;
7728    }
7729
7730    public org.sonarqube.ws.WsPermissions.UpdateTemplateWsResponse getDefaultInstanceForType() {
7731      return DEFAULT_INSTANCE;
7732    }
7733
7734  }
7735
7736  public interface SearchTemplatesWsResponseOrBuilder extends
7737      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.SearchTemplatesWsResponse)
7738      com.google.protobuf.MessageOrBuilder {
7739
7740    /**
7741     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
7742     */
7743    java.util.List<org.sonarqube.ws.WsPermissions.PermissionTemplate> 
7744        getPermissionTemplatesList();
7745    /**
7746     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
7747     */
7748    org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplates(int index);
7749    /**
7750     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
7751     */
7752    int getPermissionTemplatesCount();
7753    /**
7754     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
7755     */
7756    java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> 
7757        getPermissionTemplatesOrBuilderList();
7758    /**
7759     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
7760     */
7761    org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplatesOrBuilder(
7762        int index);
7763
7764    /**
7765     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
7766     */
7767    java.util.List<org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier> 
7768        getDefaultTemplatesList();
7769    /**
7770     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
7771     */
7772    org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier getDefaultTemplates(int index);
7773    /**
7774     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
7775     */
7776    int getDefaultTemplatesCount();
7777    /**
7778     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
7779     */
7780    java.util.List<? extends org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder> 
7781        getDefaultTemplatesOrBuilderList();
7782    /**
7783     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
7784     */
7785    org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder getDefaultTemplatesOrBuilder(
7786        int index);
7787
7788    /**
7789     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
7790     */
7791    java.util.List<org.sonarqube.ws.WsPermissions.Permission> 
7792        getPermissionsList();
7793    /**
7794     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
7795     */
7796    org.sonarqube.ws.WsPermissions.Permission getPermissions(int index);
7797    /**
7798     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
7799     */
7800    int getPermissionsCount();
7801    /**
7802     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
7803     */
7804    java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
7805        getPermissionsOrBuilderList();
7806    /**
7807     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
7808     */
7809    org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
7810        int index);
7811  }
7812  /**
7813   * Protobuf type {@code sonarqube.ws.permissions.SearchTemplatesWsResponse}
7814   */
7815  public  static final class SearchTemplatesWsResponse extends
7816      com.google.protobuf.GeneratedMessage implements
7817      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.SearchTemplatesWsResponse)
7818      SearchTemplatesWsResponseOrBuilder {
7819    // Use SearchTemplatesWsResponse.newBuilder() to construct.
7820    private SearchTemplatesWsResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
7821      super(builder);
7822    }
7823    private SearchTemplatesWsResponse() {
7824      permissionTemplates_ = java.util.Collections.emptyList();
7825      defaultTemplates_ = java.util.Collections.emptyList();
7826      permissions_ = java.util.Collections.emptyList();
7827    }
7828
7829    @java.lang.Override
7830    public final com.google.protobuf.UnknownFieldSet
7831    getUnknownFields() {
7832      return this.unknownFields;
7833    }
7834    private SearchTemplatesWsResponse(
7835        com.google.protobuf.CodedInputStream input,
7836        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
7837      this();
7838      int mutable_bitField0_ = 0;
7839      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
7840          com.google.protobuf.UnknownFieldSet.newBuilder();
7841      try {
7842        boolean done = false;
7843        while (!done) {
7844          int tag = input.readTag();
7845          switch (tag) {
7846            case 0:
7847              done = true;
7848              break;
7849            default: {
7850              if (!parseUnknownField(input, unknownFields,
7851                                     extensionRegistry, tag)) {
7852                done = true;
7853              }
7854              break;
7855            }
7856            case 10: {
7857              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
7858                permissionTemplates_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.PermissionTemplate>();
7859                mutable_bitField0_ |= 0x00000001;
7860              }
7861              permissionTemplates_.add(input.readMessage(org.sonarqube.ws.WsPermissions.PermissionTemplate.parser(), extensionRegistry));
7862              break;
7863            }
7864            case 18: {
7865              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
7866                defaultTemplates_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier>();
7867                mutable_bitField0_ |= 0x00000002;
7868              }
7869              defaultTemplates_.add(input.readMessage(org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.parser(), extensionRegistry));
7870              break;
7871            }
7872            case 26: {
7873              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
7874                permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>();
7875                mutable_bitField0_ |= 0x00000004;
7876              }
7877              permissions_.add(input.readMessage(org.sonarqube.ws.WsPermissions.Permission.parser(), extensionRegistry));
7878              break;
7879            }
7880          }
7881        }
7882      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7883        throw new RuntimeException(e.setUnfinishedMessage(this));
7884      } catch (java.io.IOException e) {
7885        throw new RuntimeException(
7886            new com.google.protobuf.InvalidProtocolBufferException(
7887                e.getMessage()).setUnfinishedMessage(this));
7888      } finally {
7889        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
7890          permissionTemplates_ = java.util.Collections.unmodifiableList(permissionTemplates_);
7891        }
7892        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
7893          defaultTemplates_ = java.util.Collections.unmodifiableList(defaultTemplates_);
7894        }
7895        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
7896          permissions_ = java.util.Collections.unmodifiableList(permissions_);
7897        }
7898        this.unknownFields = unknownFields.build();
7899        makeExtensionsImmutable();
7900      }
7901    }
7902    public static final com.google.protobuf.Descriptors.Descriptor
7903        getDescriptor() {
7904      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_descriptor;
7905    }
7906
7907    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
7908        internalGetFieldAccessorTable() {
7909      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_fieldAccessorTable
7910          .ensureFieldAccessorsInitialized(
7911              org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.class, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.Builder.class);
7912    }
7913
7914    public interface TemplateIdQualifierOrBuilder extends
7915        // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier)
7916        com.google.protobuf.MessageOrBuilder {
7917
7918      /**
7919       * <code>optional string templateId = 1;</code>
7920       */
7921      boolean hasTemplateId();
7922      /**
7923       * <code>optional string templateId = 1;</code>
7924       */
7925      java.lang.String getTemplateId();
7926      /**
7927       * <code>optional string templateId = 1;</code>
7928       */
7929      com.google.protobuf.ByteString
7930          getTemplateIdBytes();
7931
7932      /**
7933       * <code>optional string qualifier = 2;</code>
7934       */
7935      boolean hasQualifier();
7936      /**
7937       * <code>optional string qualifier = 2;</code>
7938       */
7939      java.lang.String getQualifier();
7940      /**
7941       * <code>optional string qualifier = 2;</code>
7942       */
7943      com.google.protobuf.ByteString
7944          getQualifierBytes();
7945    }
7946    /**
7947     * Protobuf type {@code sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier}
7948     */
7949    public  static final class TemplateIdQualifier extends
7950        com.google.protobuf.GeneratedMessage implements
7951        // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier)
7952        TemplateIdQualifierOrBuilder {
7953      // Use TemplateIdQualifier.newBuilder() to construct.
7954      private TemplateIdQualifier(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
7955        super(builder);
7956      }
7957      private TemplateIdQualifier() {
7958        templateId_ = "";
7959        qualifier_ = "";
7960      }
7961
7962      @java.lang.Override
7963      public final com.google.protobuf.UnknownFieldSet
7964      getUnknownFields() {
7965        return this.unknownFields;
7966      }
7967      private TemplateIdQualifier(
7968          com.google.protobuf.CodedInputStream input,
7969          com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
7970        this();
7971        int mutable_bitField0_ = 0;
7972        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
7973            com.google.protobuf.UnknownFieldSet.newBuilder();
7974        try {
7975          boolean done = false;
7976          while (!done) {
7977            int tag = input.readTag();
7978            switch (tag) {
7979              case 0:
7980                done = true;
7981                break;
7982              default: {
7983                if (!parseUnknownField(input, unknownFields,
7984                                       extensionRegistry, tag)) {
7985                  done = true;
7986                }
7987                break;
7988              }
7989              case 10: {
7990                com.google.protobuf.ByteString bs = input.readBytes();
7991                bitField0_ |= 0x00000001;
7992                templateId_ = bs;
7993                break;
7994              }
7995              case 18: {
7996                com.google.protobuf.ByteString bs = input.readBytes();
7997                bitField0_ |= 0x00000002;
7998                qualifier_ = bs;
7999                break;
8000              }
8001            }
8002          }
8003        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8004          throw new RuntimeException(e.setUnfinishedMessage(this));
8005        } catch (java.io.IOException e) {
8006          throw new RuntimeException(
8007              new com.google.protobuf.InvalidProtocolBufferException(
8008                  e.getMessage()).setUnfinishedMessage(this));
8009        } finally {
8010          this.unknownFields = unknownFields.build();
8011          makeExtensionsImmutable();
8012        }
8013      }
8014      public static final com.google.protobuf.Descriptors.Descriptor
8015          getDescriptor() {
8016        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_descriptor;
8017      }
8018
8019      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8020          internalGetFieldAccessorTable() {
8021        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_fieldAccessorTable
8022            .ensureFieldAccessorsInitialized(
8023                org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.class, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder.class);
8024      }
8025
8026      private int bitField0_;
8027      public static final int TEMPLATEID_FIELD_NUMBER = 1;
8028      private volatile java.lang.Object templateId_;
8029      /**
8030       * <code>optional string templateId = 1;</code>
8031       */
8032      public boolean hasTemplateId() {
8033        return ((bitField0_ & 0x00000001) == 0x00000001);
8034      }
8035      /**
8036       * <code>optional string templateId = 1;</code>
8037       */
8038      public java.lang.String getTemplateId() {
8039        java.lang.Object ref = templateId_;
8040        if (ref instanceof java.lang.String) {
8041          return (java.lang.String) ref;
8042        } else {
8043          com.google.protobuf.ByteString bs = 
8044              (com.google.protobuf.ByteString) ref;
8045          java.lang.String s = bs.toStringUtf8();
8046          if (bs.isValidUtf8()) {
8047            templateId_ = s;
8048          }
8049          return s;
8050        }
8051      }
8052      /**
8053       * <code>optional string templateId = 1;</code>
8054       */
8055      public com.google.protobuf.ByteString
8056          getTemplateIdBytes() {
8057        java.lang.Object ref = templateId_;
8058        if (ref instanceof java.lang.String) {
8059          com.google.protobuf.ByteString b = 
8060              com.google.protobuf.ByteString.copyFromUtf8(
8061                  (java.lang.String) ref);
8062          templateId_ = b;
8063          return b;
8064        } else {
8065          return (com.google.protobuf.ByteString) ref;
8066        }
8067      }
8068
8069      public static final int QUALIFIER_FIELD_NUMBER = 2;
8070      private volatile java.lang.Object qualifier_;
8071      /**
8072       * <code>optional string qualifier = 2;</code>
8073       */
8074      public boolean hasQualifier() {
8075        return ((bitField0_ & 0x00000002) == 0x00000002);
8076      }
8077      /**
8078       * <code>optional string qualifier = 2;</code>
8079       */
8080      public java.lang.String getQualifier() {
8081        java.lang.Object ref = qualifier_;
8082        if (ref instanceof java.lang.String) {
8083          return (java.lang.String) ref;
8084        } else {
8085          com.google.protobuf.ByteString bs = 
8086              (com.google.protobuf.ByteString) ref;
8087          java.lang.String s = bs.toStringUtf8();
8088          if (bs.isValidUtf8()) {
8089            qualifier_ = s;
8090          }
8091          return s;
8092        }
8093      }
8094      /**
8095       * <code>optional string qualifier = 2;</code>
8096       */
8097      public com.google.protobuf.ByteString
8098          getQualifierBytes() {
8099        java.lang.Object ref = qualifier_;
8100        if (ref instanceof java.lang.String) {
8101          com.google.protobuf.ByteString b = 
8102              com.google.protobuf.ByteString.copyFromUtf8(
8103                  (java.lang.String) ref);
8104          qualifier_ = b;
8105          return b;
8106        } else {
8107          return (com.google.protobuf.ByteString) ref;
8108        }
8109      }
8110
8111      private byte memoizedIsInitialized = -1;
8112      public final boolean isInitialized() {
8113        byte isInitialized = memoizedIsInitialized;
8114        if (isInitialized == 1) return true;
8115        if (isInitialized == 0) return false;
8116
8117        memoizedIsInitialized = 1;
8118        return true;
8119      }
8120
8121      public void writeTo(com.google.protobuf.CodedOutputStream output)
8122                          throws java.io.IOException {
8123        if (((bitField0_ & 0x00000001) == 0x00000001)) {
8124          com.google.protobuf.GeneratedMessage.writeString(output, 1, templateId_);
8125        }
8126        if (((bitField0_ & 0x00000002) == 0x00000002)) {
8127          com.google.protobuf.GeneratedMessage.writeString(output, 2, qualifier_);
8128        }
8129        unknownFields.writeTo(output);
8130      }
8131
8132      public int getSerializedSize() {
8133        int size = memoizedSize;
8134        if (size != -1) return size;
8135
8136        size = 0;
8137        if (((bitField0_ & 0x00000001) == 0x00000001)) {
8138          size += com.google.protobuf.GeneratedMessage.computeStringSize(1, templateId_);
8139        }
8140        if (((bitField0_ & 0x00000002) == 0x00000002)) {
8141          size += com.google.protobuf.GeneratedMessage.computeStringSize(2, qualifier_);
8142        }
8143        size += unknownFields.getSerializedSize();
8144        memoizedSize = size;
8145        return size;
8146      }
8147
8148      private static final long serialVersionUID = 0L;
8149      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseFrom(
8150          com.google.protobuf.ByteString data)
8151          throws com.google.protobuf.InvalidProtocolBufferException {
8152        return PARSER.parseFrom(data);
8153      }
8154      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseFrom(
8155          com.google.protobuf.ByteString data,
8156          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8157          throws com.google.protobuf.InvalidProtocolBufferException {
8158        return PARSER.parseFrom(data, extensionRegistry);
8159      }
8160      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseFrom(byte[] data)
8161          throws com.google.protobuf.InvalidProtocolBufferException {
8162        return PARSER.parseFrom(data);
8163      }
8164      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseFrom(
8165          byte[] data,
8166          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8167          throws com.google.protobuf.InvalidProtocolBufferException {
8168        return PARSER.parseFrom(data, extensionRegistry);
8169      }
8170      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseFrom(java.io.InputStream input)
8171          throws java.io.IOException {
8172        return PARSER.parseFrom(input);
8173      }
8174      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseFrom(
8175          java.io.InputStream input,
8176          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8177          throws java.io.IOException {
8178        return PARSER.parseFrom(input, extensionRegistry);
8179      }
8180      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseDelimitedFrom(java.io.InputStream input)
8181          throws java.io.IOException {
8182        return PARSER.parseDelimitedFrom(input);
8183      }
8184      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseDelimitedFrom(
8185          java.io.InputStream input,
8186          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8187          throws java.io.IOException {
8188        return PARSER.parseDelimitedFrom(input, extensionRegistry);
8189      }
8190      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseFrom(
8191          com.google.protobuf.CodedInputStream input)
8192          throws java.io.IOException {
8193        return PARSER.parseFrom(input);
8194      }
8195      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parseFrom(
8196          com.google.protobuf.CodedInputStream input,
8197          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8198          throws java.io.IOException {
8199        return PARSER.parseFrom(input, extensionRegistry);
8200      }
8201
8202      public Builder newBuilderForType() { return newBuilder(); }
8203      public static Builder newBuilder() {
8204        return DEFAULT_INSTANCE.toBuilder();
8205      }
8206      public static Builder newBuilder(org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier prototype) {
8207        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
8208      }
8209      public Builder toBuilder() {
8210        return this == DEFAULT_INSTANCE
8211            ? new Builder() : new Builder().mergeFrom(this);
8212      }
8213
8214      @java.lang.Override
8215      protected Builder newBuilderForType(
8216          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8217        Builder builder = new Builder(parent);
8218        return builder;
8219      }
8220      /**
8221       * Protobuf type {@code sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier}
8222       */
8223      public static final class Builder extends
8224          com.google.protobuf.GeneratedMessage.Builder<Builder> implements
8225          // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier)
8226          org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder {
8227        public static final com.google.protobuf.Descriptors.Descriptor
8228            getDescriptor() {
8229          return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_descriptor;
8230        }
8231
8232        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8233            internalGetFieldAccessorTable() {
8234          return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_fieldAccessorTable
8235              .ensureFieldAccessorsInitialized(
8236                  org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.class, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder.class);
8237        }
8238
8239        // Construct using org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.newBuilder()
8240        private Builder() {
8241          maybeForceBuilderInitialization();
8242        }
8243
8244        private Builder(
8245            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8246          super(parent);
8247          maybeForceBuilderInitialization();
8248        }
8249        private void maybeForceBuilderInitialization() {
8250          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
8251          }
8252        }
8253        public Builder clear() {
8254          super.clear();
8255          templateId_ = "";
8256          bitField0_ = (bitField0_ & ~0x00000001);
8257          qualifier_ = "";
8258          bitField0_ = (bitField0_ & ~0x00000002);
8259          return this;
8260        }
8261
8262        public com.google.protobuf.Descriptors.Descriptor
8263            getDescriptorForType() {
8264          return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_descriptor;
8265        }
8266
8267        public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier getDefaultInstanceForType() {
8268          return org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.getDefaultInstance();
8269        }
8270
8271        public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier build() {
8272          org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier result = buildPartial();
8273          if (!result.isInitialized()) {
8274            throw newUninitializedMessageException(result);
8275          }
8276          return result;
8277        }
8278
8279        public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier buildPartial() {
8280          org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier result = new org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier(this);
8281          int from_bitField0_ = bitField0_;
8282          int to_bitField0_ = 0;
8283          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8284            to_bitField0_ |= 0x00000001;
8285          }
8286          result.templateId_ = templateId_;
8287          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
8288            to_bitField0_ |= 0x00000002;
8289          }
8290          result.qualifier_ = qualifier_;
8291          result.bitField0_ = to_bitField0_;
8292          onBuilt();
8293          return result;
8294        }
8295
8296        public Builder mergeFrom(com.google.protobuf.Message other) {
8297          if (other instanceof org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier) {
8298            return mergeFrom((org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier)other);
8299          } else {
8300            super.mergeFrom(other);
8301            return this;
8302          }
8303        }
8304
8305        public Builder mergeFrom(org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier other) {
8306          if (other == org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.getDefaultInstance()) return this;
8307          if (other.hasTemplateId()) {
8308            bitField0_ |= 0x00000001;
8309            templateId_ = other.templateId_;
8310            onChanged();
8311          }
8312          if (other.hasQualifier()) {
8313            bitField0_ |= 0x00000002;
8314            qualifier_ = other.qualifier_;
8315            onChanged();
8316          }
8317          this.mergeUnknownFields(other.unknownFields);
8318          onChanged();
8319          return this;
8320        }
8321
8322        public final boolean isInitialized() {
8323          return true;
8324        }
8325
8326        public Builder mergeFrom(
8327            com.google.protobuf.CodedInputStream input,
8328            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8329            throws java.io.IOException {
8330          org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier parsedMessage = null;
8331          try {
8332            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8333          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8334            parsedMessage = (org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier) e.getUnfinishedMessage();
8335            throw e;
8336          } finally {
8337            if (parsedMessage != null) {
8338              mergeFrom(parsedMessage);
8339            }
8340          }
8341          return this;
8342        }
8343        private int bitField0_;
8344
8345        private java.lang.Object templateId_ = "";
8346        /**
8347         * <code>optional string templateId = 1;</code>
8348         */
8349        public boolean hasTemplateId() {
8350          return ((bitField0_ & 0x00000001) == 0x00000001);
8351        }
8352        /**
8353         * <code>optional string templateId = 1;</code>
8354         */
8355        public java.lang.String getTemplateId() {
8356          java.lang.Object ref = templateId_;
8357          if (!(ref instanceof java.lang.String)) {
8358            com.google.protobuf.ByteString bs =
8359                (com.google.protobuf.ByteString) ref;
8360            java.lang.String s = bs.toStringUtf8();
8361            if (bs.isValidUtf8()) {
8362              templateId_ = s;
8363            }
8364            return s;
8365          } else {
8366            return (java.lang.String) ref;
8367          }
8368        }
8369        /**
8370         * <code>optional string templateId = 1;</code>
8371         */
8372        public com.google.protobuf.ByteString
8373            getTemplateIdBytes() {
8374          java.lang.Object ref = templateId_;
8375          if (ref instanceof String) {
8376            com.google.protobuf.ByteString b = 
8377                com.google.protobuf.ByteString.copyFromUtf8(
8378                    (java.lang.String) ref);
8379            templateId_ = b;
8380            return b;
8381          } else {
8382            return (com.google.protobuf.ByteString) ref;
8383          }
8384        }
8385        /**
8386         * <code>optional string templateId = 1;</code>
8387         */
8388        public Builder setTemplateId(
8389            java.lang.String value) {
8390          if (value == null) {
8391    throw new NullPointerException();
8392  }
8393  bitField0_ |= 0x00000001;
8394          templateId_ = value;
8395          onChanged();
8396          return this;
8397        }
8398        /**
8399         * <code>optional string templateId = 1;</code>
8400         */
8401        public Builder clearTemplateId() {
8402          bitField0_ = (bitField0_ & ~0x00000001);
8403          templateId_ = getDefaultInstance().getTemplateId();
8404          onChanged();
8405          return this;
8406        }
8407        /**
8408         * <code>optional string templateId = 1;</code>
8409         */
8410        public Builder setTemplateIdBytes(
8411            com.google.protobuf.ByteString value) {
8412          if (value == null) {
8413    throw new NullPointerException();
8414  }
8415  bitField0_ |= 0x00000001;
8416          templateId_ = value;
8417          onChanged();
8418          return this;
8419        }
8420
8421        private java.lang.Object qualifier_ = "";
8422        /**
8423         * <code>optional string qualifier = 2;</code>
8424         */
8425        public boolean hasQualifier() {
8426          return ((bitField0_ & 0x00000002) == 0x00000002);
8427        }
8428        /**
8429         * <code>optional string qualifier = 2;</code>
8430         */
8431        public java.lang.String getQualifier() {
8432          java.lang.Object ref = qualifier_;
8433          if (!(ref instanceof java.lang.String)) {
8434            com.google.protobuf.ByteString bs =
8435                (com.google.protobuf.ByteString) ref;
8436            java.lang.String s = bs.toStringUtf8();
8437            if (bs.isValidUtf8()) {
8438              qualifier_ = s;
8439            }
8440            return s;
8441          } else {
8442            return (java.lang.String) ref;
8443          }
8444        }
8445        /**
8446         * <code>optional string qualifier = 2;</code>
8447         */
8448        public com.google.protobuf.ByteString
8449            getQualifierBytes() {
8450          java.lang.Object ref = qualifier_;
8451          if (ref instanceof String) {
8452            com.google.protobuf.ByteString b = 
8453                com.google.protobuf.ByteString.copyFromUtf8(
8454                    (java.lang.String) ref);
8455            qualifier_ = b;
8456            return b;
8457          } else {
8458            return (com.google.protobuf.ByteString) ref;
8459          }
8460        }
8461        /**
8462         * <code>optional string qualifier = 2;</code>
8463         */
8464        public Builder setQualifier(
8465            java.lang.String value) {
8466          if (value == null) {
8467    throw new NullPointerException();
8468  }
8469  bitField0_ |= 0x00000002;
8470          qualifier_ = value;
8471          onChanged();
8472          return this;
8473        }
8474        /**
8475         * <code>optional string qualifier = 2;</code>
8476         */
8477        public Builder clearQualifier() {
8478          bitField0_ = (bitField0_ & ~0x00000002);
8479          qualifier_ = getDefaultInstance().getQualifier();
8480          onChanged();
8481          return this;
8482        }
8483        /**
8484         * <code>optional string qualifier = 2;</code>
8485         */
8486        public Builder setQualifierBytes(
8487            com.google.protobuf.ByteString value) {
8488          if (value == null) {
8489    throw new NullPointerException();
8490  }
8491  bitField0_ |= 0x00000002;
8492          qualifier_ = value;
8493          onChanged();
8494          return this;
8495        }
8496
8497        // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier)
8498      }
8499
8500      // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier)
8501      private static final org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier DEFAULT_INSTANCE;
8502      static {
8503        DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier();
8504      }
8505
8506      public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier getDefaultInstance() {
8507        return DEFAULT_INSTANCE;
8508      }
8509
8510      @java.lang.Deprecated public static final com.google.protobuf.Parser<TemplateIdQualifier>
8511          PARSER = new com.google.protobuf.AbstractParser<TemplateIdQualifier>() {
8512        public TemplateIdQualifier parsePartialFrom(
8513            com.google.protobuf.CodedInputStream input,
8514            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8515            throws com.google.protobuf.InvalidProtocolBufferException {
8516          try {
8517            return new TemplateIdQualifier(input, extensionRegistry);
8518          } catch (RuntimeException e) {
8519            if (e.getCause() instanceof
8520                com.google.protobuf.InvalidProtocolBufferException) {
8521              throw (com.google.protobuf.InvalidProtocolBufferException)
8522                  e.getCause();
8523            }
8524            throw e;
8525          }
8526        }
8527      };
8528
8529      public static com.google.protobuf.Parser<TemplateIdQualifier> parser() {
8530        return PARSER;
8531      }
8532
8533      @java.lang.Override
8534      public com.google.protobuf.Parser<TemplateIdQualifier> getParserForType() {
8535        return PARSER;
8536      }
8537
8538      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier getDefaultInstanceForType() {
8539        return DEFAULT_INSTANCE;
8540      }
8541
8542    }
8543
8544    public static final int PERMISSIONTEMPLATES_FIELD_NUMBER = 1;
8545    private java.util.List<org.sonarqube.ws.WsPermissions.PermissionTemplate> permissionTemplates_;
8546    /**
8547     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
8548     */
8549    public java.util.List<org.sonarqube.ws.WsPermissions.PermissionTemplate> getPermissionTemplatesList() {
8550      return permissionTemplates_;
8551    }
8552    /**
8553     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
8554     */
8555    public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> 
8556        getPermissionTemplatesOrBuilderList() {
8557      return permissionTemplates_;
8558    }
8559    /**
8560     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
8561     */
8562    public int getPermissionTemplatesCount() {
8563      return permissionTemplates_.size();
8564    }
8565    /**
8566     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
8567     */
8568    public org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplates(int index) {
8569      return permissionTemplates_.get(index);
8570    }
8571    /**
8572     * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
8573     */
8574    public org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplatesOrBuilder(
8575        int index) {
8576      return permissionTemplates_.get(index);
8577    }
8578
8579    public static final int DEFAULTTEMPLATES_FIELD_NUMBER = 2;
8580    private java.util.List<org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier> defaultTemplates_;
8581    /**
8582     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
8583     */
8584    public java.util.List<org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier> getDefaultTemplatesList() {
8585      return defaultTemplates_;
8586    }
8587    /**
8588     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
8589     */
8590    public java.util.List<? extends org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder> 
8591        getDefaultTemplatesOrBuilderList() {
8592      return defaultTemplates_;
8593    }
8594    /**
8595     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
8596     */
8597    public int getDefaultTemplatesCount() {
8598      return defaultTemplates_.size();
8599    }
8600    /**
8601     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
8602     */
8603    public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier getDefaultTemplates(int index) {
8604      return defaultTemplates_.get(index);
8605    }
8606    /**
8607     * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
8608     */
8609    public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder getDefaultTemplatesOrBuilder(
8610        int index) {
8611      return defaultTemplates_.get(index);
8612    }
8613
8614    public static final int PERMISSIONS_FIELD_NUMBER = 3;
8615    private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_;
8616    /**
8617     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
8618     */
8619    public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
8620      return permissions_;
8621    }
8622    /**
8623     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
8624     */
8625    public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
8626        getPermissionsOrBuilderList() {
8627      return permissions_;
8628    }
8629    /**
8630     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
8631     */
8632    public int getPermissionsCount() {
8633      return permissions_.size();
8634    }
8635    /**
8636     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
8637     */
8638    public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
8639      return permissions_.get(index);
8640    }
8641    /**
8642     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
8643     */
8644    public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
8645        int index) {
8646      return permissions_.get(index);
8647    }
8648
8649    private byte memoizedIsInitialized = -1;
8650    public final boolean isInitialized() {
8651      byte isInitialized = memoizedIsInitialized;
8652      if (isInitialized == 1) return true;
8653      if (isInitialized == 0) return false;
8654
8655      memoizedIsInitialized = 1;
8656      return true;
8657    }
8658
8659    public void writeTo(com.google.protobuf.CodedOutputStream output)
8660                        throws java.io.IOException {
8661      for (int i = 0; i < permissionTemplates_.size(); i++) {
8662        output.writeMessage(1, permissionTemplates_.get(i));
8663      }
8664      for (int i = 0; i < defaultTemplates_.size(); i++) {
8665        output.writeMessage(2, defaultTemplates_.get(i));
8666      }
8667      for (int i = 0; i < permissions_.size(); i++) {
8668        output.writeMessage(3, permissions_.get(i));
8669      }
8670      unknownFields.writeTo(output);
8671    }
8672
8673    public int getSerializedSize() {
8674      int size = memoizedSize;
8675      if (size != -1) return size;
8676
8677      size = 0;
8678      for (int i = 0; i < permissionTemplates_.size(); i++) {
8679        size += com.google.protobuf.CodedOutputStream
8680          .computeMessageSize(1, permissionTemplates_.get(i));
8681      }
8682      for (int i = 0; i < defaultTemplates_.size(); i++) {
8683        size += com.google.protobuf.CodedOutputStream
8684          .computeMessageSize(2, defaultTemplates_.get(i));
8685      }
8686      for (int i = 0; i < permissions_.size(); i++) {
8687        size += com.google.protobuf.CodedOutputStream
8688          .computeMessageSize(3, permissions_.get(i));
8689      }
8690      size += unknownFields.getSerializedSize();
8691      memoizedSize = size;
8692      return size;
8693    }
8694
8695    private static final long serialVersionUID = 0L;
8696    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseFrom(
8697        com.google.protobuf.ByteString data)
8698        throws com.google.protobuf.InvalidProtocolBufferException {
8699      return PARSER.parseFrom(data);
8700    }
8701    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseFrom(
8702        com.google.protobuf.ByteString data,
8703        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8704        throws com.google.protobuf.InvalidProtocolBufferException {
8705      return PARSER.parseFrom(data, extensionRegistry);
8706    }
8707    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseFrom(byte[] data)
8708        throws com.google.protobuf.InvalidProtocolBufferException {
8709      return PARSER.parseFrom(data);
8710    }
8711    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseFrom(
8712        byte[] data,
8713        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8714        throws com.google.protobuf.InvalidProtocolBufferException {
8715      return PARSER.parseFrom(data, extensionRegistry);
8716    }
8717    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseFrom(java.io.InputStream input)
8718        throws java.io.IOException {
8719      return PARSER.parseFrom(input);
8720    }
8721    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseFrom(
8722        java.io.InputStream input,
8723        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8724        throws java.io.IOException {
8725      return PARSER.parseFrom(input, extensionRegistry);
8726    }
8727    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseDelimitedFrom(java.io.InputStream input)
8728        throws java.io.IOException {
8729      return PARSER.parseDelimitedFrom(input);
8730    }
8731    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseDelimitedFrom(
8732        java.io.InputStream input,
8733        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8734        throws java.io.IOException {
8735      return PARSER.parseDelimitedFrom(input, extensionRegistry);
8736    }
8737    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseFrom(
8738        com.google.protobuf.CodedInputStream input)
8739        throws java.io.IOException {
8740      return PARSER.parseFrom(input);
8741    }
8742    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parseFrom(
8743        com.google.protobuf.CodedInputStream input,
8744        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8745        throws java.io.IOException {
8746      return PARSER.parseFrom(input, extensionRegistry);
8747    }
8748
8749    public Builder newBuilderForType() { return newBuilder(); }
8750    public static Builder newBuilder() {
8751      return DEFAULT_INSTANCE.toBuilder();
8752    }
8753    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse prototype) {
8754      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
8755    }
8756    public Builder toBuilder() {
8757      return this == DEFAULT_INSTANCE
8758          ? new Builder() : new Builder().mergeFrom(this);
8759    }
8760
8761    @java.lang.Override
8762    protected Builder newBuilderForType(
8763        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8764      Builder builder = new Builder(parent);
8765      return builder;
8766    }
8767    /**
8768     * Protobuf type {@code sonarqube.ws.permissions.SearchTemplatesWsResponse}
8769     */
8770    public static final class Builder extends
8771        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
8772        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.SearchTemplatesWsResponse)
8773        org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponseOrBuilder {
8774      public static final com.google.protobuf.Descriptors.Descriptor
8775          getDescriptor() {
8776        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_descriptor;
8777      }
8778
8779      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8780          internalGetFieldAccessorTable() {
8781        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_fieldAccessorTable
8782            .ensureFieldAccessorsInitialized(
8783                org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.class, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.Builder.class);
8784      }
8785
8786      // Construct using org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.newBuilder()
8787      private Builder() {
8788        maybeForceBuilderInitialization();
8789      }
8790
8791      private Builder(
8792          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8793        super(parent);
8794        maybeForceBuilderInitialization();
8795      }
8796      private void maybeForceBuilderInitialization() {
8797        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
8798          getPermissionTemplatesFieldBuilder();
8799          getDefaultTemplatesFieldBuilder();
8800          getPermissionsFieldBuilder();
8801        }
8802      }
8803      public Builder clear() {
8804        super.clear();
8805        if (permissionTemplatesBuilder_ == null) {
8806          permissionTemplates_ = java.util.Collections.emptyList();
8807          bitField0_ = (bitField0_ & ~0x00000001);
8808        } else {
8809          permissionTemplatesBuilder_.clear();
8810        }
8811        if (defaultTemplatesBuilder_ == null) {
8812          defaultTemplates_ = java.util.Collections.emptyList();
8813          bitField0_ = (bitField0_ & ~0x00000002);
8814        } else {
8815          defaultTemplatesBuilder_.clear();
8816        }
8817        if (permissionsBuilder_ == null) {
8818          permissions_ = java.util.Collections.emptyList();
8819          bitField0_ = (bitField0_ & ~0x00000004);
8820        } else {
8821          permissionsBuilder_.clear();
8822        }
8823        return this;
8824      }
8825
8826      public com.google.protobuf.Descriptors.Descriptor
8827          getDescriptorForType() {
8828        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_descriptor;
8829      }
8830
8831      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse getDefaultInstanceForType() {
8832        return org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.getDefaultInstance();
8833      }
8834
8835      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse build() {
8836        org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse result = buildPartial();
8837        if (!result.isInitialized()) {
8838          throw newUninitializedMessageException(result);
8839        }
8840        return result;
8841      }
8842
8843      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse buildPartial() {
8844        org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse result = new org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse(this);
8845        int from_bitField0_ = bitField0_;
8846        if (permissionTemplatesBuilder_ == null) {
8847          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8848            permissionTemplates_ = java.util.Collections.unmodifiableList(permissionTemplates_);
8849            bitField0_ = (bitField0_ & ~0x00000001);
8850          }
8851          result.permissionTemplates_ = permissionTemplates_;
8852        } else {
8853          result.permissionTemplates_ = permissionTemplatesBuilder_.build();
8854        }
8855        if (defaultTemplatesBuilder_ == null) {
8856          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8857            defaultTemplates_ = java.util.Collections.unmodifiableList(defaultTemplates_);
8858            bitField0_ = (bitField0_ & ~0x00000002);
8859          }
8860          result.defaultTemplates_ = defaultTemplates_;
8861        } else {
8862          result.defaultTemplates_ = defaultTemplatesBuilder_.build();
8863        }
8864        if (permissionsBuilder_ == null) {
8865          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8866            permissions_ = java.util.Collections.unmodifiableList(permissions_);
8867            bitField0_ = (bitField0_ & ~0x00000004);
8868          }
8869          result.permissions_ = permissions_;
8870        } else {
8871          result.permissions_ = permissionsBuilder_.build();
8872        }
8873        onBuilt();
8874        return result;
8875      }
8876
8877      public Builder mergeFrom(com.google.protobuf.Message other) {
8878        if (other instanceof org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse) {
8879          return mergeFrom((org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse)other);
8880        } else {
8881          super.mergeFrom(other);
8882          return this;
8883        }
8884      }
8885
8886      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse other) {
8887        if (other == org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.getDefaultInstance()) return this;
8888        if (permissionTemplatesBuilder_ == null) {
8889          if (!other.permissionTemplates_.isEmpty()) {
8890            if (permissionTemplates_.isEmpty()) {
8891              permissionTemplates_ = other.permissionTemplates_;
8892              bitField0_ = (bitField0_ & ~0x00000001);
8893            } else {
8894              ensurePermissionTemplatesIsMutable();
8895              permissionTemplates_.addAll(other.permissionTemplates_);
8896            }
8897            onChanged();
8898          }
8899        } else {
8900          if (!other.permissionTemplates_.isEmpty()) {
8901            if (permissionTemplatesBuilder_.isEmpty()) {
8902              permissionTemplatesBuilder_.dispose();
8903              permissionTemplatesBuilder_ = null;
8904              permissionTemplates_ = other.permissionTemplates_;
8905              bitField0_ = (bitField0_ & ~0x00000001);
8906              permissionTemplatesBuilder_ = 
8907                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
8908                   getPermissionTemplatesFieldBuilder() : null;
8909            } else {
8910              permissionTemplatesBuilder_.addAllMessages(other.permissionTemplates_);
8911            }
8912          }
8913        }
8914        if (defaultTemplatesBuilder_ == null) {
8915          if (!other.defaultTemplates_.isEmpty()) {
8916            if (defaultTemplates_.isEmpty()) {
8917              defaultTemplates_ = other.defaultTemplates_;
8918              bitField0_ = (bitField0_ & ~0x00000002);
8919            } else {
8920              ensureDefaultTemplatesIsMutable();
8921              defaultTemplates_.addAll(other.defaultTemplates_);
8922            }
8923            onChanged();
8924          }
8925        } else {
8926          if (!other.defaultTemplates_.isEmpty()) {
8927            if (defaultTemplatesBuilder_.isEmpty()) {
8928              defaultTemplatesBuilder_.dispose();
8929              defaultTemplatesBuilder_ = null;
8930              defaultTemplates_ = other.defaultTemplates_;
8931              bitField0_ = (bitField0_ & ~0x00000002);
8932              defaultTemplatesBuilder_ = 
8933                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
8934                   getDefaultTemplatesFieldBuilder() : null;
8935            } else {
8936              defaultTemplatesBuilder_.addAllMessages(other.defaultTemplates_);
8937            }
8938          }
8939        }
8940        if (permissionsBuilder_ == null) {
8941          if (!other.permissions_.isEmpty()) {
8942            if (permissions_.isEmpty()) {
8943              permissions_ = other.permissions_;
8944              bitField0_ = (bitField0_ & ~0x00000004);
8945            } else {
8946              ensurePermissionsIsMutable();
8947              permissions_.addAll(other.permissions_);
8948            }
8949            onChanged();
8950          }
8951        } else {
8952          if (!other.permissions_.isEmpty()) {
8953            if (permissionsBuilder_.isEmpty()) {
8954              permissionsBuilder_.dispose();
8955              permissionsBuilder_ = null;
8956              permissions_ = other.permissions_;
8957              bitField0_ = (bitField0_ & ~0x00000004);
8958              permissionsBuilder_ = 
8959                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
8960                   getPermissionsFieldBuilder() : null;
8961            } else {
8962              permissionsBuilder_.addAllMessages(other.permissions_);
8963            }
8964          }
8965        }
8966        this.mergeUnknownFields(other.unknownFields);
8967        onChanged();
8968        return this;
8969      }
8970
8971      public final boolean isInitialized() {
8972        return true;
8973      }
8974
8975      public Builder mergeFrom(
8976          com.google.protobuf.CodedInputStream input,
8977          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8978          throws java.io.IOException {
8979        org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse parsedMessage = null;
8980        try {
8981          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8982        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8983          parsedMessage = (org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse) e.getUnfinishedMessage();
8984          throw e;
8985        } finally {
8986          if (parsedMessage != null) {
8987            mergeFrom(parsedMessage);
8988          }
8989        }
8990        return this;
8991      }
8992      private int bitField0_;
8993
8994      private java.util.List<org.sonarqube.ws.WsPermissions.PermissionTemplate> permissionTemplates_ =
8995        java.util.Collections.emptyList();
8996      private void ensurePermissionTemplatesIsMutable() {
8997        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
8998          permissionTemplates_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.PermissionTemplate>(permissionTemplates_);
8999          bitField0_ |= 0x00000001;
9000         }
9001      }
9002
9003      private com.google.protobuf.RepeatedFieldBuilder<
9004          org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> permissionTemplatesBuilder_;
9005
9006      /**
9007       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9008       */
9009      public java.util.List<org.sonarqube.ws.WsPermissions.PermissionTemplate> getPermissionTemplatesList() {
9010        if (permissionTemplatesBuilder_ == null) {
9011          return java.util.Collections.unmodifiableList(permissionTemplates_);
9012        } else {
9013          return permissionTemplatesBuilder_.getMessageList();
9014        }
9015      }
9016      /**
9017       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9018       */
9019      public int getPermissionTemplatesCount() {
9020        if (permissionTemplatesBuilder_ == null) {
9021          return permissionTemplates_.size();
9022        } else {
9023          return permissionTemplatesBuilder_.getCount();
9024        }
9025      }
9026      /**
9027       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9028       */
9029      public org.sonarqube.ws.WsPermissions.PermissionTemplate getPermissionTemplates(int index) {
9030        if (permissionTemplatesBuilder_ == null) {
9031          return permissionTemplates_.get(index);
9032        } else {
9033          return permissionTemplatesBuilder_.getMessage(index);
9034        }
9035      }
9036      /**
9037       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9038       */
9039      public Builder setPermissionTemplates(
9040          int index, org.sonarqube.ws.WsPermissions.PermissionTemplate value) {
9041        if (permissionTemplatesBuilder_ == null) {
9042          if (value == null) {
9043            throw new NullPointerException();
9044          }
9045          ensurePermissionTemplatesIsMutable();
9046          permissionTemplates_.set(index, value);
9047          onChanged();
9048        } else {
9049          permissionTemplatesBuilder_.setMessage(index, value);
9050        }
9051        return this;
9052      }
9053      /**
9054       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9055       */
9056      public Builder setPermissionTemplates(
9057          int index, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder builderForValue) {
9058        if (permissionTemplatesBuilder_ == null) {
9059          ensurePermissionTemplatesIsMutable();
9060          permissionTemplates_.set(index, builderForValue.build());
9061          onChanged();
9062        } else {
9063          permissionTemplatesBuilder_.setMessage(index, builderForValue.build());
9064        }
9065        return this;
9066      }
9067      /**
9068       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9069       */
9070      public Builder addPermissionTemplates(org.sonarqube.ws.WsPermissions.PermissionTemplate value) {
9071        if (permissionTemplatesBuilder_ == null) {
9072          if (value == null) {
9073            throw new NullPointerException();
9074          }
9075          ensurePermissionTemplatesIsMutable();
9076          permissionTemplates_.add(value);
9077          onChanged();
9078        } else {
9079          permissionTemplatesBuilder_.addMessage(value);
9080        }
9081        return this;
9082      }
9083      /**
9084       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9085       */
9086      public Builder addPermissionTemplates(
9087          int index, org.sonarqube.ws.WsPermissions.PermissionTemplate value) {
9088        if (permissionTemplatesBuilder_ == null) {
9089          if (value == null) {
9090            throw new NullPointerException();
9091          }
9092          ensurePermissionTemplatesIsMutable();
9093          permissionTemplates_.add(index, value);
9094          onChanged();
9095        } else {
9096          permissionTemplatesBuilder_.addMessage(index, value);
9097        }
9098        return this;
9099      }
9100      /**
9101       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9102       */
9103      public Builder addPermissionTemplates(
9104          org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder builderForValue) {
9105        if (permissionTemplatesBuilder_ == null) {
9106          ensurePermissionTemplatesIsMutable();
9107          permissionTemplates_.add(builderForValue.build());
9108          onChanged();
9109        } else {
9110          permissionTemplatesBuilder_.addMessage(builderForValue.build());
9111        }
9112        return this;
9113      }
9114      /**
9115       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9116       */
9117      public Builder addPermissionTemplates(
9118          int index, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder builderForValue) {
9119        if (permissionTemplatesBuilder_ == null) {
9120          ensurePermissionTemplatesIsMutable();
9121          permissionTemplates_.add(index, builderForValue.build());
9122          onChanged();
9123        } else {
9124          permissionTemplatesBuilder_.addMessage(index, builderForValue.build());
9125        }
9126        return this;
9127      }
9128      /**
9129       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9130       */
9131      public Builder addAllPermissionTemplates(
9132          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.PermissionTemplate> values) {
9133        if (permissionTemplatesBuilder_ == null) {
9134          ensurePermissionTemplatesIsMutable();
9135          com.google.protobuf.AbstractMessageLite.Builder.addAll(
9136              values, permissionTemplates_);
9137          onChanged();
9138        } else {
9139          permissionTemplatesBuilder_.addAllMessages(values);
9140        }
9141        return this;
9142      }
9143      /**
9144       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9145       */
9146      public Builder clearPermissionTemplates() {
9147        if (permissionTemplatesBuilder_ == null) {
9148          permissionTemplates_ = java.util.Collections.emptyList();
9149          bitField0_ = (bitField0_ & ~0x00000001);
9150          onChanged();
9151        } else {
9152          permissionTemplatesBuilder_.clear();
9153        }
9154        return this;
9155      }
9156      /**
9157       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9158       */
9159      public Builder removePermissionTemplates(int index) {
9160        if (permissionTemplatesBuilder_ == null) {
9161          ensurePermissionTemplatesIsMutable();
9162          permissionTemplates_.remove(index);
9163          onChanged();
9164        } else {
9165          permissionTemplatesBuilder_.remove(index);
9166        }
9167        return this;
9168      }
9169      /**
9170       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9171       */
9172      public org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder getPermissionTemplatesBuilder(
9173          int index) {
9174        return getPermissionTemplatesFieldBuilder().getBuilder(index);
9175      }
9176      /**
9177       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9178       */
9179      public org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder getPermissionTemplatesOrBuilder(
9180          int index) {
9181        if (permissionTemplatesBuilder_ == null) {
9182          return permissionTemplates_.get(index);  } else {
9183          return permissionTemplatesBuilder_.getMessageOrBuilder(index);
9184        }
9185      }
9186      /**
9187       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9188       */
9189      public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> 
9190           getPermissionTemplatesOrBuilderList() {
9191        if (permissionTemplatesBuilder_ != null) {
9192          return permissionTemplatesBuilder_.getMessageOrBuilderList();
9193        } else {
9194          return java.util.Collections.unmodifiableList(permissionTemplates_);
9195        }
9196      }
9197      /**
9198       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9199       */
9200      public org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder addPermissionTemplatesBuilder() {
9201        return getPermissionTemplatesFieldBuilder().addBuilder(
9202            org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance());
9203      }
9204      /**
9205       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9206       */
9207      public org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder addPermissionTemplatesBuilder(
9208          int index) {
9209        return getPermissionTemplatesFieldBuilder().addBuilder(
9210            index, org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance());
9211      }
9212      /**
9213       * <code>repeated .sonarqube.ws.permissions.PermissionTemplate permissionTemplates = 1;</code>
9214       */
9215      public java.util.List<org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder> 
9216           getPermissionTemplatesBuilderList() {
9217        return getPermissionTemplatesFieldBuilder().getBuilderList();
9218      }
9219      private com.google.protobuf.RepeatedFieldBuilder<
9220          org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder> 
9221          getPermissionTemplatesFieldBuilder() {
9222        if (permissionTemplatesBuilder_ == null) {
9223          permissionTemplatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
9224              org.sonarqube.ws.WsPermissions.PermissionTemplate, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder, org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder>(
9225                  permissionTemplates_,
9226                  ((bitField0_ & 0x00000001) == 0x00000001),
9227                  getParentForChildren(),
9228                  isClean());
9229          permissionTemplates_ = null;
9230        }
9231        return permissionTemplatesBuilder_;
9232      }
9233
9234      private java.util.List<org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier> defaultTemplates_ =
9235        java.util.Collections.emptyList();
9236      private void ensureDefaultTemplatesIsMutable() {
9237        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
9238          defaultTemplates_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier>(defaultTemplates_);
9239          bitField0_ |= 0x00000002;
9240         }
9241      }
9242
9243      private com.google.protobuf.RepeatedFieldBuilder<
9244          org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder> defaultTemplatesBuilder_;
9245
9246      /**
9247       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9248       */
9249      public java.util.List<org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier> getDefaultTemplatesList() {
9250        if (defaultTemplatesBuilder_ == null) {
9251          return java.util.Collections.unmodifiableList(defaultTemplates_);
9252        } else {
9253          return defaultTemplatesBuilder_.getMessageList();
9254        }
9255      }
9256      /**
9257       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9258       */
9259      public int getDefaultTemplatesCount() {
9260        if (defaultTemplatesBuilder_ == null) {
9261          return defaultTemplates_.size();
9262        } else {
9263          return defaultTemplatesBuilder_.getCount();
9264        }
9265      }
9266      /**
9267       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9268       */
9269      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier getDefaultTemplates(int index) {
9270        if (defaultTemplatesBuilder_ == null) {
9271          return defaultTemplates_.get(index);
9272        } else {
9273          return defaultTemplatesBuilder_.getMessage(index);
9274        }
9275      }
9276      /**
9277       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9278       */
9279      public Builder setDefaultTemplates(
9280          int index, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier value) {
9281        if (defaultTemplatesBuilder_ == null) {
9282          if (value == null) {
9283            throw new NullPointerException();
9284          }
9285          ensureDefaultTemplatesIsMutable();
9286          defaultTemplates_.set(index, value);
9287          onChanged();
9288        } else {
9289          defaultTemplatesBuilder_.setMessage(index, value);
9290        }
9291        return this;
9292      }
9293      /**
9294       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9295       */
9296      public Builder setDefaultTemplates(
9297          int index, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder builderForValue) {
9298        if (defaultTemplatesBuilder_ == null) {
9299          ensureDefaultTemplatesIsMutable();
9300          defaultTemplates_.set(index, builderForValue.build());
9301          onChanged();
9302        } else {
9303          defaultTemplatesBuilder_.setMessage(index, builderForValue.build());
9304        }
9305        return this;
9306      }
9307      /**
9308       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9309       */
9310      public Builder addDefaultTemplates(org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier value) {
9311        if (defaultTemplatesBuilder_ == null) {
9312          if (value == null) {
9313            throw new NullPointerException();
9314          }
9315          ensureDefaultTemplatesIsMutable();
9316          defaultTemplates_.add(value);
9317          onChanged();
9318        } else {
9319          defaultTemplatesBuilder_.addMessage(value);
9320        }
9321        return this;
9322      }
9323      /**
9324       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9325       */
9326      public Builder addDefaultTemplates(
9327          int index, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier value) {
9328        if (defaultTemplatesBuilder_ == null) {
9329          if (value == null) {
9330            throw new NullPointerException();
9331          }
9332          ensureDefaultTemplatesIsMutable();
9333          defaultTemplates_.add(index, value);
9334          onChanged();
9335        } else {
9336          defaultTemplatesBuilder_.addMessage(index, value);
9337        }
9338        return this;
9339      }
9340      /**
9341       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9342       */
9343      public Builder addDefaultTemplates(
9344          org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder builderForValue) {
9345        if (defaultTemplatesBuilder_ == null) {
9346          ensureDefaultTemplatesIsMutable();
9347          defaultTemplates_.add(builderForValue.build());
9348          onChanged();
9349        } else {
9350          defaultTemplatesBuilder_.addMessage(builderForValue.build());
9351        }
9352        return this;
9353      }
9354      /**
9355       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9356       */
9357      public Builder addDefaultTemplates(
9358          int index, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder builderForValue) {
9359        if (defaultTemplatesBuilder_ == null) {
9360          ensureDefaultTemplatesIsMutable();
9361          defaultTemplates_.add(index, builderForValue.build());
9362          onChanged();
9363        } else {
9364          defaultTemplatesBuilder_.addMessage(index, builderForValue.build());
9365        }
9366        return this;
9367      }
9368      /**
9369       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9370       */
9371      public Builder addAllDefaultTemplates(
9372          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier> values) {
9373        if (defaultTemplatesBuilder_ == null) {
9374          ensureDefaultTemplatesIsMutable();
9375          com.google.protobuf.AbstractMessageLite.Builder.addAll(
9376              values, defaultTemplates_);
9377          onChanged();
9378        } else {
9379          defaultTemplatesBuilder_.addAllMessages(values);
9380        }
9381        return this;
9382      }
9383      /**
9384       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9385       */
9386      public Builder clearDefaultTemplates() {
9387        if (defaultTemplatesBuilder_ == null) {
9388          defaultTemplates_ = java.util.Collections.emptyList();
9389          bitField0_ = (bitField0_ & ~0x00000002);
9390          onChanged();
9391        } else {
9392          defaultTemplatesBuilder_.clear();
9393        }
9394        return this;
9395      }
9396      /**
9397       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9398       */
9399      public Builder removeDefaultTemplates(int index) {
9400        if (defaultTemplatesBuilder_ == null) {
9401          ensureDefaultTemplatesIsMutable();
9402          defaultTemplates_.remove(index);
9403          onChanged();
9404        } else {
9405          defaultTemplatesBuilder_.remove(index);
9406        }
9407        return this;
9408      }
9409      /**
9410       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9411       */
9412      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder getDefaultTemplatesBuilder(
9413          int index) {
9414        return getDefaultTemplatesFieldBuilder().getBuilder(index);
9415      }
9416      /**
9417       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9418       */
9419      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder getDefaultTemplatesOrBuilder(
9420          int index) {
9421        if (defaultTemplatesBuilder_ == null) {
9422          return defaultTemplates_.get(index);  } else {
9423          return defaultTemplatesBuilder_.getMessageOrBuilder(index);
9424        }
9425      }
9426      /**
9427       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9428       */
9429      public java.util.List<? extends org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder> 
9430           getDefaultTemplatesOrBuilderList() {
9431        if (defaultTemplatesBuilder_ != null) {
9432          return defaultTemplatesBuilder_.getMessageOrBuilderList();
9433        } else {
9434          return java.util.Collections.unmodifiableList(defaultTemplates_);
9435        }
9436      }
9437      /**
9438       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9439       */
9440      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder addDefaultTemplatesBuilder() {
9441        return getDefaultTemplatesFieldBuilder().addBuilder(
9442            org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.getDefaultInstance());
9443      }
9444      /**
9445       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9446       */
9447      public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder addDefaultTemplatesBuilder(
9448          int index) {
9449        return getDefaultTemplatesFieldBuilder().addBuilder(
9450            index, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.getDefaultInstance());
9451      }
9452      /**
9453       * <code>repeated .sonarqube.ws.permissions.SearchTemplatesWsResponse.TemplateIdQualifier defaultTemplates = 2;</code>
9454       */
9455      public java.util.List<org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder> 
9456           getDefaultTemplatesBuilderList() {
9457        return getDefaultTemplatesFieldBuilder().getBuilderList();
9458      }
9459      private com.google.protobuf.RepeatedFieldBuilder<
9460          org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder> 
9461          getDefaultTemplatesFieldBuilder() {
9462        if (defaultTemplatesBuilder_ == null) {
9463          defaultTemplatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
9464              org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifier.Builder, org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse.TemplateIdQualifierOrBuilder>(
9465                  defaultTemplates_,
9466                  ((bitField0_ & 0x00000002) == 0x00000002),
9467                  getParentForChildren(),
9468                  isClean());
9469          defaultTemplates_ = null;
9470        }
9471        return defaultTemplatesBuilder_;
9472      }
9473
9474      private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_ =
9475        java.util.Collections.emptyList();
9476      private void ensurePermissionsIsMutable() {
9477        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
9478          permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>(permissions_);
9479          bitField0_ |= 0x00000004;
9480         }
9481      }
9482
9483      private com.google.protobuf.RepeatedFieldBuilder<
9484          org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> permissionsBuilder_;
9485
9486      /**
9487       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9488       */
9489      public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
9490        if (permissionsBuilder_ == null) {
9491          return java.util.Collections.unmodifiableList(permissions_);
9492        } else {
9493          return permissionsBuilder_.getMessageList();
9494        }
9495      }
9496      /**
9497       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9498       */
9499      public int getPermissionsCount() {
9500        if (permissionsBuilder_ == null) {
9501          return permissions_.size();
9502        } else {
9503          return permissionsBuilder_.getCount();
9504        }
9505      }
9506      /**
9507       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9508       */
9509      public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
9510        if (permissionsBuilder_ == null) {
9511          return permissions_.get(index);
9512        } else {
9513          return permissionsBuilder_.getMessage(index);
9514        }
9515      }
9516      /**
9517       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9518       */
9519      public Builder setPermissions(
9520          int index, org.sonarqube.ws.WsPermissions.Permission value) {
9521        if (permissionsBuilder_ == null) {
9522          if (value == null) {
9523            throw new NullPointerException();
9524          }
9525          ensurePermissionsIsMutable();
9526          permissions_.set(index, value);
9527          onChanged();
9528        } else {
9529          permissionsBuilder_.setMessage(index, value);
9530        }
9531        return this;
9532      }
9533      /**
9534       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9535       */
9536      public Builder setPermissions(
9537          int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
9538        if (permissionsBuilder_ == null) {
9539          ensurePermissionsIsMutable();
9540          permissions_.set(index, builderForValue.build());
9541          onChanged();
9542        } else {
9543          permissionsBuilder_.setMessage(index, builderForValue.build());
9544        }
9545        return this;
9546      }
9547      /**
9548       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9549       */
9550      public Builder addPermissions(org.sonarqube.ws.WsPermissions.Permission value) {
9551        if (permissionsBuilder_ == null) {
9552          if (value == null) {
9553            throw new NullPointerException();
9554          }
9555          ensurePermissionsIsMutable();
9556          permissions_.add(value);
9557          onChanged();
9558        } else {
9559          permissionsBuilder_.addMessage(value);
9560        }
9561        return this;
9562      }
9563      /**
9564       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9565       */
9566      public Builder addPermissions(
9567          int index, org.sonarqube.ws.WsPermissions.Permission value) {
9568        if (permissionsBuilder_ == null) {
9569          if (value == null) {
9570            throw new NullPointerException();
9571          }
9572          ensurePermissionsIsMutable();
9573          permissions_.add(index, value);
9574          onChanged();
9575        } else {
9576          permissionsBuilder_.addMessage(index, value);
9577        }
9578        return this;
9579      }
9580      /**
9581       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9582       */
9583      public Builder addPermissions(
9584          org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
9585        if (permissionsBuilder_ == null) {
9586          ensurePermissionsIsMutable();
9587          permissions_.add(builderForValue.build());
9588          onChanged();
9589        } else {
9590          permissionsBuilder_.addMessage(builderForValue.build());
9591        }
9592        return this;
9593      }
9594      /**
9595       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9596       */
9597      public Builder addPermissions(
9598          int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
9599        if (permissionsBuilder_ == null) {
9600          ensurePermissionsIsMutable();
9601          permissions_.add(index, builderForValue.build());
9602          onChanged();
9603        } else {
9604          permissionsBuilder_.addMessage(index, builderForValue.build());
9605        }
9606        return this;
9607      }
9608      /**
9609       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9610       */
9611      public Builder addAllPermissions(
9612          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.Permission> values) {
9613        if (permissionsBuilder_ == null) {
9614          ensurePermissionsIsMutable();
9615          com.google.protobuf.AbstractMessageLite.Builder.addAll(
9616              values, permissions_);
9617          onChanged();
9618        } else {
9619          permissionsBuilder_.addAllMessages(values);
9620        }
9621        return this;
9622      }
9623      /**
9624       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9625       */
9626      public Builder clearPermissions() {
9627        if (permissionsBuilder_ == null) {
9628          permissions_ = java.util.Collections.emptyList();
9629          bitField0_ = (bitField0_ & ~0x00000004);
9630          onChanged();
9631        } else {
9632          permissionsBuilder_.clear();
9633        }
9634        return this;
9635      }
9636      /**
9637       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9638       */
9639      public Builder removePermissions(int index) {
9640        if (permissionsBuilder_ == null) {
9641          ensurePermissionsIsMutable();
9642          permissions_.remove(index);
9643          onChanged();
9644        } else {
9645          permissionsBuilder_.remove(index);
9646        }
9647        return this;
9648      }
9649      /**
9650       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9651       */
9652      public org.sonarqube.ws.WsPermissions.Permission.Builder getPermissionsBuilder(
9653          int index) {
9654        return getPermissionsFieldBuilder().getBuilder(index);
9655      }
9656      /**
9657       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9658       */
9659      public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
9660          int index) {
9661        if (permissionsBuilder_ == null) {
9662          return permissions_.get(index);  } else {
9663          return permissionsBuilder_.getMessageOrBuilder(index);
9664        }
9665      }
9666      /**
9667       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9668       */
9669      public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
9670           getPermissionsOrBuilderList() {
9671        if (permissionsBuilder_ != null) {
9672          return permissionsBuilder_.getMessageOrBuilderList();
9673        } else {
9674          return java.util.Collections.unmodifiableList(permissions_);
9675        }
9676      }
9677      /**
9678       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9679       */
9680      public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder() {
9681        return getPermissionsFieldBuilder().addBuilder(
9682            org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
9683      }
9684      /**
9685       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9686       */
9687      public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder(
9688          int index) {
9689        return getPermissionsFieldBuilder().addBuilder(
9690            index, org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
9691      }
9692      /**
9693       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 3;</code>
9694       */
9695      public java.util.List<org.sonarqube.ws.WsPermissions.Permission.Builder> 
9696           getPermissionsBuilderList() {
9697        return getPermissionsFieldBuilder().getBuilderList();
9698      }
9699      private com.google.protobuf.RepeatedFieldBuilder<
9700          org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
9701          getPermissionsFieldBuilder() {
9702        if (permissionsBuilder_ == null) {
9703          permissionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
9704              org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder>(
9705                  permissions_,
9706                  ((bitField0_ & 0x00000004) == 0x00000004),
9707                  getParentForChildren(),
9708                  isClean());
9709          permissions_ = null;
9710        }
9711        return permissionsBuilder_;
9712      }
9713
9714      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.SearchTemplatesWsResponse)
9715    }
9716
9717    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.SearchTemplatesWsResponse)
9718    private static final org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse DEFAULT_INSTANCE;
9719    static {
9720      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse();
9721    }
9722
9723    public static org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse getDefaultInstance() {
9724      return DEFAULT_INSTANCE;
9725    }
9726
9727    @java.lang.Deprecated public static final com.google.protobuf.Parser<SearchTemplatesWsResponse>
9728        PARSER = new com.google.protobuf.AbstractParser<SearchTemplatesWsResponse>() {
9729      public SearchTemplatesWsResponse parsePartialFrom(
9730          com.google.protobuf.CodedInputStream input,
9731          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9732          throws com.google.protobuf.InvalidProtocolBufferException {
9733        try {
9734          return new SearchTemplatesWsResponse(input, extensionRegistry);
9735        } catch (RuntimeException e) {
9736          if (e.getCause() instanceof
9737              com.google.protobuf.InvalidProtocolBufferException) {
9738            throw (com.google.protobuf.InvalidProtocolBufferException)
9739                e.getCause();
9740          }
9741          throw e;
9742        }
9743      }
9744    };
9745
9746    public static com.google.protobuf.Parser<SearchTemplatesWsResponse> parser() {
9747      return PARSER;
9748    }
9749
9750    @java.lang.Override
9751    public com.google.protobuf.Parser<SearchTemplatesWsResponse> getParserForType() {
9752      return PARSER;
9753    }
9754
9755    public org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse getDefaultInstanceForType() {
9756      return DEFAULT_INSTANCE;
9757    }
9758
9759  }
9760
9761  public interface PermissionOrBuilder extends
9762      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.Permission)
9763      com.google.protobuf.MessageOrBuilder {
9764
9765    /**
9766     * <code>optional string key = 1;</code>
9767     */
9768    boolean hasKey();
9769    /**
9770     * <code>optional string key = 1;</code>
9771     */
9772    java.lang.String getKey();
9773    /**
9774     * <code>optional string key = 1;</code>
9775     */
9776    com.google.protobuf.ByteString
9777        getKeyBytes();
9778
9779    /**
9780     * <code>optional string name = 2;</code>
9781     */
9782    boolean hasName();
9783    /**
9784     * <code>optional string name = 2;</code>
9785     */
9786    java.lang.String getName();
9787    /**
9788     * <code>optional string name = 2;</code>
9789     */
9790    com.google.protobuf.ByteString
9791        getNameBytes();
9792
9793    /**
9794     * <code>optional string description = 3;</code>
9795     */
9796    boolean hasDescription();
9797    /**
9798     * <code>optional string description = 3;</code>
9799     */
9800    java.lang.String getDescription();
9801    /**
9802     * <code>optional string description = 3;</code>
9803     */
9804    com.google.protobuf.ByteString
9805        getDescriptionBytes();
9806
9807    /**
9808     * <code>optional int32 usersCount = 4;</code>
9809     */
9810    boolean hasUsersCount();
9811    /**
9812     * <code>optional int32 usersCount = 4;</code>
9813     */
9814    int getUsersCount();
9815
9816    /**
9817     * <code>optional int32 groupsCount = 5;</code>
9818     */
9819    boolean hasGroupsCount();
9820    /**
9821     * <code>optional int32 groupsCount = 5;</code>
9822     */
9823    int getGroupsCount();
9824
9825    /**
9826     * <code>optional bool withProjectCreator = 6;</code>
9827     */
9828    boolean hasWithProjectCreator();
9829    /**
9830     * <code>optional bool withProjectCreator = 6;</code>
9831     */
9832    boolean getWithProjectCreator();
9833  }
9834  /**
9835   * Protobuf type {@code sonarqube.ws.permissions.Permission}
9836   */
9837  public  static final class Permission extends
9838      com.google.protobuf.GeneratedMessage implements
9839      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.Permission)
9840      PermissionOrBuilder {
9841    // Use Permission.newBuilder() to construct.
9842    private Permission(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
9843      super(builder);
9844    }
9845    private Permission() {
9846      key_ = "";
9847      name_ = "";
9848      description_ = "";
9849      usersCount_ = 0;
9850      groupsCount_ = 0;
9851      withProjectCreator_ = false;
9852    }
9853
9854    @java.lang.Override
9855    public final com.google.protobuf.UnknownFieldSet
9856    getUnknownFields() {
9857      return this.unknownFields;
9858    }
9859    private Permission(
9860        com.google.protobuf.CodedInputStream input,
9861        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
9862      this();
9863      int mutable_bitField0_ = 0;
9864      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
9865          com.google.protobuf.UnknownFieldSet.newBuilder();
9866      try {
9867        boolean done = false;
9868        while (!done) {
9869          int tag = input.readTag();
9870          switch (tag) {
9871            case 0:
9872              done = true;
9873              break;
9874            default: {
9875              if (!parseUnknownField(input, unknownFields,
9876                                     extensionRegistry, tag)) {
9877                done = true;
9878              }
9879              break;
9880            }
9881            case 10: {
9882              com.google.protobuf.ByteString bs = input.readBytes();
9883              bitField0_ |= 0x00000001;
9884              key_ = bs;
9885              break;
9886            }
9887            case 18: {
9888              com.google.protobuf.ByteString bs = input.readBytes();
9889              bitField0_ |= 0x00000002;
9890              name_ = bs;
9891              break;
9892            }
9893            case 26: {
9894              com.google.protobuf.ByteString bs = input.readBytes();
9895              bitField0_ |= 0x00000004;
9896              description_ = bs;
9897              break;
9898            }
9899            case 32: {
9900              bitField0_ |= 0x00000008;
9901              usersCount_ = input.readInt32();
9902              break;
9903            }
9904            case 40: {
9905              bitField0_ |= 0x00000010;
9906              groupsCount_ = input.readInt32();
9907              break;
9908            }
9909            case 48: {
9910              bitField0_ |= 0x00000020;
9911              withProjectCreator_ = input.readBool();
9912              break;
9913            }
9914          }
9915        }
9916      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9917        throw new RuntimeException(e.setUnfinishedMessage(this));
9918      } catch (java.io.IOException e) {
9919        throw new RuntimeException(
9920            new com.google.protobuf.InvalidProtocolBufferException(
9921                e.getMessage()).setUnfinishedMessage(this));
9922      } finally {
9923        this.unknownFields = unknownFields.build();
9924        makeExtensionsImmutable();
9925      }
9926    }
9927    public static final com.google.protobuf.Descriptors.Descriptor
9928        getDescriptor() {
9929      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Permission_descriptor;
9930    }
9931
9932    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
9933        internalGetFieldAccessorTable() {
9934      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Permission_fieldAccessorTable
9935          .ensureFieldAccessorsInitialized(
9936              org.sonarqube.ws.WsPermissions.Permission.class, org.sonarqube.ws.WsPermissions.Permission.Builder.class);
9937    }
9938
9939    private int bitField0_;
9940    public static final int KEY_FIELD_NUMBER = 1;
9941    private volatile java.lang.Object key_;
9942    /**
9943     * <code>optional string key = 1;</code>
9944     */
9945    public boolean hasKey() {
9946      return ((bitField0_ & 0x00000001) == 0x00000001);
9947    }
9948    /**
9949     * <code>optional string key = 1;</code>
9950     */
9951    public java.lang.String getKey() {
9952      java.lang.Object ref = key_;
9953      if (ref instanceof java.lang.String) {
9954        return (java.lang.String) ref;
9955      } else {
9956        com.google.protobuf.ByteString bs = 
9957            (com.google.protobuf.ByteString) ref;
9958        java.lang.String s = bs.toStringUtf8();
9959        if (bs.isValidUtf8()) {
9960          key_ = s;
9961        }
9962        return s;
9963      }
9964    }
9965    /**
9966     * <code>optional string key = 1;</code>
9967     */
9968    public com.google.protobuf.ByteString
9969        getKeyBytes() {
9970      java.lang.Object ref = key_;
9971      if (ref instanceof java.lang.String) {
9972        com.google.protobuf.ByteString b = 
9973            com.google.protobuf.ByteString.copyFromUtf8(
9974                (java.lang.String) ref);
9975        key_ = b;
9976        return b;
9977      } else {
9978        return (com.google.protobuf.ByteString) ref;
9979      }
9980    }
9981
9982    public static final int NAME_FIELD_NUMBER = 2;
9983    private volatile java.lang.Object name_;
9984    /**
9985     * <code>optional string name = 2;</code>
9986     */
9987    public boolean hasName() {
9988      return ((bitField0_ & 0x00000002) == 0x00000002);
9989    }
9990    /**
9991     * <code>optional string name = 2;</code>
9992     */
9993    public java.lang.String getName() {
9994      java.lang.Object ref = name_;
9995      if (ref instanceof java.lang.String) {
9996        return (java.lang.String) ref;
9997      } else {
9998        com.google.protobuf.ByteString bs = 
9999            (com.google.protobuf.ByteString) ref;
10000        java.lang.String s = bs.toStringUtf8();
10001        if (bs.isValidUtf8()) {
10002          name_ = s;
10003        }
10004        return s;
10005      }
10006    }
10007    /**
10008     * <code>optional string name = 2;</code>
10009     */
10010    public com.google.protobuf.ByteString
10011        getNameBytes() {
10012      java.lang.Object ref = name_;
10013      if (ref instanceof java.lang.String) {
10014        com.google.protobuf.ByteString b = 
10015            com.google.protobuf.ByteString.copyFromUtf8(
10016                (java.lang.String) ref);
10017        name_ = b;
10018        return b;
10019      } else {
10020        return (com.google.protobuf.ByteString) ref;
10021      }
10022    }
10023
10024    public static final int DESCRIPTION_FIELD_NUMBER = 3;
10025    private volatile java.lang.Object description_;
10026    /**
10027     * <code>optional string description = 3;</code>
10028     */
10029    public boolean hasDescription() {
10030      return ((bitField0_ & 0x00000004) == 0x00000004);
10031    }
10032    /**
10033     * <code>optional string description = 3;</code>
10034     */
10035    public java.lang.String getDescription() {
10036      java.lang.Object ref = description_;
10037      if (ref instanceof java.lang.String) {
10038        return (java.lang.String) ref;
10039      } else {
10040        com.google.protobuf.ByteString bs = 
10041            (com.google.protobuf.ByteString) ref;
10042        java.lang.String s = bs.toStringUtf8();
10043        if (bs.isValidUtf8()) {
10044          description_ = s;
10045        }
10046        return s;
10047      }
10048    }
10049    /**
10050     * <code>optional string description = 3;</code>
10051     */
10052    public com.google.protobuf.ByteString
10053        getDescriptionBytes() {
10054      java.lang.Object ref = description_;
10055      if (ref instanceof java.lang.String) {
10056        com.google.protobuf.ByteString b = 
10057            com.google.protobuf.ByteString.copyFromUtf8(
10058                (java.lang.String) ref);
10059        description_ = b;
10060        return b;
10061      } else {
10062        return (com.google.protobuf.ByteString) ref;
10063      }
10064    }
10065
10066    public static final int USERSCOUNT_FIELD_NUMBER = 4;
10067    private int usersCount_;
10068    /**
10069     * <code>optional int32 usersCount = 4;</code>
10070     */
10071    public boolean hasUsersCount() {
10072      return ((bitField0_ & 0x00000008) == 0x00000008);
10073    }
10074    /**
10075     * <code>optional int32 usersCount = 4;</code>
10076     */
10077    public int getUsersCount() {
10078      return usersCount_;
10079    }
10080
10081    public static final int GROUPSCOUNT_FIELD_NUMBER = 5;
10082    private int groupsCount_;
10083    /**
10084     * <code>optional int32 groupsCount = 5;</code>
10085     */
10086    public boolean hasGroupsCount() {
10087      return ((bitField0_ & 0x00000010) == 0x00000010);
10088    }
10089    /**
10090     * <code>optional int32 groupsCount = 5;</code>
10091     */
10092    public int getGroupsCount() {
10093      return groupsCount_;
10094    }
10095
10096    public static final int WITHPROJECTCREATOR_FIELD_NUMBER = 6;
10097    private boolean withProjectCreator_;
10098    /**
10099     * <code>optional bool withProjectCreator = 6;</code>
10100     */
10101    public boolean hasWithProjectCreator() {
10102      return ((bitField0_ & 0x00000020) == 0x00000020);
10103    }
10104    /**
10105     * <code>optional bool withProjectCreator = 6;</code>
10106     */
10107    public boolean getWithProjectCreator() {
10108      return withProjectCreator_;
10109    }
10110
10111    private byte memoizedIsInitialized = -1;
10112    public final boolean isInitialized() {
10113      byte isInitialized = memoizedIsInitialized;
10114      if (isInitialized == 1) return true;
10115      if (isInitialized == 0) return false;
10116
10117      memoizedIsInitialized = 1;
10118      return true;
10119    }
10120
10121    public void writeTo(com.google.protobuf.CodedOutputStream output)
10122                        throws java.io.IOException {
10123      if (((bitField0_ & 0x00000001) == 0x00000001)) {
10124        com.google.protobuf.GeneratedMessage.writeString(output, 1, key_);
10125      }
10126      if (((bitField0_ & 0x00000002) == 0x00000002)) {
10127        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
10128      }
10129      if (((bitField0_ & 0x00000004) == 0x00000004)) {
10130        com.google.protobuf.GeneratedMessage.writeString(output, 3, description_);
10131      }
10132      if (((bitField0_ & 0x00000008) == 0x00000008)) {
10133        output.writeInt32(4, usersCount_);
10134      }
10135      if (((bitField0_ & 0x00000010) == 0x00000010)) {
10136        output.writeInt32(5, groupsCount_);
10137      }
10138      if (((bitField0_ & 0x00000020) == 0x00000020)) {
10139        output.writeBool(6, withProjectCreator_);
10140      }
10141      unknownFields.writeTo(output);
10142    }
10143
10144    public int getSerializedSize() {
10145      int size = memoizedSize;
10146      if (size != -1) return size;
10147
10148      size = 0;
10149      if (((bitField0_ & 0x00000001) == 0x00000001)) {
10150        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, key_);
10151      }
10152      if (((bitField0_ & 0x00000002) == 0x00000002)) {
10153        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
10154      }
10155      if (((bitField0_ & 0x00000004) == 0x00000004)) {
10156        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_);
10157      }
10158      if (((bitField0_ & 0x00000008) == 0x00000008)) {
10159        size += com.google.protobuf.CodedOutputStream
10160          .computeInt32Size(4, usersCount_);
10161      }
10162      if (((bitField0_ & 0x00000010) == 0x00000010)) {
10163        size += com.google.protobuf.CodedOutputStream
10164          .computeInt32Size(5, groupsCount_);
10165      }
10166      if (((bitField0_ & 0x00000020) == 0x00000020)) {
10167        size += com.google.protobuf.CodedOutputStream
10168          .computeBoolSize(6, withProjectCreator_);
10169      }
10170      size += unknownFields.getSerializedSize();
10171      memoizedSize = size;
10172      return size;
10173    }
10174
10175    private static final long serialVersionUID = 0L;
10176    public static org.sonarqube.ws.WsPermissions.Permission parseFrom(
10177        com.google.protobuf.ByteString data)
10178        throws com.google.protobuf.InvalidProtocolBufferException {
10179      return PARSER.parseFrom(data);
10180    }
10181    public static org.sonarqube.ws.WsPermissions.Permission parseFrom(
10182        com.google.protobuf.ByteString data,
10183        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10184        throws com.google.protobuf.InvalidProtocolBufferException {
10185      return PARSER.parseFrom(data, extensionRegistry);
10186    }
10187    public static org.sonarqube.ws.WsPermissions.Permission parseFrom(byte[] data)
10188        throws com.google.protobuf.InvalidProtocolBufferException {
10189      return PARSER.parseFrom(data);
10190    }
10191    public static org.sonarqube.ws.WsPermissions.Permission parseFrom(
10192        byte[] data,
10193        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10194        throws com.google.protobuf.InvalidProtocolBufferException {
10195      return PARSER.parseFrom(data, extensionRegistry);
10196    }
10197    public static org.sonarqube.ws.WsPermissions.Permission parseFrom(java.io.InputStream input)
10198        throws java.io.IOException {
10199      return PARSER.parseFrom(input);
10200    }
10201    public static org.sonarqube.ws.WsPermissions.Permission parseFrom(
10202        java.io.InputStream input,
10203        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10204        throws java.io.IOException {
10205      return PARSER.parseFrom(input, extensionRegistry);
10206    }
10207    public static org.sonarqube.ws.WsPermissions.Permission parseDelimitedFrom(java.io.InputStream input)
10208        throws java.io.IOException {
10209      return PARSER.parseDelimitedFrom(input);
10210    }
10211    public static org.sonarqube.ws.WsPermissions.Permission parseDelimitedFrom(
10212        java.io.InputStream input,
10213        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10214        throws java.io.IOException {
10215      return PARSER.parseDelimitedFrom(input, extensionRegistry);
10216    }
10217    public static org.sonarqube.ws.WsPermissions.Permission parseFrom(
10218        com.google.protobuf.CodedInputStream input)
10219        throws java.io.IOException {
10220      return PARSER.parseFrom(input);
10221    }
10222    public static org.sonarqube.ws.WsPermissions.Permission parseFrom(
10223        com.google.protobuf.CodedInputStream input,
10224        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10225        throws java.io.IOException {
10226      return PARSER.parseFrom(input, extensionRegistry);
10227    }
10228
10229    public Builder newBuilderForType() { return newBuilder(); }
10230    public static Builder newBuilder() {
10231      return DEFAULT_INSTANCE.toBuilder();
10232    }
10233    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.Permission prototype) {
10234      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10235    }
10236    public Builder toBuilder() {
10237      return this == DEFAULT_INSTANCE
10238          ? new Builder() : new Builder().mergeFrom(this);
10239    }
10240
10241    @java.lang.Override
10242    protected Builder newBuilderForType(
10243        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
10244      Builder builder = new Builder(parent);
10245      return builder;
10246    }
10247    /**
10248     * Protobuf type {@code sonarqube.ws.permissions.Permission}
10249     */
10250    public static final class Builder extends
10251        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
10252        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.Permission)
10253        org.sonarqube.ws.WsPermissions.PermissionOrBuilder {
10254      public static final com.google.protobuf.Descriptors.Descriptor
10255          getDescriptor() {
10256        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Permission_descriptor;
10257      }
10258
10259      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
10260          internalGetFieldAccessorTable() {
10261        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Permission_fieldAccessorTable
10262            .ensureFieldAccessorsInitialized(
10263                org.sonarqube.ws.WsPermissions.Permission.class, org.sonarqube.ws.WsPermissions.Permission.Builder.class);
10264      }
10265
10266      // Construct using org.sonarqube.ws.WsPermissions.Permission.newBuilder()
10267      private Builder() {
10268        maybeForceBuilderInitialization();
10269      }
10270
10271      private Builder(
10272          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
10273        super(parent);
10274        maybeForceBuilderInitialization();
10275      }
10276      private void maybeForceBuilderInitialization() {
10277        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
10278        }
10279      }
10280      public Builder clear() {
10281        super.clear();
10282        key_ = "";
10283        bitField0_ = (bitField0_ & ~0x00000001);
10284        name_ = "";
10285        bitField0_ = (bitField0_ & ~0x00000002);
10286        description_ = "";
10287        bitField0_ = (bitField0_ & ~0x00000004);
10288        usersCount_ = 0;
10289        bitField0_ = (bitField0_ & ~0x00000008);
10290        groupsCount_ = 0;
10291        bitField0_ = (bitField0_ & ~0x00000010);
10292        withProjectCreator_ = false;
10293        bitField0_ = (bitField0_ & ~0x00000020);
10294        return this;
10295      }
10296
10297      public com.google.protobuf.Descriptors.Descriptor
10298          getDescriptorForType() {
10299        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Permission_descriptor;
10300      }
10301
10302      public org.sonarqube.ws.WsPermissions.Permission getDefaultInstanceForType() {
10303        return org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance();
10304      }
10305
10306      public org.sonarqube.ws.WsPermissions.Permission build() {
10307        org.sonarqube.ws.WsPermissions.Permission result = buildPartial();
10308        if (!result.isInitialized()) {
10309          throw newUninitializedMessageException(result);
10310        }
10311        return result;
10312      }
10313
10314      public org.sonarqube.ws.WsPermissions.Permission buildPartial() {
10315        org.sonarqube.ws.WsPermissions.Permission result = new org.sonarqube.ws.WsPermissions.Permission(this);
10316        int from_bitField0_ = bitField0_;
10317        int to_bitField0_ = 0;
10318        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
10319          to_bitField0_ |= 0x00000001;
10320        }
10321        result.key_ = key_;
10322        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
10323          to_bitField0_ |= 0x00000002;
10324        }
10325        result.name_ = name_;
10326        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
10327          to_bitField0_ |= 0x00000004;
10328        }
10329        result.description_ = description_;
10330        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
10331          to_bitField0_ |= 0x00000008;
10332        }
10333        result.usersCount_ = usersCount_;
10334        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
10335          to_bitField0_ |= 0x00000010;
10336        }
10337        result.groupsCount_ = groupsCount_;
10338        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
10339          to_bitField0_ |= 0x00000020;
10340        }
10341        result.withProjectCreator_ = withProjectCreator_;
10342        result.bitField0_ = to_bitField0_;
10343        onBuilt();
10344        return result;
10345      }
10346
10347      public Builder mergeFrom(com.google.protobuf.Message other) {
10348        if (other instanceof org.sonarqube.ws.WsPermissions.Permission) {
10349          return mergeFrom((org.sonarqube.ws.WsPermissions.Permission)other);
10350        } else {
10351          super.mergeFrom(other);
10352          return this;
10353        }
10354      }
10355
10356      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.Permission other) {
10357        if (other == org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance()) return this;
10358        if (other.hasKey()) {
10359          bitField0_ |= 0x00000001;
10360          key_ = other.key_;
10361          onChanged();
10362        }
10363        if (other.hasName()) {
10364          bitField0_ |= 0x00000002;
10365          name_ = other.name_;
10366          onChanged();
10367        }
10368        if (other.hasDescription()) {
10369          bitField0_ |= 0x00000004;
10370          description_ = other.description_;
10371          onChanged();
10372        }
10373        if (other.hasUsersCount()) {
10374          setUsersCount(other.getUsersCount());
10375        }
10376        if (other.hasGroupsCount()) {
10377          setGroupsCount(other.getGroupsCount());
10378        }
10379        if (other.hasWithProjectCreator()) {
10380          setWithProjectCreator(other.getWithProjectCreator());
10381        }
10382        this.mergeUnknownFields(other.unknownFields);
10383        onChanged();
10384        return this;
10385      }
10386
10387      public final boolean isInitialized() {
10388        return true;
10389      }
10390
10391      public Builder mergeFrom(
10392          com.google.protobuf.CodedInputStream input,
10393          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10394          throws java.io.IOException {
10395        org.sonarqube.ws.WsPermissions.Permission parsedMessage = null;
10396        try {
10397          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10398        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10399          parsedMessage = (org.sonarqube.ws.WsPermissions.Permission) e.getUnfinishedMessage();
10400          throw e;
10401        } finally {
10402          if (parsedMessage != null) {
10403            mergeFrom(parsedMessage);
10404          }
10405        }
10406        return this;
10407      }
10408      private int bitField0_;
10409
10410      private java.lang.Object key_ = "";
10411      /**
10412       * <code>optional string key = 1;</code>
10413       */
10414      public boolean hasKey() {
10415        return ((bitField0_ & 0x00000001) == 0x00000001);
10416      }
10417      /**
10418       * <code>optional string key = 1;</code>
10419       */
10420      public java.lang.String getKey() {
10421        java.lang.Object ref = key_;
10422        if (!(ref instanceof java.lang.String)) {
10423          com.google.protobuf.ByteString bs =
10424              (com.google.protobuf.ByteString) ref;
10425          java.lang.String s = bs.toStringUtf8();
10426          if (bs.isValidUtf8()) {
10427            key_ = s;
10428          }
10429          return s;
10430        } else {
10431          return (java.lang.String) ref;
10432        }
10433      }
10434      /**
10435       * <code>optional string key = 1;</code>
10436       */
10437      public com.google.protobuf.ByteString
10438          getKeyBytes() {
10439        java.lang.Object ref = key_;
10440        if (ref instanceof String) {
10441          com.google.protobuf.ByteString b = 
10442              com.google.protobuf.ByteString.copyFromUtf8(
10443                  (java.lang.String) ref);
10444          key_ = b;
10445          return b;
10446        } else {
10447          return (com.google.protobuf.ByteString) ref;
10448        }
10449      }
10450      /**
10451       * <code>optional string key = 1;</code>
10452       */
10453      public Builder setKey(
10454          java.lang.String value) {
10455        if (value == null) {
10456    throw new NullPointerException();
10457  }
10458  bitField0_ |= 0x00000001;
10459        key_ = value;
10460        onChanged();
10461        return this;
10462      }
10463      /**
10464       * <code>optional string key = 1;</code>
10465       */
10466      public Builder clearKey() {
10467        bitField0_ = (bitField0_ & ~0x00000001);
10468        key_ = getDefaultInstance().getKey();
10469        onChanged();
10470        return this;
10471      }
10472      /**
10473       * <code>optional string key = 1;</code>
10474       */
10475      public Builder setKeyBytes(
10476          com.google.protobuf.ByteString value) {
10477        if (value == null) {
10478    throw new NullPointerException();
10479  }
10480  bitField0_ |= 0x00000001;
10481        key_ = value;
10482        onChanged();
10483        return this;
10484      }
10485
10486      private java.lang.Object name_ = "";
10487      /**
10488       * <code>optional string name = 2;</code>
10489       */
10490      public boolean hasName() {
10491        return ((bitField0_ & 0x00000002) == 0x00000002);
10492      }
10493      /**
10494       * <code>optional string name = 2;</code>
10495       */
10496      public java.lang.String getName() {
10497        java.lang.Object ref = name_;
10498        if (!(ref instanceof java.lang.String)) {
10499          com.google.protobuf.ByteString bs =
10500              (com.google.protobuf.ByteString) ref;
10501          java.lang.String s = bs.toStringUtf8();
10502          if (bs.isValidUtf8()) {
10503            name_ = s;
10504          }
10505          return s;
10506        } else {
10507          return (java.lang.String) ref;
10508        }
10509      }
10510      /**
10511       * <code>optional string name = 2;</code>
10512       */
10513      public com.google.protobuf.ByteString
10514          getNameBytes() {
10515        java.lang.Object ref = name_;
10516        if (ref instanceof String) {
10517          com.google.protobuf.ByteString b = 
10518              com.google.protobuf.ByteString.copyFromUtf8(
10519                  (java.lang.String) ref);
10520          name_ = b;
10521          return b;
10522        } else {
10523          return (com.google.protobuf.ByteString) ref;
10524        }
10525      }
10526      /**
10527       * <code>optional string name = 2;</code>
10528       */
10529      public Builder setName(
10530          java.lang.String value) {
10531        if (value == null) {
10532    throw new NullPointerException();
10533  }
10534  bitField0_ |= 0x00000002;
10535        name_ = value;
10536        onChanged();
10537        return this;
10538      }
10539      /**
10540       * <code>optional string name = 2;</code>
10541       */
10542      public Builder clearName() {
10543        bitField0_ = (bitField0_ & ~0x00000002);
10544        name_ = getDefaultInstance().getName();
10545        onChanged();
10546        return this;
10547      }
10548      /**
10549       * <code>optional string name = 2;</code>
10550       */
10551      public Builder setNameBytes(
10552          com.google.protobuf.ByteString value) {
10553        if (value == null) {
10554    throw new NullPointerException();
10555  }
10556  bitField0_ |= 0x00000002;
10557        name_ = value;
10558        onChanged();
10559        return this;
10560      }
10561
10562      private java.lang.Object description_ = "";
10563      /**
10564       * <code>optional string description = 3;</code>
10565       */
10566      public boolean hasDescription() {
10567        return ((bitField0_ & 0x00000004) == 0x00000004);
10568      }
10569      /**
10570       * <code>optional string description = 3;</code>
10571       */
10572      public java.lang.String getDescription() {
10573        java.lang.Object ref = description_;
10574        if (!(ref instanceof java.lang.String)) {
10575          com.google.protobuf.ByteString bs =
10576              (com.google.protobuf.ByteString) ref;
10577          java.lang.String s = bs.toStringUtf8();
10578          if (bs.isValidUtf8()) {
10579            description_ = s;
10580          }
10581          return s;
10582        } else {
10583          return (java.lang.String) ref;
10584        }
10585      }
10586      /**
10587       * <code>optional string description = 3;</code>
10588       */
10589      public com.google.protobuf.ByteString
10590          getDescriptionBytes() {
10591        java.lang.Object ref = description_;
10592        if (ref instanceof String) {
10593          com.google.protobuf.ByteString b = 
10594              com.google.protobuf.ByteString.copyFromUtf8(
10595                  (java.lang.String) ref);
10596          description_ = b;
10597          return b;
10598        } else {
10599          return (com.google.protobuf.ByteString) ref;
10600        }
10601      }
10602      /**
10603       * <code>optional string description = 3;</code>
10604       */
10605      public Builder setDescription(
10606          java.lang.String value) {
10607        if (value == null) {
10608    throw new NullPointerException();
10609  }
10610  bitField0_ |= 0x00000004;
10611        description_ = value;
10612        onChanged();
10613        return this;
10614      }
10615      /**
10616       * <code>optional string description = 3;</code>
10617       */
10618      public Builder clearDescription() {
10619        bitField0_ = (bitField0_ & ~0x00000004);
10620        description_ = getDefaultInstance().getDescription();
10621        onChanged();
10622        return this;
10623      }
10624      /**
10625       * <code>optional string description = 3;</code>
10626       */
10627      public Builder setDescriptionBytes(
10628          com.google.protobuf.ByteString value) {
10629        if (value == null) {
10630    throw new NullPointerException();
10631  }
10632  bitField0_ |= 0x00000004;
10633        description_ = value;
10634        onChanged();
10635        return this;
10636      }
10637
10638      private int usersCount_ ;
10639      /**
10640       * <code>optional int32 usersCount = 4;</code>
10641       */
10642      public boolean hasUsersCount() {
10643        return ((bitField0_ & 0x00000008) == 0x00000008);
10644      }
10645      /**
10646       * <code>optional int32 usersCount = 4;</code>
10647       */
10648      public int getUsersCount() {
10649        return usersCount_;
10650      }
10651      /**
10652       * <code>optional int32 usersCount = 4;</code>
10653       */
10654      public Builder setUsersCount(int value) {
10655        bitField0_ |= 0x00000008;
10656        usersCount_ = value;
10657        onChanged();
10658        return this;
10659      }
10660      /**
10661       * <code>optional int32 usersCount = 4;</code>
10662       */
10663      public Builder clearUsersCount() {
10664        bitField0_ = (bitField0_ & ~0x00000008);
10665        usersCount_ = 0;
10666        onChanged();
10667        return this;
10668      }
10669
10670      private int groupsCount_ ;
10671      /**
10672       * <code>optional int32 groupsCount = 5;</code>
10673       */
10674      public boolean hasGroupsCount() {
10675        return ((bitField0_ & 0x00000010) == 0x00000010);
10676      }
10677      /**
10678       * <code>optional int32 groupsCount = 5;</code>
10679       */
10680      public int getGroupsCount() {
10681        return groupsCount_;
10682      }
10683      /**
10684       * <code>optional int32 groupsCount = 5;</code>
10685       */
10686      public Builder setGroupsCount(int value) {
10687        bitField0_ |= 0x00000010;
10688        groupsCount_ = value;
10689        onChanged();
10690        return this;
10691      }
10692      /**
10693       * <code>optional int32 groupsCount = 5;</code>
10694       */
10695      public Builder clearGroupsCount() {
10696        bitField0_ = (bitField0_ & ~0x00000010);
10697        groupsCount_ = 0;
10698        onChanged();
10699        return this;
10700      }
10701
10702      private boolean withProjectCreator_ ;
10703      /**
10704       * <code>optional bool withProjectCreator = 6;</code>
10705       */
10706      public boolean hasWithProjectCreator() {
10707        return ((bitField0_ & 0x00000020) == 0x00000020);
10708      }
10709      /**
10710       * <code>optional bool withProjectCreator = 6;</code>
10711       */
10712      public boolean getWithProjectCreator() {
10713        return withProjectCreator_;
10714      }
10715      /**
10716       * <code>optional bool withProjectCreator = 6;</code>
10717       */
10718      public Builder setWithProjectCreator(boolean value) {
10719        bitField0_ |= 0x00000020;
10720        withProjectCreator_ = value;
10721        onChanged();
10722        return this;
10723      }
10724      /**
10725       * <code>optional bool withProjectCreator = 6;</code>
10726       */
10727      public Builder clearWithProjectCreator() {
10728        bitField0_ = (bitField0_ & ~0x00000020);
10729        withProjectCreator_ = false;
10730        onChanged();
10731        return this;
10732      }
10733
10734      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.Permission)
10735    }
10736
10737    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.Permission)
10738    private static final org.sonarqube.ws.WsPermissions.Permission DEFAULT_INSTANCE;
10739    static {
10740      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.Permission();
10741    }
10742
10743    public static org.sonarqube.ws.WsPermissions.Permission getDefaultInstance() {
10744      return DEFAULT_INSTANCE;
10745    }
10746
10747    @java.lang.Deprecated public static final com.google.protobuf.Parser<Permission>
10748        PARSER = new com.google.protobuf.AbstractParser<Permission>() {
10749      public Permission parsePartialFrom(
10750          com.google.protobuf.CodedInputStream input,
10751          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10752          throws com.google.protobuf.InvalidProtocolBufferException {
10753        try {
10754          return new Permission(input, extensionRegistry);
10755        } catch (RuntimeException e) {
10756          if (e.getCause() instanceof
10757              com.google.protobuf.InvalidProtocolBufferException) {
10758            throw (com.google.protobuf.InvalidProtocolBufferException)
10759                e.getCause();
10760          }
10761          throw e;
10762        }
10763      }
10764    };
10765
10766    public static com.google.protobuf.Parser<Permission> parser() {
10767      return PARSER;
10768    }
10769
10770    @java.lang.Override
10771    public com.google.protobuf.Parser<Permission> getParserForType() {
10772      return PARSER;
10773    }
10774
10775    public org.sonarqube.ws.WsPermissions.Permission getDefaultInstanceForType() {
10776      return DEFAULT_INSTANCE;
10777    }
10778
10779  }
10780
10781  public interface PermissionTemplateOrBuilder extends
10782      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.PermissionTemplate)
10783      com.google.protobuf.MessageOrBuilder {
10784
10785    /**
10786     * <code>optional string id = 1;</code>
10787     */
10788    boolean hasId();
10789    /**
10790     * <code>optional string id = 1;</code>
10791     */
10792    java.lang.String getId();
10793    /**
10794     * <code>optional string id = 1;</code>
10795     */
10796    com.google.protobuf.ByteString
10797        getIdBytes();
10798
10799    /**
10800     * <code>optional string name = 2;</code>
10801     */
10802    boolean hasName();
10803    /**
10804     * <code>optional string name = 2;</code>
10805     */
10806    java.lang.String getName();
10807    /**
10808     * <code>optional string name = 2;</code>
10809     */
10810    com.google.protobuf.ByteString
10811        getNameBytes();
10812
10813    /**
10814     * <code>optional string description = 3;</code>
10815     */
10816    boolean hasDescription();
10817    /**
10818     * <code>optional string description = 3;</code>
10819     */
10820    java.lang.String getDescription();
10821    /**
10822     * <code>optional string description = 3;</code>
10823     */
10824    com.google.protobuf.ByteString
10825        getDescriptionBytes();
10826
10827    /**
10828     * <code>optional string projectKeyPattern = 4;</code>
10829     */
10830    boolean hasProjectKeyPattern();
10831    /**
10832     * <code>optional string projectKeyPattern = 4;</code>
10833     */
10834    java.lang.String getProjectKeyPattern();
10835    /**
10836     * <code>optional string projectKeyPattern = 4;</code>
10837     */
10838    com.google.protobuf.ByteString
10839        getProjectKeyPatternBytes();
10840
10841    /**
10842     * <code>optional string createdAt = 5;</code>
10843     *
10844     * <pre>
10845     * ex: 2015-08-25T16:18:48+0200
10846     * </pre>
10847     */
10848    boolean hasCreatedAt();
10849    /**
10850     * <code>optional string createdAt = 5;</code>
10851     *
10852     * <pre>
10853     * ex: 2015-08-25T16:18:48+0200
10854     * </pre>
10855     */
10856    java.lang.String getCreatedAt();
10857    /**
10858     * <code>optional string createdAt = 5;</code>
10859     *
10860     * <pre>
10861     * ex: 2015-08-25T16:18:48+0200
10862     * </pre>
10863     */
10864    com.google.protobuf.ByteString
10865        getCreatedAtBytes();
10866
10867    /**
10868     * <code>optional string updatedAt = 6;</code>
10869     *
10870     * <pre>
10871     * ex: 2015-08-25T16:18:48+0200
10872     * </pre>
10873     */
10874    boolean hasUpdatedAt();
10875    /**
10876     * <code>optional string updatedAt = 6;</code>
10877     *
10878     * <pre>
10879     * ex: 2015-08-25T16:18:48+0200
10880     * </pre>
10881     */
10882    java.lang.String getUpdatedAt();
10883    /**
10884     * <code>optional string updatedAt = 6;</code>
10885     *
10886     * <pre>
10887     * ex: 2015-08-25T16:18:48+0200
10888     * </pre>
10889     */
10890    com.google.protobuf.ByteString
10891        getUpdatedAtBytes();
10892
10893    /**
10894     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
10895     */
10896    java.util.List<org.sonarqube.ws.WsPermissions.Permission> 
10897        getPermissionsList();
10898    /**
10899     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
10900     */
10901    org.sonarqube.ws.WsPermissions.Permission getPermissions(int index);
10902    /**
10903     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
10904     */
10905    int getPermissionsCount();
10906    /**
10907     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
10908     */
10909    java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
10910        getPermissionsOrBuilderList();
10911    /**
10912     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
10913     */
10914    org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
10915        int index);
10916  }
10917  /**
10918   * Protobuf type {@code sonarqube.ws.permissions.PermissionTemplate}
10919   */
10920  public  static final class PermissionTemplate extends
10921      com.google.protobuf.GeneratedMessage implements
10922      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.PermissionTemplate)
10923      PermissionTemplateOrBuilder {
10924    // Use PermissionTemplate.newBuilder() to construct.
10925    private PermissionTemplate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
10926      super(builder);
10927    }
10928    private PermissionTemplate() {
10929      id_ = "";
10930      name_ = "";
10931      description_ = "";
10932      projectKeyPattern_ = "";
10933      createdAt_ = "";
10934      updatedAt_ = "";
10935      permissions_ = java.util.Collections.emptyList();
10936    }
10937
10938    @java.lang.Override
10939    public final com.google.protobuf.UnknownFieldSet
10940    getUnknownFields() {
10941      return this.unknownFields;
10942    }
10943    private PermissionTemplate(
10944        com.google.protobuf.CodedInputStream input,
10945        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
10946      this();
10947      int mutable_bitField0_ = 0;
10948      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
10949          com.google.protobuf.UnknownFieldSet.newBuilder();
10950      try {
10951        boolean done = false;
10952        while (!done) {
10953          int tag = input.readTag();
10954          switch (tag) {
10955            case 0:
10956              done = true;
10957              break;
10958            default: {
10959              if (!parseUnknownField(input, unknownFields,
10960                                     extensionRegistry, tag)) {
10961                done = true;
10962              }
10963              break;
10964            }
10965            case 10: {
10966              com.google.protobuf.ByteString bs = input.readBytes();
10967              bitField0_ |= 0x00000001;
10968              id_ = bs;
10969              break;
10970            }
10971            case 18: {
10972              com.google.protobuf.ByteString bs = input.readBytes();
10973              bitField0_ |= 0x00000002;
10974              name_ = bs;
10975              break;
10976            }
10977            case 26: {
10978              com.google.protobuf.ByteString bs = input.readBytes();
10979              bitField0_ |= 0x00000004;
10980              description_ = bs;
10981              break;
10982            }
10983            case 34: {
10984              com.google.protobuf.ByteString bs = input.readBytes();
10985              bitField0_ |= 0x00000008;
10986              projectKeyPattern_ = bs;
10987              break;
10988            }
10989            case 42: {
10990              com.google.protobuf.ByteString bs = input.readBytes();
10991              bitField0_ |= 0x00000010;
10992              createdAt_ = bs;
10993              break;
10994            }
10995            case 50: {
10996              com.google.protobuf.ByteString bs = input.readBytes();
10997              bitField0_ |= 0x00000020;
10998              updatedAt_ = bs;
10999              break;
11000            }
11001            case 58: {
11002              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
11003                permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>();
11004                mutable_bitField0_ |= 0x00000040;
11005              }
11006              permissions_.add(input.readMessage(org.sonarqube.ws.WsPermissions.Permission.parser(), extensionRegistry));
11007              break;
11008            }
11009          }
11010        }
11011      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11012        throw new RuntimeException(e.setUnfinishedMessage(this));
11013      } catch (java.io.IOException e) {
11014        throw new RuntimeException(
11015            new com.google.protobuf.InvalidProtocolBufferException(
11016                e.getMessage()).setUnfinishedMessage(this));
11017      } finally {
11018        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
11019          permissions_ = java.util.Collections.unmodifiableList(permissions_);
11020        }
11021        this.unknownFields = unknownFields.build();
11022        makeExtensionsImmutable();
11023      }
11024    }
11025    public static final com.google.protobuf.Descriptors.Descriptor
11026        getDescriptor() {
11027      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_PermissionTemplate_descriptor;
11028    }
11029
11030    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
11031        internalGetFieldAccessorTable() {
11032      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_PermissionTemplate_fieldAccessorTable
11033          .ensureFieldAccessorsInitialized(
11034              org.sonarqube.ws.WsPermissions.PermissionTemplate.class, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder.class);
11035    }
11036
11037    private int bitField0_;
11038    public static final int ID_FIELD_NUMBER = 1;
11039    private volatile java.lang.Object id_;
11040    /**
11041     * <code>optional string id = 1;</code>
11042     */
11043    public boolean hasId() {
11044      return ((bitField0_ & 0x00000001) == 0x00000001);
11045    }
11046    /**
11047     * <code>optional string id = 1;</code>
11048     */
11049    public java.lang.String getId() {
11050      java.lang.Object ref = id_;
11051      if (ref instanceof java.lang.String) {
11052        return (java.lang.String) ref;
11053      } else {
11054        com.google.protobuf.ByteString bs = 
11055            (com.google.protobuf.ByteString) ref;
11056        java.lang.String s = bs.toStringUtf8();
11057        if (bs.isValidUtf8()) {
11058          id_ = s;
11059        }
11060        return s;
11061      }
11062    }
11063    /**
11064     * <code>optional string id = 1;</code>
11065     */
11066    public com.google.protobuf.ByteString
11067        getIdBytes() {
11068      java.lang.Object ref = id_;
11069      if (ref instanceof java.lang.String) {
11070        com.google.protobuf.ByteString b = 
11071            com.google.protobuf.ByteString.copyFromUtf8(
11072                (java.lang.String) ref);
11073        id_ = b;
11074        return b;
11075      } else {
11076        return (com.google.protobuf.ByteString) ref;
11077      }
11078    }
11079
11080    public static final int NAME_FIELD_NUMBER = 2;
11081    private volatile java.lang.Object name_;
11082    /**
11083     * <code>optional string name = 2;</code>
11084     */
11085    public boolean hasName() {
11086      return ((bitField0_ & 0x00000002) == 0x00000002);
11087    }
11088    /**
11089     * <code>optional string name = 2;</code>
11090     */
11091    public java.lang.String getName() {
11092      java.lang.Object ref = name_;
11093      if (ref instanceof java.lang.String) {
11094        return (java.lang.String) ref;
11095      } else {
11096        com.google.protobuf.ByteString bs = 
11097            (com.google.protobuf.ByteString) ref;
11098        java.lang.String s = bs.toStringUtf8();
11099        if (bs.isValidUtf8()) {
11100          name_ = s;
11101        }
11102        return s;
11103      }
11104    }
11105    /**
11106     * <code>optional string name = 2;</code>
11107     */
11108    public com.google.protobuf.ByteString
11109        getNameBytes() {
11110      java.lang.Object ref = name_;
11111      if (ref instanceof java.lang.String) {
11112        com.google.protobuf.ByteString b = 
11113            com.google.protobuf.ByteString.copyFromUtf8(
11114                (java.lang.String) ref);
11115        name_ = b;
11116        return b;
11117      } else {
11118        return (com.google.protobuf.ByteString) ref;
11119      }
11120    }
11121
11122    public static final int DESCRIPTION_FIELD_NUMBER = 3;
11123    private volatile java.lang.Object description_;
11124    /**
11125     * <code>optional string description = 3;</code>
11126     */
11127    public boolean hasDescription() {
11128      return ((bitField0_ & 0x00000004) == 0x00000004);
11129    }
11130    /**
11131     * <code>optional string description = 3;</code>
11132     */
11133    public java.lang.String getDescription() {
11134      java.lang.Object ref = description_;
11135      if (ref instanceof java.lang.String) {
11136        return (java.lang.String) ref;
11137      } else {
11138        com.google.protobuf.ByteString bs = 
11139            (com.google.protobuf.ByteString) ref;
11140        java.lang.String s = bs.toStringUtf8();
11141        if (bs.isValidUtf8()) {
11142          description_ = s;
11143        }
11144        return s;
11145      }
11146    }
11147    /**
11148     * <code>optional string description = 3;</code>
11149     */
11150    public com.google.protobuf.ByteString
11151        getDescriptionBytes() {
11152      java.lang.Object ref = description_;
11153      if (ref instanceof java.lang.String) {
11154        com.google.protobuf.ByteString b = 
11155            com.google.protobuf.ByteString.copyFromUtf8(
11156                (java.lang.String) ref);
11157        description_ = b;
11158        return b;
11159      } else {
11160        return (com.google.protobuf.ByteString) ref;
11161      }
11162    }
11163
11164    public static final int PROJECTKEYPATTERN_FIELD_NUMBER = 4;
11165    private volatile java.lang.Object projectKeyPattern_;
11166    /**
11167     * <code>optional string projectKeyPattern = 4;</code>
11168     */
11169    public boolean hasProjectKeyPattern() {
11170      return ((bitField0_ & 0x00000008) == 0x00000008);
11171    }
11172    /**
11173     * <code>optional string projectKeyPattern = 4;</code>
11174     */
11175    public java.lang.String getProjectKeyPattern() {
11176      java.lang.Object ref = projectKeyPattern_;
11177      if (ref instanceof java.lang.String) {
11178        return (java.lang.String) ref;
11179      } else {
11180        com.google.protobuf.ByteString bs = 
11181            (com.google.protobuf.ByteString) ref;
11182        java.lang.String s = bs.toStringUtf8();
11183        if (bs.isValidUtf8()) {
11184          projectKeyPattern_ = s;
11185        }
11186        return s;
11187      }
11188    }
11189    /**
11190     * <code>optional string projectKeyPattern = 4;</code>
11191     */
11192    public com.google.protobuf.ByteString
11193        getProjectKeyPatternBytes() {
11194      java.lang.Object ref = projectKeyPattern_;
11195      if (ref instanceof java.lang.String) {
11196        com.google.protobuf.ByteString b = 
11197            com.google.protobuf.ByteString.copyFromUtf8(
11198                (java.lang.String) ref);
11199        projectKeyPattern_ = b;
11200        return b;
11201      } else {
11202        return (com.google.protobuf.ByteString) ref;
11203      }
11204    }
11205
11206    public static final int CREATEDAT_FIELD_NUMBER = 5;
11207    private volatile java.lang.Object createdAt_;
11208    /**
11209     * <code>optional string createdAt = 5;</code>
11210     *
11211     * <pre>
11212     * ex: 2015-08-25T16:18:48+0200
11213     * </pre>
11214     */
11215    public boolean hasCreatedAt() {
11216      return ((bitField0_ & 0x00000010) == 0x00000010);
11217    }
11218    /**
11219     * <code>optional string createdAt = 5;</code>
11220     *
11221     * <pre>
11222     * ex: 2015-08-25T16:18:48+0200
11223     * </pre>
11224     */
11225    public java.lang.String getCreatedAt() {
11226      java.lang.Object ref = createdAt_;
11227      if (ref instanceof java.lang.String) {
11228        return (java.lang.String) ref;
11229      } else {
11230        com.google.protobuf.ByteString bs = 
11231            (com.google.protobuf.ByteString) ref;
11232        java.lang.String s = bs.toStringUtf8();
11233        if (bs.isValidUtf8()) {
11234          createdAt_ = s;
11235        }
11236        return s;
11237      }
11238    }
11239    /**
11240     * <code>optional string createdAt = 5;</code>
11241     *
11242     * <pre>
11243     * ex: 2015-08-25T16:18:48+0200
11244     * </pre>
11245     */
11246    public com.google.protobuf.ByteString
11247        getCreatedAtBytes() {
11248      java.lang.Object ref = createdAt_;
11249      if (ref instanceof java.lang.String) {
11250        com.google.protobuf.ByteString b = 
11251            com.google.protobuf.ByteString.copyFromUtf8(
11252                (java.lang.String) ref);
11253        createdAt_ = b;
11254        return b;
11255      } else {
11256        return (com.google.protobuf.ByteString) ref;
11257      }
11258    }
11259
11260    public static final int UPDATEDAT_FIELD_NUMBER = 6;
11261    private volatile java.lang.Object updatedAt_;
11262    /**
11263     * <code>optional string updatedAt = 6;</code>
11264     *
11265     * <pre>
11266     * ex: 2015-08-25T16:18:48+0200
11267     * </pre>
11268     */
11269    public boolean hasUpdatedAt() {
11270      return ((bitField0_ & 0x00000020) == 0x00000020);
11271    }
11272    /**
11273     * <code>optional string updatedAt = 6;</code>
11274     *
11275     * <pre>
11276     * ex: 2015-08-25T16:18:48+0200
11277     * </pre>
11278     */
11279    public java.lang.String getUpdatedAt() {
11280      java.lang.Object ref = updatedAt_;
11281      if (ref instanceof java.lang.String) {
11282        return (java.lang.String) ref;
11283      } else {
11284        com.google.protobuf.ByteString bs = 
11285            (com.google.protobuf.ByteString) ref;
11286        java.lang.String s = bs.toStringUtf8();
11287        if (bs.isValidUtf8()) {
11288          updatedAt_ = s;
11289        }
11290        return s;
11291      }
11292    }
11293    /**
11294     * <code>optional string updatedAt = 6;</code>
11295     *
11296     * <pre>
11297     * ex: 2015-08-25T16:18:48+0200
11298     * </pre>
11299     */
11300    public com.google.protobuf.ByteString
11301        getUpdatedAtBytes() {
11302      java.lang.Object ref = updatedAt_;
11303      if (ref instanceof java.lang.String) {
11304        com.google.protobuf.ByteString b = 
11305            com.google.protobuf.ByteString.copyFromUtf8(
11306                (java.lang.String) ref);
11307        updatedAt_ = b;
11308        return b;
11309      } else {
11310        return (com.google.protobuf.ByteString) ref;
11311      }
11312    }
11313
11314    public static final int PERMISSIONS_FIELD_NUMBER = 7;
11315    private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_;
11316    /**
11317     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
11318     */
11319    public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
11320      return permissions_;
11321    }
11322    /**
11323     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
11324     */
11325    public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
11326        getPermissionsOrBuilderList() {
11327      return permissions_;
11328    }
11329    /**
11330     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
11331     */
11332    public int getPermissionsCount() {
11333      return permissions_.size();
11334    }
11335    /**
11336     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
11337     */
11338    public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
11339      return permissions_.get(index);
11340    }
11341    /**
11342     * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
11343     */
11344    public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
11345        int index) {
11346      return permissions_.get(index);
11347    }
11348
11349    private byte memoizedIsInitialized = -1;
11350    public final boolean isInitialized() {
11351      byte isInitialized = memoizedIsInitialized;
11352      if (isInitialized == 1) return true;
11353      if (isInitialized == 0) return false;
11354
11355      memoizedIsInitialized = 1;
11356      return true;
11357    }
11358
11359    public void writeTo(com.google.protobuf.CodedOutputStream output)
11360                        throws java.io.IOException {
11361      if (((bitField0_ & 0x00000001) == 0x00000001)) {
11362        com.google.protobuf.GeneratedMessage.writeString(output, 1, id_);
11363      }
11364      if (((bitField0_ & 0x00000002) == 0x00000002)) {
11365        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
11366      }
11367      if (((bitField0_ & 0x00000004) == 0x00000004)) {
11368        com.google.protobuf.GeneratedMessage.writeString(output, 3, description_);
11369      }
11370      if (((bitField0_ & 0x00000008) == 0x00000008)) {
11371        com.google.protobuf.GeneratedMessage.writeString(output, 4, projectKeyPattern_);
11372      }
11373      if (((bitField0_ & 0x00000010) == 0x00000010)) {
11374        com.google.protobuf.GeneratedMessage.writeString(output, 5, createdAt_);
11375      }
11376      if (((bitField0_ & 0x00000020) == 0x00000020)) {
11377        com.google.protobuf.GeneratedMessage.writeString(output, 6, updatedAt_);
11378      }
11379      for (int i = 0; i < permissions_.size(); i++) {
11380        output.writeMessage(7, permissions_.get(i));
11381      }
11382      unknownFields.writeTo(output);
11383    }
11384
11385    public int getSerializedSize() {
11386      int size = memoizedSize;
11387      if (size != -1) return size;
11388
11389      size = 0;
11390      if (((bitField0_ & 0x00000001) == 0x00000001)) {
11391        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, id_);
11392      }
11393      if (((bitField0_ & 0x00000002) == 0x00000002)) {
11394        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
11395      }
11396      if (((bitField0_ & 0x00000004) == 0x00000004)) {
11397        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_);
11398      }
11399      if (((bitField0_ & 0x00000008) == 0x00000008)) {
11400        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, projectKeyPattern_);
11401      }
11402      if (((bitField0_ & 0x00000010) == 0x00000010)) {
11403        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, createdAt_);
11404      }
11405      if (((bitField0_ & 0x00000020) == 0x00000020)) {
11406        size += com.google.protobuf.GeneratedMessage.computeStringSize(6, updatedAt_);
11407      }
11408      for (int i = 0; i < permissions_.size(); i++) {
11409        size += com.google.protobuf.CodedOutputStream
11410          .computeMessageSize(7, permissions_.get(i));
11411      }
11412      size += unknownFields.getSerializedSize();
11413      memoizedSize = size;
11414      return size;
11415    }
11416
11417    private static final long serialVersionUID = 0L;
11418    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseFrom(
11419        com.google.protobuf.ByteString data)
11420        throws com.google.protobuf.InvalidProtocolBufferException {
11421      return PARSER.parseFrom(data);
11422    }
11423    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseFrom(
11424        com.google.protobuf.ByteString data,
11425        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11426        throws com.google.protobuf.InvalidProtocolBufferException {
11427      return PARSER.parseFrom(data, extensionRegistry);
11428    }
11429    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseFrom(byte[] data)
11430        throws com.google.protobuf.InvalidProtocolBufferException {
11431      return PARSER.parseFrom(data);
11432    }
11433    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseFrom(
11434        byte[] data,
11435        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11436        throws com.google.protobuf.InvalidProtocolBufferException {
11437      return PARSER.parseFrom(data, extensionRegistry);
11438    }
11439    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseFrom(java.io.InputStream input)
11440        throws java.io.IOException {
11441      return PARSER.parseFrom(input);
11442    }
11443    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseFrom(
11444        java.io.InputStream input,
11445        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11446        throws java.io.IOException {
11447      return PARSER.parseFrom(input, extensionRegistry);
11448    }
11449    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseDelimitedFrom(java.io.InputStream input)
11450        throws java.io.IOException {
11451      return PARSER.parseDelimitedFrom(input);
11452    }
11453    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseDelimitedFrom(
11454        java.io.InputStream input,
11455        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11456        throws java.io.IOException {
11457      return PARSER.parseDelimitedFrom(input, extensionRegistry);
11458    }
11459    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseFrom(
11460        com.google.protobuf.CodedInputStream input)
11461        throws java.io.IOException {
11462      return PARSER.parseFrom(input);
11463    }
11464    public static org.sonarqube.ws.WsPermissions.PermissionTemplate parseFrom(
11465        com.google.protobuf.CodedInputStream input,
11466        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11467        throws java.io.IOException {
11468      return PARSER.parseFrom(input, extensionRegistry);
11469    }
11470
11471    public Builder newBuilderForType() { return newBuilder(); }
11472    public static Builder newBuilder() {
11473      return DEFAULT_INSTANCE.toBuilder();
11474    }
11475    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.PermissionTemplate prototype) {
11476      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
11477    }
11478    public Builder toBuilder() {
11479      return this == DEFAULT_INSTANCE
11480          ? new Builder() : new Builder().mergeFrom(this);
11481    }
11482
11483    @java.lang.Override
11484    protected Builder newBuilderForType(
11485        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
11486      Builder builder = new Builder(parent);
11487      return builder;
11488    }
11489    /**
11490     * Protobuf type {@code sonarqube.ws.permissions.PermissionTemplate}
11491     */
11492    public static final class Builder extends
11493        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
11494        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.PermissionTemplate)
11495        org.sonarqube.ws.WsPermissions.PermissionTemplateOrBuilder {
11496      public static final com.google.protobuf.Descriptors.Descriptor
11497          getDescriptor() {
11498        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_PermissionTemplate_descriptor;
11499      }
11500
11501      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
11502          internalGetFieldAccessorTable() {
11503        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_PermissionTemplate_fieldAccessorTable
11504            .ensureFieldAccessorsInitialized(
11505                org.sonarqube.ws.WsPermissions.PermissionTemplate.class, org.sonarqube.ws.WsPermissions.PermissionTemplate.Builder.class);
11506      }
11507
11508      // Construct using org.sonarqube.ws.WsPermissions.PermissionTemplate.newBuilder()
11509      private Builder() {
11510        maybeForceBuilderInitialization();
11511      }
11512
11513      private Builder(
11514          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
11515        super(parent);
11516        maybeForceBuilderInitialization();
11517      }
11518      private void maybeForceBuilderInitialization() {
11519        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
11520          getPermissionsFieldBuilder();
11521        }
11522      }
11523      public Builder clear() {
11524        super.clear();
11525        id_ = "";
11526        bitField0_ = (bitField0_ & ~0x00000001);
11527        name_ = "";
11528        bitField0_ = (bitField0_ & ~0x00000002);
11529        description_ = "";
11530        bitField0_ = (bitField0_ & ~0x00000004);
11531        projectKeyPattern_ = "";
11532        bitField0_ = (bitField0_ & ~0x00000008);
11533        createdAt_ = "";
11534        bitField0_ = (bitField0_ & ~0x00000010);
11535        updatedAt_ = "";
11536        bitField0_ = (bitField0_ & ~0x00000020);
11537        if (permissionsBuilder_ == null) {
11538          permissions_ = java.util.Collections.emptyList();
11539          bitField0_ = (bitField0_ & ~0x00000040);
11540        } else {
11541          permissionsBuilder_.clear();
11542        }
11543        return this;
11544      }
11545
11546      public com.google.protobuf.Descriptors.Descriptor
11547          getDescriptorForType() {
11548        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_PermissionTemplate_descriptor;
11549      }
11550
11551      public org.sonarqube.ws.WsPermissions.PermissionTemplate getDefaultInstanceForType() {
11552        return org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance();
11553      }
11554
11555      public org.sonarqube.ws.WsPermissions.PermissionTemplate build() {
11556        org.sonarqube.ws.WsPermissions.PermissionTemplate result = buildPartial();
11557        if (!result.isInitialized()) {
11558          throw newUninitializedMessageException(result);
11559        }
11560        return result;
11561      }
11562
11563      public org.sonarqube.ws.WsPermissions.PermissionTemplate buildPartial() {
11564        org.sonarqube.ws.WsPermissions.PermissionTemplate result = new org.sonarqube.ws.WsPermissions.PermissionTemplate(this);
11565        int from_bitField0_ = bitField0_;
11566        int to_bitField0_ = 0;
11567        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11568          to_bitField0_ |= 0x00000001;
11569        }
11570        result.id_ = id_;
11571        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11572          to_bitField0_ |= 0x00000002;
11573        }
11574        result.name_ = name_;
11575        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
11576          to_bitField0_ |= 0x00000004;
11577        }
11578        result.description_ = description_;
11579        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
11580          to_bitField0_ |= 0x00000008;
11581        }
11582        result.projectKeyPattern_ = projectKeyPattern_;
11583        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
11584          to_bitField0_ |= 0x00000010;
11585        }
11586        result.createdAt_ = createdAt_;
11587        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
11588          to_bitField0_ |= 0x00000020;
11589        }
11590        result.updatedAt_ = updatedAt_;
11591        if (permissionsBuilder_ == null) {
11592          if (((bitField0_ & 0x00000040) == 0x00000040)) {
11593            permissions_ = java.util.Collections.unmodifiableList(permissions_);
11594            bitField0_ = (bitField0_ & ~0x00000040);
11595          }
11596          result.permissions_ = permissions_;
11597        } else {
11598          result.permissions_ = permissionsBuilder_.build();
11599        }
11600        result.bitField0_ = to_bitField0_;
11601        onBuilt();
11602        return result;
11603      }
11604
11605      public Builder mergeFrom(com.google.protobuf.Message other) {
11606        if (other instanceof org.sonarqube.ws.WsPermissions.PermissionTemplate) {
11607          return mergeFrom((org.sonarqube.ws.WsPermissions.PermissionTemplate)other);
11608        } else {
11609          super.mergeFrom(other);
11610          return this;
11611        }
11612      }
11613
11614      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.PermissionTemplate other) {
11615        if (other == org.sonarqube.ws.WsPermissions.PermissionTemplate.getDefaultInstance()) return this;
11616        if (other.hasId()) {
11617          bitField0_ |= 0x00000001;
11618          id_ = other.id_;
11619          onChanged();
11620        }
11621        if (other.hasName()) {
11622          bitField0_ |= 0x00000002;
11623          name_ = other.name_;
11624          onChanged();
11625        }
11626        if (other.hasDescription()) {
11627          bitField0_ |= 0x00000004;
11628          description_ = other.description_;
11629          onChanged();
11630        }
11631        if (other.hasProjectKeyPattern()) {
11632          bitField0_ |= 0x00000008;
11633          projectKeyPattern_ = other.projectKeyPattern_;
11634          onChanged();
11635        }
11636        if (other.hasCreatedAt()) {
11637          bitField0_ |= 0x00000010;
11638          createdAt_ = other.createdAt_;
11639          onChanged();
11640        }
11641        if (other.hasUpdatedAt()) {
11642          bitField0_ |= 0x00000020;
11643          updatedAt_ = other.updatedAt_;
11644          onChanged();
11645        }
11646        if (permissionsBuilder_ == null) {
11647          if (!other.permissions_.isEmpty()) {
11648            if (permissions_.isEmpty()) {
11649              permissions_ = other.permissions_;
11650              bitField0_ = (bitField0_ & ~0x00000040);
11651            } else {
11652              ensurePermissionsIsMutable();
11653              permissions_.addAll(other.permissions_);
11654            }
11655            onChanged();
11656          }
11657        } else {
11658          if (!other.permissions_.isEmpty()) {
11659            if (permissionsBuilder_.isEmpty()) {
11660              permissionsBuilder_.dispose();
11661              permissionsBuilder_ = null;
11662              permissions_ = other.permissions_;
11663              bitField0_ = (bitField0_ & ~0x00000040);
11664              permissionsBuilder_ = 
11665                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
11666                   getPermissionsFieldBuilder() : null;
11667            } else {
11668              permissionsBuilder_.addAllMessages(other.permissions_);
11669            }
11670          }
11671        }
11672        this.mergeUnknownFields(other.unknownFields);
11673        onChanged();
11674        return this;
11675      }
11676
11677      public final boolean isInitialized() {
11678        return true;
11679      }
11680
11681      public Builder mergeFrom(
11682          com.google.protobuf.CodedInputStream input,
11683          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11684          throws java.io.IOException {
11685        org.sonarqube.ws.WsPermissions.PermissionTemplate parsedMessage = null;
11686        try {
11687          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11688        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11689          parsedMessage = (org.sonarqube.ws.WsPermissions.PermissionTemplate) e.getUnfinishedMessage();
11690          throw e;
11691        } finally {
11692          if (parsedMessage != null) {
11693            mergeFrom(parsedMessage);
11694          }
11695        }
11696        return this;
11697      }
11698      private int bitField0_;
11699
11700      private java.lang.Object id_ = "";
11701      /**
11702       * <code>optional string id = 1;</code>
11703       */
11704      public boolean hasId() {
11705        return ((bitField0_ & 0x00000001) == 0x00000001);
11706      }
11707      /**
11708       * <code>optional string id = 1;</code>
11709       */
11710      public java.lang.String getId() {
11711        java.lang.Object ref = id_;
11712        if (!(ref instanceof java.lang.String)) {
11713          com.google.protobuf.ByteString bs =
11714              (com.google.protobuf.ByteString) ref;
11715          java.lang.String s = bs.toStringUtf8();
11716          if (bs.isValidUtf8()) {
11717            id_ = s;
11718          }
11719          return s;
11720        } else {
11721          return (java.lang.String) ref;
11722        }
11723      }
11724      /**
11725       * <code>optional string id = 1;</code>
11726       */
11727      public com.google.protobuf.ByteString
11728          getIdBytes() {
11729        java.lang.Object ref = id_;
11730        if (ref instanceof String) {
11731          com.google.protobuf.ByteString b = 
11732              com.google.protobuf.ByteString.copyFromUtf8(
11733                  (java.lang.String) ref);
11734          id_ = b;
11735          return b;
11736        } else {
11737          return (com.google.protobuf.ByteString) ref;
11738        }
11739      }
11740      /**
11741       * <code>optional string id = 1;</code>
11742       */
11743      public Builder setId(
11744          java.lang.String value) {
11745        if (value == null) {
11746    throw new NullPointerException();
11747  }
11748  bitField0_ |= 0x00000001;
11749        id_ = value;
11750        onChanged();
11751        return this;
11752      }
11753      /**
11754       * <code>optional string id = 1;</code>
11755       */
11756      public Builder clearId() {
11757        bitField0_ = (bitField0_ & ~0x00000001);
11758        id_ = getDefaultInstance().getId();
11759        onChanged();
11760        return this;
11761      }
11762      /**
11763       * <code>optional string id = 1;</code>
11764       */
11765      public Builder setIdBytes(
11766          com.google.protobuf.ByteString value) {
11767        if (value == null) {
11768    throw new NullPointerException();
11769  }
11770  bitField0_ |= 0x00000001;
11771        id_ = value;
11772        onChanged();
11773        return this;
11774      }
11775
11776      private java.lang.Object name_ = "";
11777      /**
11778       * <code>optional string name = 2;</code>
11779       */
11780      public boolean hasName() {
11781        return ((bitField0_ & 0x00000002) == 0x00000002);
11782      }
11783      /**
11784       * <code>optional string name = 2;</code>
11785       */
11786      public java.lang.String getName() {
11787        java.lang.Object ref = name_;
11788        if (!(ref instanceof java.lang.String)) {
11789          com.google.protobuf.ByteString bs =
11790              (com.google.protobuf.ByteString) ref;
11791          java.lang.String s = bs.toStringUtf8();
11792          if (bs.isValidUtf8()) {
11793            name_ = s;
11794          }
11795          return s;
11796        } else {
11797          return (java.lang.String) ref;
11798        }
11799      }
11800      /**
11801       * <code>optional string name = 2;</code>
11802       */
11803      public com.google.protobuf.ByteString
11804          getNameBytes() {
11805        java.lang.Object ref = name_;
11806        if (ref instanceof String) {
11807          com.google.protobuf.ByteString b = 
11808              com.google.protobuf.ByteString.copyFromUtf8(
11809                  (java.lang.String) ref);
11810          name_ = b;
11811          return b;
11812        } else {
11813          return (com.google.protobuf.ByteString) ref;
11814        }
11815      }
11816      /**
11817       * <code>optional string name = 2;</code>
11818       */
11819      public Builder setName(
11820          java.lang.String value) {
11821        if (value == null) {
11822    throw new NullPointerException();
11823  }
11824  bitField0_ |= 0x00000002;
11825        name_ = value;
11826        onChanged();
11827        return this;
11828      }
11829      /**
11830       * <code>optional string name = 2;</code>
11831       */
11832      public Builder clearName() {
11833        bitField0_ = (bitField0_ & ~0x00000002);
11834        name_ = getDefaultInstance().getName();
11835        onChanged();
11836        return this;
11837      }
11838      /**
11839       * <code>optional string name = 2;</code>
11840       */
11841      public Builder setNameBytes(
11842          com.google.protobuf.ByteString value) {
11843        if (value == null) {
11844    throw new NullPointerException();
11845  }
11846  bitField0_ |= 0x00000002;
11847        name_ = value;
11848        onChanged();
11849        return this;
11850      }
11851
11852      private java.lang.Object description_ = "";
11853      /**
11854       * <code>optional string description = 3;</code>
11855       */
11856      public boolean hasDescription() {
11857        return ((bitField0_ & 0x00000004) == 0x00000004);
11858      }
11859      /**
11860       * <code>optional string description = 3;</code>
11861       */
11862      public java.lang.String getDescription() {
11863        java.lang.Object ref = description_;
11864        if (!(ref instanceof java.lang.String)) {
11865          com.google.protobuf.ByteString bs =
11866              (com.google.protobuf.ByteString) ref;
11867          java.lang.String s = bs.toStringUtf8();
11868          if (bs.isValidUtf8()) {
11869            description_ = s;
11870          }
11871          return s;
11872        } else {
11873          return (java.lang.String) ref;
11874        }
11875      }
11876      /**
11877       * <code>optional string description = 3;</code>
11878       */
11879      public com.google.protobuf.ByteString
11880          getDescriptionBytes() {
11881        java.lang.Object ref = description_;
11882        if (ref instanceof String) {
11883          com.google.protobuf.ByteString b = 
11884              com.google.protobuf.ByteString.copyFromUtf8(
11885                  (java.lang.String) ref);
11886          description_ = b;
11887          return b;
11888        } else {
11889          return (com.google.protobuf.ByteString) ref;
11890        }
11891      }
11892      /**
11893       * <code>optional string description = 3;</code>
11894       */
11895      public Builder setDescription(
11896          java.lang.String value) {
11897        if (value == null) {
11898    throw new NullPointerException();
11899  }
11900  bitField0_ |= 0x00000004;
11901        description_ = value;
11902        onChanged();
11903        return this;
11904      }
11905      /**
11906       * <code>optional string description = 3;</code>
11907       */
11908      public Builder clearDescription() {
11909        bitField0_ = (bitField0_ & ~0x00000004);
11910        description_ = getDefaultInstance().getDescription();
11911        onChanged();
11912        return this;
11913      }
11914      /**
11915       * <code>optional string description = 3;</code>
11916       */
11917      public Builder setDescriptionBytes(
11918          com.google.protobuf.ByteString value) {
11919        if (value == null) {
11920    throw new NullPointerException();
11921  }
11922  bitField0_ |= 0x00000004;
11923        description_ = value;
11924        onChanged();
11925        return this;
11926      }
11927
11928      private java.lang.Object projectKeyPattern_ = "";
11929      /**
11930       * <code>optional string projectKeyPattern = 4;</code>
11931       */
11932      public boolean hasProjectKeyPattern() {
11933        return ((bitField0_ & 0x00000008) == 0x00000008);
11934      }
11935      /**
11936       * <code>optional string projectKeyPattern = 4;</code>
11937       */
11938      public java.lang.String getProjectKeyPattern() {
11939        java.lang.Object ref = projectKeyPattern_;
11940        if (!(ref instanceof java.lang.String)) {
11941          com.google.protobuf.ByteString bs =
11942              (com.google.protobuf.ByteString) ref;
11943          java.lang.String s = bs.toStringUtf8();
11944          if (bs.isValidUtf8()) {
11945            projectKeyPattern_ = s;
11946          }
11947          return s;
11948        } else {
11949          return (java.lang.String) ref;
11950        }
11951      }
11952      /**
11953       * <code>optional string projectKeyPattern = 4;</code>
11954       */
11955      public com.google.protobuf.ByteString
11956          getProjectKeyPatternBytes() {
11957        java.lang.Object ref = projectKeyPattern_;
11958        if (ref instanceof String) {
11959          com.google.protobuf.ByteString b = 
11960              com.google.protobuf.ByteString.copyFromUtf8(
11961                  (java.lang.String) ref);
11962          projectKeyPattern_ = b;
11963          return b;
11964        } else {
11965          return (com.google.protobuf.ByteString) ref;
11966        }
11967      }
11968      /**
11969       * <code>optional string projectKeyPattern = 4;</code>
11970       */
11971      public Builder setProjectKeyPattern(
11972          java.lang.String value) {
11973        if (value == null) {
11974    throw new NullPointerException();
11975  }
11976  bitField0_ |= 0x00000008;
11977        projectKeyPattern_ = value;
11978        onChanged();
11979        return this;
11980      }
11981      /**
11982       * <code>optional string projectKeyPattern = 4;</code>
11983       */
11984      public Builder clearProjectKeyPattern() {
11985        bitField0_ = (bitField0_ & ~0x00000008);
11986        projectKeyPattern_ = getDefaultInstance().getProjectKeyPattern();
11987        onChanged();
11988        return this;
11989      }
11990      /**
11991       * <code>optional string projectKeyPattern = 4;</code>
11992       */
11993      public Builder setProjectKeyPatternBytes(
11994          com.google.protobuf.ByteString value) {
11995        if (value == null) {
11996    throw new NullPointerException();
11997  }
11998  bitField0_ |= 0x00000008;
11999        projectKeyPattern_ = value;
12000        onChanged();
12001        return this;
12002      }
12003
12004      private java.lang.Object createdAt_ = "";
12005      /**
12006       * <code>optional string createdAt = 5;</code>
12007       *
12008       * <pre>
12009       * ex: 2015-08-25T16:18:48+0200
12010       * </pre>
12011       */
12012      public boolean hasCreatedAt() {
12013        return ((bitField0_ & 0x00000010) == 0x00000010);
12014      }
12015      /**
12016       * <code>optional string createdAt = 5;</code>
12017       *
12018       * <pre>
12019       * ex: 2015-08-25T16:18:48+0200
12020       * </pre>
12021       */
12022      public java.lang.String getCreatedAt() {
12023        java.lang.Object ref = createdAt_;
12024        if (!(ref instanceof java.lang.String)) {
12025          com.google.protobuf.ByteString bs =
12026              (com.google.protobuf.ByteString) ref;
12027          java.lang.String s = bs.toStringUtf8();
12028          if (bs.isValidUtf8()) {
12029            createdAt_ = s;
12030          }
12031          return s;
12032        } else {
12033          return (java.lang.String) ref;
12034        }
12035      }
12036      /**
12037       * <code>optional string createdAt = 5;</code>
12038       *
12039       * <pre>
12040       * ex: 2015-08-25T16:18:48+0200
12041       * </pre>
12042       */
12043      public com.google.protobuf.ByteString
12044          getCreatedAtBytes() {
12045        java.lang.Object ref = createdAt_;
12046        if (ref instanceof String) {
12047          com.google.protobuf.ByteString b = 
12048              com.google.protobuf.ByteString.copyFromUtf8(
12049                  (java.lang.String) ref);
12050          createdAt_ = b;
12051          return b;
12052        } else {
12053          return (com.google.protobuf.ByteString) ref;
12054        }
12055      }
12056      /**
12057       * <code>optional string createdAt = 5;</code>
12058       *
12059       * <pre>
12060       * ex: 2015-08-25T16:18:48+0200
12061       * </pre>
12062       */
12063      public Builder setCreatedAt(
12064          java.lang.String value) {
12065        if (value == null) {
12066    throw new NullPointerException();
12067  }
12068  bitField0_ |= 0x00000010;
12069        createdAt_ = value;
12070        onChanged();
12071        return this;
12072      }
12073      /**
12074       * <code>optional string createdAt = 5;</code>
12075       *
12076       * <pre>
12077       * ex: 2015-08-25T16:18:48+0200
12078       * </pre>
12079       */
12080      public Builder clearCreatedAt() {
12081        bitField0_ = (bitField0_ & ~0x00000010);
12082        createdAt_ = getDefaultInstance().getCreatedAt();
12083        onChanged();
12084        return this;
12085      }
12086      /**
12087       * <code>optional string createdAt = 5;</code>
12088       *
12089       * <pre>
12090       * ex: 2015-08-25T16:18:48+0200
12091       * </pre>
12092       */
12093      public Builder setCreatedAtBytes(
12094          com.google.protobuf.ByteString value) {
12095        if (value == null) {
12096    throw new NullPointerException();
12097  }
12098  bitField0_ |= 0x00000010;
12099        createdAt_ = value;
12100        onChanged();
12101        return this;
12102      }
12103
12104      private java.lang.Object updatedAt_ = "";
12105      /**
12106       * <code>optional string updatedAt = 6;</code>
12107       *
12108       * <pre>
12109       * ex: 2015-08-25T16:18:48+0200
12110       * </pre>
12111       */
12112      public boolean hasUpdatedAt() {
12113        return ((bitField0_ & 0x00000020) == 0x00000020);
12114      }
12115      /**
12116       * <code>optional string updatedAt = 6;</code>
12117       *
12118       * <pre>
12119       * ex: 2015-08-25T16:18:48+0200
12120       * </pre>
12121       */
12122      public java.lang.String getUpdatedAt() {
12123        java.lang.Object ref = updatedAt_;
12124        if (!(ref instanceof java.lang.String)) {
12125          com.google.protobuf.ByteString bs =
12126              (com.google.protobuf.ByteString) ref;
12127          java.lang.String s = bs.toStringUtf8();
12128          if (bs.isValidUtf8()) {
12129            updatedAt_ = s;
12130          }
12131          return s;
12132        } else {
12133          return (java.lang.String) ref;
12134        }
12135      }
12136      /**
12137       * <code>optional string updatedAt = 6;</code>
12138       *
12139       * <pre>
12140       * ex: 2015-08-25T16:18:48+0200
12141       * </pre>
12142       */
12143      public com.google.protobuf.ByteString
12144          getUpdatedAtBytes() {
12145        java.lang.Object ref = updatedAt_;
12146        if (ref instanceof String) {
12147          com.google.protobuf.ByteString b = 
12148              com.google.protobuf.ByteString.copyFromUtf8(
12149                  (java.lang.String) ref);
12150          updatedAt_ = b;
12151          return b;
12152        } else {
12153          return (com.google.protobuf.ByteString) ref;
12154        }
12155      }
12156      /**
12157       * <code>optional string updatedAt = 6;</code>
12158       *
12159       * <pre>
12160       * ex: 2015-08-25T16:18:48+0200
12161       * </pre>
12162       */
12163      public Builder setUpdatedAt(
12164          java.lang.String value) {
12165        if (value == null) {
12166    throw new NullPointerException();
12167  }
12168  bitField0_ |= 0x00000020;
12169        updatedAt_ = value;
12170        onChanged();
12171        return this;
12172      }
12173      /**
12174       * <code>optional string updatedAt = 6;</code>
12175       *
12176       * <pre>
12177       * ex: 2015-08-25T16:18:48+0200
12178       * </pre>
12179       */
12180      public Builder clearUpdatedAt() {
12181        bitField0_ = (bitField0_ & ~0x00000020);
12182        updatedAt_ = getDefaultInstance().getUpdatedAt();
12183        onChanged();
12184        return this;
12185      }
12186      /**
12187       * <code>optional string updatedAt = 6;</code>
12188       *
12189       * <pre>
12190       * ex: 2015-08-25T16:18:48+0200
12191       * </pre>
12192       */
12193      public Builder setUpdatedAtBytes(
12194          com.google.protobuf.ByteString value) {
12195        if (value == null) {
12196    throw new NullPointerException();
12197  }
12198  bitField0_ |= 0x00000020;
12199        updatedAt_ = value;
12200        onChanged();
12201        return this;
12202      }
12203
12204      private java.util.List<org.sonarqube.ws.WsPermissions.Permission> permissions_ =
12205        java.util.Collections.emptyList();
12206      private void ensurePermissionsIsMutable() {
12207        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
12208          permissions_ = new java.util.ArrayList<org.sonarqube.ws.WsPermissions.Permission>(permissions_);
12209          bitField0_ |= 0x00000040;
12210         }
12211      }
12212
12213      private com.google.protobuf.RepeatedFieldBuilder<
12214          org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> permissionsBuilder_;
12215
12216      /**
12217       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12218       */
12219      public java.util.List<org.sonarqube.ws.WsPermissions.Permission> getPermissionsList() {
12220        if (permissionsBuilder_ == null) {
12221          return java.util.Collections.unmodifiableList(permissions_);
12222        } else {
12223          return permissionsBuilder_.getMessageList();
12224        }
12225      }
12226      /**
12227       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12228       */
12229      public int getPermissionsCount() {
12230        if (permissionsBuilder_ == null) {
12231          return permissions_.size();
12232        } else {
12233          return permissionsBuilder_.getCount();
12234        }
12235      }
12236      /**
12237       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12238       */
12239      public org.sonarqube.ws.WsPermissions.Permission getPermissions(int index) {
12240        if (permissionsBuilder_ == null) {
12241          return permissions_.get(index);
12242        } else {
12243          return permissionsBuilder_.getMessage(index);
12244        }
12245      }
12246      /**
12247       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12248       */
12249      public Builder setPermissions(
12250          int index, org.sonarqube.ws.WsPermissions.Permission value) {
12251        if (permissionsBuilder_ == null) {
12252          if (value == null) {
12253            throw new NullPointerException();
12254          }
12255          ensurePermissionsIsMutable();
12256          permissions_.set(index, value);
12257          onChanged();
12258        } else {
12259          permissionsBuilder_.setMessage(index, value);
12260        }
12261        return this;
12262      }
12263      /**
12264       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12265       */
12266      public Builder setPermissions(
12267          int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
12268        if (permissionsBuilder_ == null) {
12269          ensurePermissionsIsMutable();
12270          permissions_.set(index, builderForValue.build());
12271          onChanged();
12272        } else {
12273          permissionsBuilder_.setMessage(index, builderForValue.build());
12274        }
12275        return this;
12276      }
12277      /**
12278       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12279       */
12280      public Builder addPermissions(org.sonarqube.ws.WsPermissions.Permission value) {
12281        if (permissionsBuilder_ == null) {
12282          if (value == null) {
12283            throw new NullPointerException();
12284          }
12285          ensurePermissionsIsMutable();
12286          permissions_.add(value);
12287          onChanged();
12288        } else {
12289          permissionsBuilder_.addMessage(value);
12290        }
12291        return this;
12292      }
12293      /**
12294       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12295       */
12296      public Builder addPermissions(
12297          int index, org.sonarqube.ws.WsPermissions.Permission value) {
12298        if (permissionsBuilder_ == null) {
12299          if (value == null) {
12300            throw new NullPointerException();
12301          }
12302          ensurePermissionsIsMutable();
12303          permissions_.add(index, value);
12304          onChanged();
12305        } else {
12306          permissionsBuilder_.addMessage(index, value);
12307        }
12308        return this;
12309      }
12310      /**
12311       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12312       */
12313      public Builder addPermissions(
12314          org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
12315        if (permissionsBuilder_ == null) {
12316          ensurePermissionsIsMutable();
12317          permissions_.add(builderForValue.build());
12318          onChanged();
12319        } else {
12320          permissionsBuilder_.addMessage(builderForValue.build());
12321        }
12322        return this;
12323      }
12324      /**
12325       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12326       */
12327      public Builder addPermissions(
12328          int index, org.sonarqube.ws.WsPermissions.Permission.Builder builderForValue) {
12329        if (permissionsBuilder_ == null) {
12330          ensurePermissionsIsMutable();
12331          permissions_.add(index, builderForValue.build());
12332          onChanged();
12333        } else {
12334          permissionsBuilder_.addMessage(index, builderForValue.build());
12335        }
12336        return this;
12337      }
12338      /**
12339       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12340       */
12341      public Builder addAllPermissions(
12342          java.lang.Iterable<? extends org.sonarqube.ws.WsPermissions.Permission> values) {
12343        if (permissionsBuilder_ == null) {
12344          ensurePermissionsIsMutable();
12345          com.google.protobuf.AbstractMessageLite.Builder.addAll(
12346              values, permissions_);
12347          onChanged();
12348        } else {
12349          permissionsBuilder_.addAllMessages(values);
12350        }
12351        return this;
12352      }
12353      /**
12354       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12355       */
12356      public Builder clearPermissions() {
12357        if (permissionsBuilder_ == null) {
12358          permissions_ = java.util.Collections.emptyList();
12359          bitField0_ = (bitField0_ & ~0x00000040);
12360          onChanged();
12361        } else {
12362          permissionsBuilder_.clear();
12363        }
12364        return this;
12365      }
12366      /**
12367       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12368       */
12369      public Builder removePermissions(int index) {
12370        if (permissionsBuilder_ == null) {
12371          ensurePermissionsIsMutable();
12372          permissions_.remove(index);
12373          onChanged();
12374        } else {
12375          permissionsBuilder_.remove(index);
12376        }
12377        return this;
12378      }
12379      /**
12380       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12381       */
12382      public org.sonarqube.ws.WsPermissions.Permission.Builder getPermissionsBuilder(
12383          int index) {
12384        return getPermissionsFieldBuilder().getBuilder(index);
12385      }
12386      /**
12387       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12388       */
12389      public org.sonarqube.ws.WsPermissions.PermissionOrBuilder getPermissionsOrBuilder(
12390          int index) {
12391        if (permissionsBuilder_ == null) {
12392          return permissions_.get(index);  } else {
12393          return permissionsBuilder_.getMessageOrBuilder(index);
12394        }
12395      }
12396      /**
12397       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12398       */
12399      public java.util.List<? extends org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
12400           getPermissionsOrBuilderList() {
12401        if (permissionsBuilder_ != null) {
12402          return permissionsBuilder_.getMessageOrBuilderList();
12403        } else {
12404          return java.util.Collections.unmodifiableList(permissions_);
12405        }
12406      }
12407      /**
12408       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12409       */
12410      public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder() {
12411        return getPermissionsFieldBuilder().addBuilder(
12412            org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
12413      }
12414      /**
12415       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12416       */
12417      public org.sonarqube.ws.WsPermissions.Permission.Builder addPermissionsBuilder(
12418          int index) {
12419        return getPermissionsFieldBuilder().addBuilder(
12420            index, org.sonarqube.ws.WsPermissions.Permission.getDefaultInstance());
12421      }
12422      /**
12423       * <code>repeated .sonarqube.ws.permissions.Permission permissions = 7;</code>
12424       */
12425      public java.util.List<org.sonarqube.ws.WsPermissions.Permission.Builder> 
12426           getPermissionsBuilderList() {
12427        return getPermissionsFieldBuilder().getBuilderList();
12428      }
12429      private com.google.protobuf.RepeatedFieldBuilder<
12430          org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder> 
12431          getPermissionsFieldBuilder() {
12432        if (permissionsBuilder_ == null) {
12433          permissionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
12434              org.sonarqube.ws.WsPermissions.Permission, org.sonarqube.ws.WsPermissions.Permission.Builder, org.sonarqube.ws.WsPermissions.PermissionOrBuilder>(
12435                  permissions_,
12436                  ((bitField0_ & 0x00000040) == 0x00000040),
12437                  getParentForChildren(),
12438                  isClean());
12439          permissions_ = null;
12440        }
12441        return permissionsBuilder_;
12442      }
12443
12444      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.PermissionTemplate)
12445    }
12446
12447    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.PermissionTemplate)
12448    private static final org.sonarqube.ws.WsPermissions.PermissionTemplate DEFAULT_INSTANCE;
12449    static {
12450      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.PermissionTemplate();
12451    }
12452
12453    public static org.sonarqube.ws.WsPermissions.PermissionTemplate getDefaultInstance() {
12454      return DEFAULT_INSTANCE;
12455    }
12456
12457    @java.lang.Deprecated public static final com.google.protobuf.Parser<PermissionTemplate>
12458        PARSER = new com.google.protobuf.AbstractParser<PermissionTemplate>() {
12459      public PermissionTemplate parsePartialFrom(
12460          com.google.protobuf.CodedInputStream input,
12461          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12462          throws com.google.protobuf.InvalidProtocolBufferException {
12463        try {
12464          return new PermissionTemplate(input, extensionRegistry);
12465        } catch (RuntimeException e) {
12466          if (e.getCause() instanceof
12467              com.google.protobuf.InvalidProtocolBufferException) {
12468            throw (com.google.protobuf.InvalidProtocolBufferException)
12469                e.getCause();
12470          }
12471          throw e;
12472        }
12473      }
12474    };
12475
12476    public static com.google.protobuf.Parser<PermissionTemplate> parser() {
12477      return PARSER;
12478    }
12479
12480    @java.lang.Override
12481    public com.google.protobuf.Parser<PermissionTemplate> getParserForType() {
12482      return PARSER;
12483    }
12484
12485    public org.sonarqube.ws.WsPermissions.PermissionTemplate getDefaultInstanceForType() {
12486      return DEFAULT_INSTANCE;
12487    }
12488
12489  }
12490
12491  public interface OldUserOrBuilder extends
12492      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.OldUser)
12493      com.google.protobuf.MessageOrBuilder {
12494
12495    /**
12496     * <code>optional string login = 1;</code>
12497     */
12498    boolean hasLogin();
12499    /**
12500     * <code>optional string login = 1;</code>
12501     */
12502    java.lang.String getLogin();
12503    /**
12504     * <code>optional string login = 1;</code>
12505     */
12506    com.google.protobuf.ByteString
12507        getLoginBytes();
12508
12509    /**
12510     * <code>optional string name = 2;</code>
12511     */
12512    boolean hasName();
12513    /**
12514     * <code>optional string name = 2;</code>
12515     */
12516    java.lang.String getName();
12517    /**
12518     * <code>optional string name = 2;</code>
12519     */
12520    com.google.protobuf.ByteString
12521        getNameBytes();
12522
12523    /**
12524     * <code>optional string email = 3;</code>
12525     */
12526    boolean hasEmail();
12527    /**
12528     * <code>optional string email = 3;</code>
12529     */
12530    java.lang.String getEmail();
12531    /**
12532     * <code>optional string email = 3;</code>
12533     */
12534    com.google.protobuf.ByteString
12535        getEmailBytes();
12536
12537    /**
12538     * <code>optional bool selected = 4;</code>
12539     */
12540    boolean hasSelected();
12541    /**
12542     * <code>optional bool selected = 4;</code>
12543     */
12544    boolean getSelected();
12545  }
12546  /**
12547   * Protobuf type {@code sonarqube.ws.permissions.OldUser}
12548   */
12549  public  static final class OldUser extends
12550      com.google.protobuf.GeneratedMessage implements
12551      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.OldUser)
12552      OldUserOrBuilder {
12553    // Use OldUser.newBuilder() to construct.
12554    private OldUser(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
12555      super(builder);
12556    }
12557    private OldUser() {
12558      login_ = "";
12559      name_ = "";
12560      email_ = "";
12561      selected_ = false;
12562    }
12563
12564    @java.lang.Override
12565    public final com.google.protobuf.UnknownFieldSet
12566    getUnknownFields() {
12567      return this.unknownFields;
12568    }
12569    private OldUser(
12570        com.google.protobuf.CodedInputStream input,
12571        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
12572      this();
12573      int mutable_bitField0_ = 0;
12574      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
12575          com.google.protobuf.UnknownFieldSet.newBuilder();
12576      try {
12577        boolean done = false;
12578        while (!done) {
12579          int tag = input.readTag();
12580          switch (tag) {
12581            case 0:
12582              done = true;
12583              break;
12584            default: {
12585              if (!parseUnknownField(input, unknownFields,
12586                                     extensionRegistry, tag)) {
12587                done = true;
12588              }
12589              break;
12590            }
12591            case 10: {
12592              com.google.protobuf.ByteString bs = input.readBytes();
12593              bitField0_ |= 0x00000001;
12594              login_ = bs;
12595              break;
12596            }
12597            case 18: {
12598              com.google.protobuf.ByteString bs = input.readBytes();
12599              bitField0_ |= 0x00000002;
12600              name_ = bs;
12601              break;
12602            }
12603            case 26: {
12604              com.google.protobuf.ByteString bs = input.readBytes();
12605              bitField0_ |= 0x00000004;
12606              email_ = bs;
12607              break;
12608            }
12609            case 32: {
12610              bitField0_ |= 0x00000008;
12611              selected_ = input.readBool();
12612              break;
12613            }
12614          }
12615        }
12616      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12617        throw new RuntimeException(e.setUnfinishedMessage(this));
12618      } catch (java.io.IOException e) {
12619        throw new RuntimeException(
12620            new com.google.protobuf.InvalidProtocolBufferException(
12621                e.getMessage()).setUnfinishedMessage(this));
12622      } finally {
12623        this.unknownFields = unknownFields.build();
12624        makeExtensionsImmutable();
12625      }
12626    }
12627    public static final com.google.protobuf.Descriptors.Descriptor
12628        getDescriptor() {
12629      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUser_descriptor;
12630    }
12631
12632    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
12633        internalGetFieldAccessorTable() {
12634      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUser_fieldAccessorTable
12635          .ensureFieldAccessorsInitialized(
12636              org.sonarqube.ws.WsPermissions.OldUser.class, org.sonarqube.ws.WsPermissions.OldUser.Builder.class);
12637    }
12638
12639    private int bitField0_;
12640    public static final int LOGIN_FIELD_NUMBER = 1;
12641    private volatile java.lang.Object login_;
12642    /**
12643     * <code>optional string login = 1;</code>
12644     */
12645    public boolean hasLogin() {
12646      return ((bitField0_ & 0x00000001) == 0x00000001);
12647    }
12648    /**
12649     * <code>optional string login = 1;</code>
12650     */
12651    public java.lang.String getLogin() {
12652      java.lang.Object ref = login_;
12653      if (ref instanceof java.lang.String) {
12654        return (java.lang.String) ref;
12655      } else {
12656        com.google.protobuf.ByteString bs = 
12657            (com.google.protobuf.ByteString) ref;
12658        java.lang.String s = bs.toStringUtf8();
12659        if (bs.isValidUtf8()) {
12660          login_ = s;
12661        }
12662        return s;
12663      }
12664    }
12665    /**
12666     * <code>optional string login = 1;</code>
12667     */
12668    public com.google.protobuf.ByteString
12669        getLoginBytes() {
12670      java.lang.Object ref = login_;
12671      if (ref instanceof java.lang.String) {
12672        com.google.protobuf.ByteString b = 
12673            com.google.protobuf.ByteString.copyFromUtf8(
12674                (java.lang.String) ref);
12675        login_ = b;
12676        return b;
12677      } else {
12678        return (com.google.protobuf.ByteString) ref;
12679      }
12680    }
12681
12682    public static final int NAME_FIELD_NUMBER = 2;
12683    private volatile java.lang.Object name_;
12684    /**
12685     * <code>optional string name = 2;</code>
12686     */
12687    public boolean hasName() {
12688      return ((bitField0_ & 0x00000002) == 0x00000002);
12689    }
12690    /**
12691     * <code>optional string name = 2;</code>
12692     */
12693    public java.lang.String getName() {
12694      java.lang.Object ref = name_;
12695      if (ref instanceof java.lang.String) {
12696        return (java.lang.String) ref;
12697      } else {
12698        com.google.protobuf.ByteString bs = 
12699            (com.google.protobuf.ByteString) ref;
12700        java.lang.String s = bs.toStringUtf8();
12701        if (bs.isValidUtf8()) {
12702          name_ = s;
12703        }
12704        return s;
12705      }
12706    }
12707    /**
12708     * <code>optional string name = 2;</code>
12709     */
12710    public com.google.protobuf.ByteString
12711        getNameBytes() {
12712      java.lang.Object ref = name_;
12713      if (ref instanceof java.lang.String) {
12714        com.google.protobuf.ByteString b = 
12715            com.google.protobuf.ByteString.copyFromUtf8(
12716                (java.lang.String) ref);
12717        name_ = b;
12718        return b;
12719      } else {
12720        return (com.google.protobuf.ByteString) ref;
12721      }
12722    }
12723
12724    public static final int EMAIL_FIELD_NUMBER = 3;
12725    private volatile java.lang.Object email_;
12726    /**
12727     * <code>optional string email = 3;</code>
12728     */
12729    public boolean hasEmail() {
12730      return ((bitField0_ & 0x00000004) == 0x00000004);
12731    }
12732    /**
12733     * <code>optional string email = 3;</code>
12734     */
12735    public java.lang.String getEmail() {
12736      java.lang.Object ref = email_;
12737      if (ref instanceof java.lang.String) {
12738        return (java.lang.String) ref;
12739      } else {
12740        com.google.protobuf.ByteString bs = 
12741            (com.google.protobuf.ByteString) ref;
12742        java.lang.String s = bs.toStringUtf8();
12743        if (bs.isValidUtf8()) {
12744          email_ = s;
12745        }
12746        return s;
12747      }
12748    }
12749    /**
12750     * <code>optional string email = 3;</code>
12751     */
12752    public com.google.protobuf.ByteString
12753        getEmailBytes() {
12754      java.lang.Object ref = email_;
12755      if (ref instanceof java.lang.String) {
12756        com.google.protobuf.ByteString b = 
12757            com.google.protobuf.ByteString.copyFromUtf8(
12758                (java.lang.String) ref);
12759        email_ = b;
12760        return b;
12761      } else {
12762        return (com.google.protobuf.ByteString) ref;
12763      }
12764    }
12765
12766    public static final int SELECTED_FIELD_NUMBER = 4;
12767    private boolean selected_;
12768    /**
12769     * <code>optional bool selected = 4;</code>
12770     */
12771    public boolean hasSelected() {
12772      return ((bitField0_ & 0x00000008) == 0x00000008);
12773    }
12774    /**
12775     * <code>optional bool selected = 4;</code>
12776     */
12777    public boolean getSelected() {
12778      return selected_;
12779    }
12780
12781    private byte memoizedIsInitialized = -1;
12782    public final boolean isInitialized() {
12783      byte isInitialized = memoizedIsInitialized;
12784      if (isInitialized == 1) return true;
12785      if (isInitialized == 0) return false;
12786
12787      memoizedIsInitialized = 1;
12788      return true;
12789    }
12790
12791    public void writeTo(com.google.protobuf.CodedOutputStream output)
12792                        throws java.io.IOException {
12793      if (((bitField0_ & 0x00000001) == 0x00000001)) {
12794        com.google.protobuf.GeneratedMessage.writeString(output, 1, login_);
12795      }
12796      if (((bitField0_ & 0x00000002) == 0x00000002)) {
12797        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
12798      }
12799      if (((bitField0_ & 0x00000004) == 0x00000004)) {
12800        com.google.protobuf.GeneratedMessage.writeString(output, 3, email_);
12801      }
12802      if (((bitField0_ & 0x00000008) == 0x00000008)) {
12803        output.writeBool(4, selected_);
12804      }
12805      unknownFields.writeTo(output);
12806    }
12807
12808    public int getSerializedSize() {
12809      int size = memoizedSize;
12810      if (size != -1) return size;
12811
12812      size = 0;
12813      if (((bitField0_ & 0x00000001) == 0x00000001)) {
12814        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, login_);
12815      }
12816      if (((bitField0_ & 0x00000002) == 0x00000002)) {
12817        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
12818      }
12819      if (((bitField0_ & 0x00000004) == 0x00000004)) {
12820        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, email_);
12821      }
12822      if (((bitField0_ & 0x00000008) == 0x00000008)) {
12823        size += com.google.protobuf.CodedOutputStream
12824          .computeBoolSize(4, selected_);
12825      }
12826      size += unknownFields.getSerializedSize();
12827      memoizedSize = size;
12828      return size;
12829    }
12830
12831    private static final long serialVersionUID = 0L;
12832    public static org.sonarqube.ws.WsPermissions.OldUser parseFrom(
12833        com.google.protobuf.ByteString data)
12834        throws com.google.protobuf.InvalidProtocolBufferException {
12835      return PARSER.parseFrom(data);
12836    }
12837    public static org.sonarqube.ws.WsPermissions.OldUser parseFrom(
12838        com.google.protobuf.ByteString data,
12839        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12840        throws com.google.protobuf.InvalidProtocolBufferException {
12841      return PARSER.parseFrom(data, extensionRegistry);
12842    }
12843    public static org.sonarqube.ws.WsPermissions.OldUser parseFrom(byte[] data)
12844        throws com.google.protobuf.InvalidProtocolBufferException {
12845      return PARSER.parseFrom(data);
12846    }
12847    public static org.sonarqube.ws.WsPermissions.OldUser parseFrom(
12848        byte[] data,
12849        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12850        throws com.google.protobuf.InvalidProtocolBufferException {
12851      return PARSER.parseFrom(data, extensionRegistry);
12852    }
12853    public static org.sonarqube.ws.WsPermissions.OldUser parseFrom(java.io.InputStream input)
12854        throws java.io.IOException {
12855      return PARSER.parseFrom(input);
12856    }
12857    public static org.sonarqube.ws.WsPermissions.OldUser parseFrom(
12858        java.io.InputStream input,
12859        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12860        throws java.io.IOException {
12861      return PARSER.parseFrom(input, extensionRegistry);
12862    }
12863    public static org.sonarqube.ws.WsPermissions.OldUser parseDelimitedFrom(java.io.InputStream input)
12864        throws java.io.IOException {
12865      return PARSER.parseDelimitedFrom(input);
12866    }
12867    public static org.sonarqube.ws.WsPermissions.OldUser parseDelimitedFrom(
12868        java.io.InputStream input,
12869        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12870        throws java.io.IOException {
12871      return PARSER.parseDelimitedFrom(input, extensionRegistry);
12872    }
12873    public static org.sonarqube.ws.WsPermissions.OldUser parseFrom(
12874        com.google.protobuf.CodedInputStream input)
12875        throws java.io.IOException {
12876      return PARSER.parseFrom(input);
12877    }
12878    public static org.sonarqube.ws.WsPermissions.OldUser parseFrom(
12879        com.google.protobuf.CodedInputStream input,
12880        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12881        throws java.io.IOException {
12882      return PARSER.parseFrom(input, extensionRegistry);
12883    }
12884
12885    public Builder newBuilderForType() { return newBuilder(); }
12886    public static Builder newBuilder() {
12887      return DEFAULT_INSTANCE.toBuilder();
12888    }
12889    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.OldUser prototype) {
12890      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
12891    }
12892    public Builder toBuilder() {
12893      return this == DEFAULT_INSTANCE
12894          ? new Builder() : new Builder().mergeFrom(this);
12895    }
12896
12897    @java.lang.Override
12898    protected Builder newBuilderForType(
12899        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
12900      Builder builder = new Builder(parent);
12901      return builder;
12902    }
12903    /**
12904     * Protobuf type {@code sonarqube.ws.permissions.OldUser}
12905     */
12906    public static final class Builder extends
12907        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
12908        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.OldUser)
12909        org.sonarqube.ws.WsPermissions.OldUserOrBuilder {
12910      public static final com.google.protobuf.Descriptors.Descriptor
12911          getDescriptor() {
12912        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUser_descriptor;
12913      }
12914
12915      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
12916          internalGetFieldAccessorTable() {
12917        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUser_fieldAccessorTable
12918            .ensureFieldAccessorsInitialized(
12919                org.sonarqube.ws.WsPermissions.OldUser.class, org.sonarqube.ws.WsPermissions.OldUser.Builder.class);
12920      }
12921
12922      // Construct using org.sonarqube.ws.WsPermissions.OldUser.newBuilder()
12923      private Builder() {
12924        maybeForceBuilderInitialization();
12925      }
12926
12927      private Builder(
12928          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
12929        super(parent);
12930        maybeForceBuilderInitialization();
12931      }
12932      private void maybeForceBuilderInitialization() {
12933        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
12934        }
12935      }
12936      public Builder clear() {
12937        super.clear();
12938        login_ = "";
12939        bitField0_ = (bitField0_ & ~0x00000001);
12940        name_ = "";
12941        bitField0_ = (bitField0_ & ~0x00000002);
12942        email_ = "";
12943        bitField0_ = (bitField0_ & ~0x00000004);
12944        selected_ = false;
12945        bitField0_ = (bitField0_ & ~0x00000008);
12946        return this;
12947      }
12948
12949      public com.google.protobuf.Descriptors.Descriptor
12950          getDescriptorForType() {
12951        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldUser_descriptor;
12952      }
12953
12954      public org.sonarqube.ws.WsPermissions.OldUser getDefaultInstanceForType() {
12955        return org.sonarqube.ws.WsPermissions.OldUser.getDefaultInstance();
12956      }
12957
12958      public org.sonarqube.ws.WsPermissions.OldUser build() {
12959        org.sonarqube.ws.WsPermissions.OldUser result = buildPartial();
12960        if (!result.isInitialized()) {
12961          throw newUninitializedMessageException(result);
12962        }
12963        return result;
12964      }
12965
12966      public org.sonarqube.ws.WsPermissions.OldUser buildPartial() {
12967        org.sonarqube.ws.WsPermissions.OldUser result = new org.sonarqube.ws.WsPermissions.OldUser(this);
12968        int from_bitField0_ = bitField0_;
12969        int to_bitField0_ = 0;
12970        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12971          to_bitField0_ |= 0x00000001;
12972        }
12973        result.login_ = login_;
12974        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12975          to_bitField0_ |= 0x00000002;
12976        }
12977        result.name_ = name_;
12978        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12979          to_bitField0_ |= 0x00000004;
12980        }
12981        result.email_ = email_;
12982        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
12983          to_bitField0_ |= 0x00000008;
12984        }
12985        result.selected_ = selected_;
12986        result.bitField0_ = to_bitField0_;
12987        onBuilt();
12988        return result;
12989      }
12990
12991      public Builder mergeFrom(com.google.protobuf.Message other) {
12992        if (other instanceof org.sonarqube.ws.WsPermissions.OldUser) {
12993          return mergeFrom((org.sonarqube.ws.WsPermissions.OldUser)other);
12994        } else {
12995          super.mergeFrom(other);
12996          return this;
12997        }
12998      }
12999
13000      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.OldUser other) {
13001        if (other == org.sonarqube.ws.WsPermissions.OldUser.getDefaultInstance()) return this;
13002        if (other.hasLogin()) {
13003          bitField0_ |= 0x00000001;
13004          login_ = other.login_;
13005          onChanged();
13006        }
13007        if (other.hasName()) {
13008          bitField0_ |= 0x00000002;
13009          name_ = other.name_;
13010          onChanged();
13011        }
13012        if (other.hasEmail()) {
13013          bitField0_ |= 0x00000004;
13014          email_ = other.email_;
13015          onChanged();
13016        }
13017        if (other.hasSelected()) {
13018          setSelected(other.getSelected());
13019        }
13020        this.mergeUnknownFields(other.unknownFields);
13021        onChanged();
13022        return this;
13023      }
13024
13025      public final boolean isInitialized() {
13026        return true;
13027      }
13028
13029      public Builder mergeFrom(
13030          com.google.protobuf.CodedInputStream input,
13031          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13032          throws java.io.IOException {
13033        org.sonarqube.ws.WsPermissions.OldUser parsedMessage = null;
13034        try {
13035          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
13036        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
13037          parsedMessage = (org.sonarqube.ws.WsPermissions.OldUser) e.getUnfinishedMessage();
13038          throw e;
13039        } finally {
13040          if (parsedMessage != null) {
13041            mergeFrom(parsedMessage);
13042          }
13043        }
13044        return this;
13045      }
13046      private int bitField0_;
13047
13048      private java.lang.Object login_ = "";
13049      /**
13050       * <code>optional string login = 1;</code>
13051       */
13052      public boolean hasLogin() {
13053        return ((bitField0_ & 0x00000001) == 0x00000001);
13054      }
13055      /**
13056       * <code>optional string login = 1;</code>
13057       */
13058      public java.lang.String getLogin() {
13059        java.lang.Object ref = login_;
13060        if (!(ref instanceof java.lang.String)) {
13061          com.google.protobuf.ByteString bs =
13062              (com.google.protobuf.ByteString) ref;
13063          java.lang.String s = bs.toStringUtf8();
13064          if (bs.isValidUtf8()) {
13065            login_ = s;
13066          }
13067          return s;
13068        } else {
13069          return (java.lang.String) ref;
13070        }
13071      }
13072      /**
13073       * <code>optional string login = 1;</code>
13074       */
13075      public com.google.protobuf.ByteString
13076          getLoginBytes() {
13077        java.lang.Object ref = login_;
13078        if (ref instanceof String) {
13079          com.google.protobuf.ByteString b = 
13080              com.google.protobuf.ByteString.copyFromUtf8(
13081                  (java.lang.String) ref);
13082          login_ = b;
13083          return b;
13084        } else {
13085          return (com.google.protobuf.ByteString) ref;
13086        }
13087      }
13088      /**
13089       * <code>optional string login = 1;</code>
13090       */
13091      public Builder setLogin(
13092          java.lang.String value) {
13093        if (value == null) {
13094    throw new NullPointerException();
13095  }
13096  bitField0_ |= 0x00000001;
13097        login_ = value;
13098        onChanged();
13099        return this;
13100      }
13101      /**
13102       * <code>optional string login = 1;</code>
13103       */
13104      public Builder clearLogin() {
13105        bitField0_ = (bitField0_ & ~0x00000001);
13106        login_ = getDefaultInstance().getLogin();
13107        onChanged();
13108        return this;
13109      }
13110      /**
13111       * <code>optional string login = 1;</code>
13112       */
13113      public Builder setLoginBytes(
13114          com.google.protobuf.ByteString value) {
13115        if (value == null) {
13116    throw new NullPointerException();
13117  }
13118  bitField0_ |= 0x00000001;
13119        login_ = value;
13120        onChanged();
13121        return this;
13122      }
13123
13124      private java.lang.Object name_ = "";
13125      /**
13126       * <code>optional string name = 2;</code>
13127       */
13128      public boolean hasName() {
13129        return ((bitField0_ & 0x00000002) == 0x00000002);
13130      }
13131      /**
13132       * <code>optional string name = 2;</code>
13133       */
13134      public java.lang.String getName() {
13135        java.lang.Object ref = name_;
13136        if (!(ref instanceof java.lang.String)) {
13137          com.google.protobuf.ByteString bs =
13138              (com.google.protobuf.ByteString) ref;
13139          java.lang.String s = bs.toStringUtf8();
13140          if (bs.isValidUtf8()) {
13141            name_ = s;
13142          }
13143          return s;
13144        } else {
13145          return (java.lang.String) ref;
13146        }
13147      }
13148      /**
13149       * <code>optional string name = 2;</code>
13150       */
13151      public com.google.protobuf.ByteString
13152          getNameBytes() {
13153        java.lang.Object ref = name_;
13154        if (ref instanceof String) {
13155          com.google.protobuf.ByteString b = 
13156              com.google.protobuf.ByteString.copyFromUtf8(
13157                  (java.lang.String) ref);
13158          name_ = b;
13159          return b;
13160        } else {
13161          return (com.google.protobuf.ByteString) ref;
13162        }
13163      }
13164      /**
13165       * <code>optional string name = 2;</code>
13166       */
13167      public Builder setName(
13168          java.lang.String value) {
13169        if (value == null) {
13170    throw new NullPointerException();
13171  }
13172  bitField0_ |= 0x00000002;
13173        name_ = value;
13174        onChanged();
13175        return this;
13176      }
13177      /**
13178       * <code>optional string name = 2;</code>
13179       */
13180      public Builder clearName() {
13181        bitField0_ = (bitField0_ & ~0x00000002);
13182        name_ = getDefaultInstance().getName();
13183        onChanged();
13184        return this;
13185      }
13186      /**
13187       * <code>optional string name = 2;</code>
13188       */
13189      public Builder setNameBytes(
13190          com.google.protobuf.ByteString value) {
13191        if (value == null) {
13192    throw new NullPointerException();
13193  }
13194  bitField0_ |= 0x00000002;
13195        name_ = value;
13196        onChanged();
13197        return this;
13198      }
13199
13200      private java.lang.Object email_ = "";
13201      /**
13202       * <code>optional string email = 3;</code>
13203       */
13204      public boolean hasEmail() {
13205        return ((bitField0_ & 0x00000004) == 0x00000004);
13206      }
13207      /**
13208       * <code>optional string email = 3;</code>
13209       */
13210      public java.lang.String getEmail() {
13211        java.lang.Object ref = email_;
13212        if (!(ref instanceof java.lang.String)) {
13213          com.google.protobuf.ByteString bs =
13214              (com.google.protobuf.ByteString) ref;
13215          java.lang.String s = bs.toStringUtf8();
13216          if (bs.isValidUtf8()) {
13217            email_ = s;
13218          }
13219          return s;
13220        } else {
13221          return (java.lang.String) ref;
13222        }
13223      }
13224      /**
13225       * <code>optional string email = 3;</code>
13226       */
13227      public com.google.protobuf.ByteString
13228          getEmailBytes() {
13229        java.lang.Object ref = email_;
13230        if (ref instanceof String) {
13231          com.google.protobuf.ByteString b = 
13232              com.google.protobuf.ByteString.copyFromUtf8(
13233                  (java.lang.String) ref);
13234          email_ = b;
13235          return b;
13236        } else {
13237          return (com.google.protobuf.ByteString) ref;
13238        }
13239      }
13240      /**
13241       * <code>optional string email = 3;</code>
13242       */
13243      public Builder setEmail(
13244          java.lang.String value) {
13245        if (value == null) {
13246    throw new NullPointerException();
13247  }
13248  bitField0_ |= 0x00000004;
13249        email_ = value;
13250        onChanged();
13251        return this;
13252      }
13253      /**
13254       * <code>optional string email = 3;</code>
13255       */
13256      public Builder clearEmail() {
13257        bitField0_ = (bitField0_ & ~0x00000004);
13258        email_ = getDefaultInstance().getEmail();
13259        onChanged();
13260        return this;
13261      }
13262      /**
13263       * <code>optional string email = 3;</code>
13264       */
13265      public Builder setEmailBytes(
13266          com.google.protobuf.ByteString value) {
13267        if (value == null) {
13268    throw new NullPointerException();
13269  }
13270  bitField0_ |= 0x00000004;
13271        email_ = value;
13272        onChanged();
13273        return this;
13274      }
13275
13276      private boolean selected_ ;
13277      /**
13278       * <code>optional bool selected = 4;</code>
13279       */
13280      public boolean hasSelected() {
13281        return ((bitField0_ & 0x00000008) == 0x00000008);
13282      }
13283      /**
13284       * <code>optional bool selected = 4;</code>
13285       */
13286      public boolean getSelected() {
13287        return selected_;
13288      }
13289      /**
13290       * <code>optional bool selected = 4;</code>
13291       */
13292      public Builder setSelected(boolean value) {
13293        bitField0_ |= 0x00000008;
13294        selected_ = value;
13295        onChanged();
13296        return this;
13297      }
13298      /**
13299       * <code>optional bool selected = 4;</code>
13300       */
13301      public Builder clearSelected() {
13302        bitField0_ = (bitField0_ & ~0x00000008);
13303        selected_ = false;
13304        onChanged();
13305        return this;
13306      }
13307
13308      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.OldUser)
13309    }
13310
13311    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.OldUser)
13312    private static final org.sonarqube.ws.WsPermissions.OldUser DEFAULT_INSTANCE;
13313    static {
13314      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.OldUser();
13315    }
13316
13317    public static org.sonarqube.ws.WsPermissions.OldUser getDefaultInstance() {
13318      return DEFAULT_INSTANCE;
13319    }
13320
13321    @java.lang.Deprecated public static final com.google.protobuf.Parser<OldUser>
13322        PARSER = new com.google.protobuf.AbstractParser<OldUser>() {
13323      public OldUser parsePartialFrom(
13324          com.google.protobuf.CodedInputStream input,
13325          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13326          throws com.google.protobuf.InvalidProtocolBufferException {
13327        try {
13328          return new OldUser(input, extensionRegistry);
13329        } catch (RuntimeException e) {
13330          if (e.getCause() instanceof
13331              com.google.protobuf.InvalidProtocolBufferException) {
13332            throw (com.google.protobuf.InvalidProtocolBufferException)
13333                e.getCause();
13334          }
13335          throw e;
13336        }
13337      }
13338    };
13339
13340    public static com.google.protobuf.Parser<OldUser> parser() {
13341      return PARSER;
13342    }
13343
13344    @java.lang.Override
13345    public com.google.protobuf.Parser<OldUser> getParserForType() {
13346      return PARSER;
13347    }
13348
13349    public org.sonarqube.ws.WsPermissions.OldUser getDefaultInstanceForType() {
13350      return DEFAULT_INSTANCE;
13351    }
13352
13353  }
13354
13355  public interface UserOrBuilder extends
13356      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.User)
13357      com.google.protobuf.MessageOrBuilder {
13358
13359    /**
13360     * <code>optional string login = 1;</code>
13361     */
13362    boolean hasLogin();
13363    /**
13364     * <code>optional string login = 1;</code>
13365     */
13366    java.lang.String getLogin();
13367    /**
13368     * <code>optional string login = 1;</code>
13369     */
13370    com.google.protobuf.ByteString
13371        getLoginBytes();
13372
13373    /**
13374     * <code>optional string name = 2;</code>
13375     */
13376    boolean hasName();
13377    /**
13378     * <code>optional string name = 2;</code>
13379     */
13380    java.lang.String getName();
13381    /**
13382     * <code>optional string name = 2;</code>
13383     */
13384    com.google.protobuf.ByteString
13385        getNameBytes();
13386
13387    /**
13388     * <code>optional string email = 3;</code>
13389     */
13390    boolean hasEmail();
13391    /**
13392     * <code>optional string email = 3;</code>
13393     */
13394    java.lang.String getEmail();
13395    /**
13396     * <code>optional string email = 3;</code>
13397     */
13398    com.google.protobuf.ByteString
13399        getEmailBytes();
13400
13401    /**
13402     * <code>repeated string permissions = 4;</code>
13403     */
13404    com.google.protobuf.ProtocolStringList
13405        getPermissionsList();
13406    /**
13407     * <code>repeated string permissions = 4;</code>
13408     */
13409    int getPermissionsCount();
13410    /**
13411     * <code>repeated string permissions = 4;</code>
13412     */
13413    java.lang.String getPermissions(int index);
13414    /**
13415     * <code>repeated string permissions = 4;</code>
13416     */
13417    com.google.protobuf.ByteString
13418        getPermissionsBytes(int index);
13419  }
13420  /**
13421   * Protobuf type {@code sonarqube.ws.permissions.User}
13422   */
13423  public  static final class User extends
13424      com.google.protobuf.GeneratedMessage implements
13425      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.User)
13426      UserOrBuilder {
13427    // Use User.newBuilder() to construct.
13428    private User(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
13429      super(builder);
13430    }
13431    private User() {
13432      login_ = "";
13433      name_ = "";
13434      email_ = "";
13435      permissions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
13436    }
13437
13438    @java.lang.Override
13439    public final com.google.protobuf.UnknownFieldSet
13440    getUnknownFields() {
13441      return this.unknownFields;
13442    }
13443    private User(
13444        com.google.protobuf.CodedInputStream input,
13445        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
13446      this();
13447      int mutable_bitField0_ = 0;
13448      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
13449          com.google.protobuf.UnknownFieldSet.newBuilder();
13450      try {
13451        boolean done = false;
13452        while (!done) {
13453          int tag = input.readTag();
13454          switch (tag) {
13455            case 0:
13456              done = true;
13457              break;
13458            default: {
13459              if (!parseUnknownField(input, unknownFields,
13460                                     extensionRegistry, tag)) {
13461                done = true;
13462              }
13463              break;
13464            }
13465            case 10: {
13466              com.google.protobuf.ByteString bs = input.readBytes();
13467              bitField0_ |= 0x00000001;
13468              login_ = bs;
13469              break;
13470            }
13471            case 18: {
13472              com.google.protobuf.ByteString bs = input.readBytes();
13473              bitField0_ |= 0x00000002;
13474              name_ = bs;
13475              break;
13476            }
13477            case 26: {
13478              com.google.protobuf.ByteString bs = input.readBytes();
13479              bitField0_ |= 0x00000004;
13480              email_ = bs;
13481              break;
13482            }
13483            case 34: {
13484              com.google.protobuf.ByteString bs = input.readBytes();
13485              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
13486                permissions_ = new com.google.protobuf.LazyStringArrayList();
13487                mutable_bitField0_ |= 0x00000008;
13488              }
13489              permissions_.add(bs);
13490              break;
13491            }
13492          }
13493        }
13494      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
13495        throw new RuntimeException(e.setUnfinishedMessage(this));
13496      } catch (java.io.IOException e) {
13497        throw new RuntimeException(
13498            new com.google.protobuf.InvalidProtocolBufferException(
13499                e.getMessage()).setUnfinishedMessage(this));
13500      } finally {
13501        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
13502          permissions_ = permissions_.getUnmodifiableView();
13503        }
13504        this.unknownFields = unknownFields.build();
13505        makeExtensionsImmutable();
13506      }
13507    }
13508    public static final com.google.protobuf.Descriptors.Descriptor
13509        getDescriptor() {
13510      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_User_descriptor;
13511    }
13512
13513    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
13514        internalGetFieldAccessorTable() {
13515      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_User_fieldAccessorTable
13516          .ensureFieldAccessorsInitialized(
13517              org.sonarqube.ws.WsPermissions.User.class, org.sonarqube.ws.WsPermissions.User.Builder.class);
13518    }
13519
13520    private int bitField0_;
13521    public static final int LOGIN_FIELD_NUMBER = 1;
13522    private volatile java.lang.Object login_;
13523    /**
13524     * <code>optional string login = 1;</code>
13525     */
13526    public boolean hasLogin() {
13527      return ((bitField0_ & 0x00000001) == 0x00000001);
13528    }
13529    /**
13530     * <code>optional string login = 1;</code>
13531     */
13532    public java.lang.String getLogin() {
13533      java.lang.Object ref = login_;
13534      if (ref instanceof java.lang.String) {
13535        return (java.lang.String) ref;
13536      } else {
13537        com.google.protobuf.ByteString bs = 
13538            (com.google.protobuf.ByteString) ref;
13539        java.lang.String s = bs.toStringUtf8();
13540        if (bs.isValidUtf8()) {
13541          login_ = s;
13542        }
13543        return s;
13544      }
13545    }
13546    /**
13547     * <code>optional string login = 1;</code>
13548     */
13549    public com.google.protobuf.ByteString
13550        getLoginBytes() {
13551      java.lang.Object ref = login_;
13552      if (ref instanceof java.lang.String) {
13553        com.google.protobuf.ByteString b = 
13554            com.google.protobuf.ByteString.copyFromUtf8(
13555                (java.lang.String) ref);
13556        login_ = b;
13557        return b;
13558      } else {
13559        return (com.google.protobuf.ByteString) ref;
13560      }
13561    }
13562
13563    public static final int NAME_FIELD_NUMBER = 2;
13564    private volatile java.lang.Object name_;
13565    /**
13566     * <code>optional string name = 2;</code>
13567     */
13568    public boolean hasName() {
13569      return ((bitField0_ & 0x00000002) == 0x00000002);
13570    }
13571    /**
13572     * <code>optional string name = 2;</code>
13573     */
13574    public java.lang.String getName() {
13575      java.lang.Object ref = name_;
13576      if (ref instanceof java.lang.String) {
13577        return (java.lang.String) ref;
13578      } else {
13579        com.google.protobuf.ByteString bs = 
13580            (com.google.protobuf.ByteString) ref;
13581        java.lang.String s = bs.toStringUtf8();
13582        if (bs.isValidUtf8()) {
13583          name_ = s;
13584        }
13585        return s;
13586      }
13587    }
13588    /**
13589     * <code>optional string name = 2;</code>
13590     */
13591    public com.google.protobuf.ByteString
13592        getNameBytes() {
13593      java.lang.Object ref = name_;
13594      if (ref instanceof java.lang.String) {
13595        com.google.protobuf.ByteString b = 
13596            com.google.protobuf.ByteString.copyFromUtf8(
13597                (java.lang.String) ref);
13598        name_ = b;
13599        return b;
13600      } else {
13601        return (com.google.protobuf.ByteString) ref;
13602      }
13603    }
13604
13605    public static final int EMAIL_FIELD_NUMBER = 3;
13606    private volatile java.lang.Object email_;
13607    /**
13608     * <code>optional string email = 3;</code>
13609     */
13610    public boolean hasEmail() {
13611      return ((bitField0_ & 0x00000004) == 0x00000004);
13612    }
13613    /**
13614     * <code>optional string email = 3;</code>
13615     */
13616    public java.lang.String getEmail() {
13617      java.lang.Object ref = email_;
13618      if (ref instanceof java.lang.String) {
13619        return (java.lang.String) ref;
13620      } else {
13621        com.google.protobuf.ByteString bs = 
13622            (com.google.protobuf.ByteString) ref;
13623        java.lang.String s = bs.toStringUtf8();
13624        if (bs.isValidUtf8()) {
13625          email_ = s;
13626        }
13627        return s;
13628      }
13629    }
13630    /**
13631     * <code>optional string email = 3;</code>
13632     */
13633    public com.google.protobuf.ByteString
13634        getEmailBytes() {
13635      java.lang.Object ref = email_;
13636      if (ref instanceof java.lang.String) {
13637        com.google.protobuf.ByteString b = 
13638            com.google.protobuf.ByteString.copyFromUtf8(
13639                (java.lang.String) ref);
13640        email_ = b;
13641        return b;
13642      } else {
13643        return (com.google.protobuf.ByteString) ref;
13644      }
13645    }
13646
13647    public static final int PERMISSIONS_FIELD_NUMBER = 4;
13648    private com.google.protobuf.LazyStringList permissions_;
13649    /**
13650     * <code>repeated string permissions = 4;</code>
13651     */
13652    public com.google.protobuf.ProtocolStringList
13653        getPermissionsList() {
13654      return permissions_;
13655    }
13656    /**
13657     * <code>repeated string permissions = 4;</code>
13658     */
13659    public int getPermissionsCount() {
13660      return permissions_.size();
13661    }
13662    /**
13663     * <code>repeated string permissions = 4;</code>
13664     */
13665    public java.lang.String getPermissions(int index) {
13666      return permissions_.get(index);
13667    }
13668    /**
13669     * <code>repeated string permissions = 4;</code>
13670     */
13671    public com.google.protobuf.ByteString
13672        getPermissionsBytes(int index) {
13673      return permissions_.getByteString(index);
13674    }
13675
13676    private byte memoizedIsInitialized = -1;
13677    public final boolean isInitialized() {
13678      byte isInitialized = memoizedIsInitialized;
13679      if (isInitialized == 1) return true;
13680      if (isInitialized == 0) return false;
13681
13682      memoizedIsInitialized = 1;
13683      return true;
13684    }
13685
13686    public void writeTo(com.google.protobuf.CodedOutputStream output)
13687                        throws java.io.IOException {
13688      if (((bitField0_ & 0x00000001) == 0x00000001)) {
13689        com.google.protobuf.GeneratedMessage.writeString(output, 1, login_);
13690      }
13691      if (((bitField0_ & 0x00000002) == 0x00000002)) {
13692        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
13693      }
13694      if (((bitField0_ & 0x00000004) == 0x00000004)) {
13695        com.google.protobuf.GeneratedMessage.writeString(output, 3, email_);
13696      }
13697      for (int i = 0; i < permissions_.size(); i++) {
13698        com.google.protobuf.GeneratedMessage.writeString(output, 4, permissions_.getRaw(i));
13699      }
13700      unknownFields.writeTo(output);
13701    }
13702
13703    public int getSerializedSize() {
13704      int size = memoizedSize;
13705      if (size != -1) return size;
13706
13707      size = 0;
13708      if (((bitField0_ & 0x00000001) == 0x00000001)) {
13709        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, login_);
13710      }
13711      if (((bitField0_ & 0x00000002) == 0x00000002)) {
13712        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
13713      }
13714      if (((bitField0_ & 0x00000004) == 0x00000004)) {
13715        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, email_);
13716      }
13717      {
13718        int dataSize = 0;
13719        for (int i = 0; i < permissions_.size(); i++) {
13720          dataSize += computeStringSizeNoTag(permissions_.getRaw(i));
13721        }
13722        size += dataSize;
13723        size += 1 * getPermissionsList().size();
13724      }
13725      size += unknownFields.getSerializedSize();
13726      memoizedSize = size;
13727      return size;
13728    }
13729
13730    private static final long serialVersionUID = 0L;
13731    public static org.sonarqube.ws.WsPermissions.User parseFrom(
13732        com.google.protobuf.ByteString data)
13733        throws com.google.protobuf.InvalidProtocolBufferException {
13734      return PARSER.parseFrom(data);
13735    }
13736    public static org.sonarqube.ws.WsPermissions.User parseFrom(
13737        com.google.protobuf.ByteString data,
13738        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13739        throws com.google.protobuf.InvalidProtocolBufferException {
13740      return PARSER.parseFrom(data, extensionRegistry);
13741    }
13742    public static org.sonarqube.ws.WsPermissions.User parseFrom(byte[] data)
13743        throws com.google.protobuf.InvalidProtocolBufferException {
13744      return PARSER.parseFrom(data);
13745    }
13746    public static org.sonarqube.ws.WsPermissions.User parseFrom(
13747        byte[] data,
13748        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13749        throws com.google.protobuf.InvalidProtocolBufferException {
13750      return PARSER.parseFrom(data, extensionRegistry);
13751    }
13752    public static org.sonarqube.ws.WsPermissions.User parseFrom(java.io.InputStream input)
13753        throws java.io.IOException {
13754      return PARSER.parseFrom(input);
13755    }
13756    public static org.sonarqube.ws.WsPermissions.User parseFrom(
13757        java.io.InputStream input,
13758        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13759        throws java.io.IOException {
13760      return PARSER.parseFrom(input, extensionRegistry);
13761    }
13762    public static org.sonarqube.ws.WsPermissions.User parseDelimitedFrom(java.io.InputStream input)
13763        throws java.io.IOException {
13764      return PARSER.parseDelimitedFrom(input);
13765    }
13766    public static org.sonarqube.ws.WsPermissions.User parseDelimitedFrom(
13767        java.io.InputStream input,
13768        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13769        throws java.io.IOException {
13770      return PARSER.parseDelimitedFrom(input, extensionRegistry);
13771    }
13772    public static org.sonarqube.ws.WsPermissions.User parseFrom(
13773        com.google.protobuf.CodedInputStream input)
13774        throws java.io.IOException {
13775      return PARSER.parseFrom(input);
13776    }
13777    public static org.sonarqube.ws.WsPermissions.User parseFrom(
13778        com.google.protobuf.CodedInputStream input,
13779        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13780        throws java.io.IOException {
13781      return PARSER.parseFrom(input, extensionRegistry);
13782    }
13783
13784    public Builder newBuilderForType() { return newBuilder(); }
13785    public static Builder newBuilder() {
13786      return DEFAULT_INSTANCE.toBuilder();
13787    }
13788    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.User prototype) {
13789      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
13790    }
13791    public Builder toBuilder() {
13792      return this == DEFAULT_INSTANCE
13793          ? new Builder() : new Builder().mergeFrom(this);
13794    }
13795
13796    @java.lang.Override
13797    protected Builder newBuilderForType(
13798        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
13799      Builder builder = new Builder(parent);
13800      return builder;
13801    }
13802    /**
13803     * Protobuf type {@code sonarqube.ws.permissions.User}
13804     */
13805    public static final class Builder extends
13806        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
13807        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.User)
13808        org.sonarqube.ws.WsPermissions.UserOrBuilder {
13809      public static final com.google.protobuf.Descriptors.Descriptor
13810          getDescriptor() {
13811        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_User_descriptor;
13812      }
13813
13814      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
13815          internalGetFieldAccessorTable() {
13816        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_User_fieldAccessorTable
13817            .ensureFieldAccessorsInitialized(
13818                org.sonarqube.ws.WsPermissions.User.class, org.sonarqube.ws.WsPermissions.User.Builder.class);
13819      }
13820
13821      // Construct using org.sonarqube.ws.WsPermissions.User.newBuilder()
13822      private Builder() {
13823        maybeForceBuilderInitialization();
13824      }
13825
13826      private Builder(
13827          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
13828        super(parent);
13829        maybeForceBuilderInitialization();
13830      }
13831      private void maybeForceBuilderInitialization() {
13832        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
13833        }
13834      }
13835      public Builder clear() {
13836        super.clear();
13837        login_ = "";
13838        bitField0_ = (bitField0_ & ~0x00000001);
13839        name_ = "";
13840        bitField0_ = (bitField0_ & ~0x00000002);
13841        email_ = "";
13842        bitField0_ = (bitField0_ & ~0x00000004);
13843        permissions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
13844        bitField0_ = (bitField0_ & ~0x00000008);
13845        return this;
13846      }
13847
13848      public com.google.protobuf.Descriptors.Descriptor
13849          getDescriptorForType() {
13850        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_User_descriptor;
13851      }
13852
13853      public org.sonarqube.ws.WsPermissions.User getDefaultInstanceForType() {
13854        return org.sonarqube.ws.WsPermissions.User.getDefaultInstance();
13855      }
13856
13857      public org.sonarqube.ws.WsPermissions.User build() {
13858        org.sonarqube.ws.WsPermissions.User result = buildPartial();
13859        if (!result.isInitialized()) {
13860          throw newUninitializedMessageException(result);
13861        }
13862        return result;
13863      }
13864
13865      public org.sonarqube.ws.WsPermissions.User buildPartial() {
13866        org.sonarqube.ws.WsPermissions.User result = new org.sonarqube.ws.WsPermissions.User(this);
13867        int from_bitField0_ = bitField0_;
13868        int to_bitField0_ = 0;
13869        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
13870          to_bitField0_ |= 0x00000001;
13871        }
13872        result.login_ = login_;
13873        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
13874          to_bitField0_ |= 0x00000002;
13875        }
13876        result.name_ = name_;
13877        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
13878          to_bitField0_ |= 0x00000004;
13879        }
13880        result.email_ = email_;
13881        if (((bitField0_ & 0x00000008) == 0x00000008)) {
13882          permissions_ = permissions_.getUnmodifiableView();
13883          bitField0_ = (bitField0_ & ~0x00000008);
13884        }
13885        result.permissions_ = permissions_;
13886        result.bitField0_ = to_bitField0_;
13887        onBuilt();
13888        return result;
13889      }
13890
13891      public Builder mergeFrom(com.google.protobuf.Message other) {
13892        if (other instanceof org.sonarqube.ws.WsPermissions.User) {
13893          return mergeFrom((org.sonarqube.ws.WsPermissions.User)other);
13894        } else {
13895          super.mergeFrom(other);
13896          return this;
13897        }
13898      }
13899
13900      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.User other) {
13901        if (other == org.sonarqube.ws.WsPermissions.User.getDefaultInstance()) return this;
13902        if (other.hasLogin()) {
13903          bitField0_ |= 0x00000001;
13904          login_ = other.login_;
13905          onChanged();
13906        }
13907        if (other.hasName()) {
13908          bitField0_ |= 0x00000002;
13909          name_ = other.name_;
13910          onChanged();
13911        }
13912        if (other.hasEmail()) {
13913          bitField0_ |= 0x00000004;
13914          email_ = other.email_;
13915          onChanged();
13916        }
13917        if (!other.permissions_.isEmpty()) {
13918          if (permissions_.isEmpty()) {
13919            permissions_ = other.permissions_;
13920            bitField0_ = (bitField0_ & ~0x00000008);
13921          } else {
13922            ensurePermissionsIsMutable();
13923            permissions_.addAll(other.permissions_);
13924          }
13925          onChanged();
13926        }
13927        this.mergeUnknownFields(other.unknownFields);
13928        onChanged();
13929        return this;
13930      }
13931
13932      public final boolean isInitialized() {
13933        return true;
13934      }
13935
13936      public Builder mergeFrom(
13937          com.google.protobuf.CodedInputStream input,
13938          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13939          throws java.io.IOException {
13940        org.sonarqube.ws.WsPermissions.User parsedMessage = null;
13941        try {
13942          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
13943        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
13944          parsedMessage = (org.sonarqube.ws.WsPermissions.User) e.getUnfinishedMessage();
13945          throw e;
13946        } finally {
13947          if (parsedMessage != null) {
13948            mergeFrom(parsedMessage);
13949          }
13950        }
13951        return this;
13952      }
13953      private int bitField0_;
13954
13955      private java.lang.Object login_ = "";
13956      /**
13957       * <code>optional string login = 1;</code>
13958       */
13959      public boolean hasLogin() {
13960        return ((bitField0_ & 0x00000001) == 0x00000001);
13961      }
13962      /**
13963       * <code>optional string login = 1;</code>
13964       */
13965      public java.lang.String getLogin() {
13966        java.lang.Object ref = login_;
13967        if (!(ref instanceof java.lang.String)) {
13968          com.google.protobuf.ByteString bs =
13969              (com.google.protobuf.ByteString) ref;
13970          java.lang.String s = bs.toStringUtf8();
13971          if (bs.isValidUtf8()) {
13972            login_ = s;
13973          }
13974          return s;
13975        } else {
13976          return (java.lang.String) ref;
13977        }
13978      }
13979      /**
13980       * <code>optional string login = 1;</code>
13981       */
13982      public com.google.protobuf.ByteString
13983          getLoginBytes() {
13984        java.lang.Object ref = login_;
13985        if (ref instanceof String) {
13986          com.google.protobuf.ByteString b = 
13987              com.google.protobuf.ByteString.copyFromUtf8(
13988                  (java.lang.String) ref);
13989          login_ = b;
13990          return b;
13991        } else {
13992          return (com.google.protobuf.ByteString) ref;
13993        }
13994      }
13995      /**
13996       * <code>optional string login = 1;</code>
13997       */
13998      public Builder setLogin(
13999          java.lang.String value) {
14000        if (value == null) {
14001    throw new NullPointerException();
14002  }
14003  bitField0_ |= 0x00000001;
14004        login_ = value;
14005        onChanged();
14006        return this;
14007      }
14008      /**
14009       * <code>optional string login = 1;</code>
14010       */
14011      public Builder clearLogin() {
14012        bitField0_ = (bitField0_ & ~0x00000001);
14013        login_ = getDefaultInstance().getLogin();
14014        onChanged();
14015        return this;
14016      }
14017      /**
14018       * <code>optional string login = 1;</code>
14019       */
14020      public Builder setLoginBytes(
14021          com.google.protobuf.ByteString value) {
14022        if (value == null) {
14023    throw new NullPointerException();
14024  }
14025  bitField0_ |= 0x00000001;
14026        login_ = value;
14027        onChanged();
14028        return this;
14029      }
14030
14031      private java.lang.Object name_ = "";
14032      /**
14033       * <code>optional string name = 2;</code>
14034       */
14035      public boolean hasName() {
14036        return ((bitField0_ & 0x00000002) == 0x00000002);
14037      }
14038      /**
14039       * <code>optional string name = 2;</code>
14040       */
14041      public java.lang.String getName() {
14042        java.lang.Object ref = name_;
14043        if (!(ref instanceof java.lang.String)) {
14044          com.google.protobuf.ByteString bs =
14045              (com.google.protobuf.ByteString) ref;
14046          java.lang.String s = bs.toStringUtf8();
14047          if (bs.isValidUtf8()) {
14048            name_ = s;
14049          }
14050          return s;
14051        } else {
14052          return (java.lang.String) ref;
14053        }
14054      }
14055      /**
14056       * <code>optional string name = 2;</code>
14057       */
14058      public com.google.protobuf.ByteString
14059          getNameBytes() {
14060        java.lang.Object ref = name_;
14061        if (ref instanceof String) {
14062          com.google.protobuf.ByteString b = 
14063              com.google.protobuf.ByteString.copyFromUtf8(
14064                  (java.lang.String) ref);
14065          name_ = b;
14066          return b;
14067        } else {
14068          return (com.google.protobuf.ByteString) ref;
14069        }
14070      }
14071      /**
14072       * <code>optional string name = 2;</code>
14073       */
14074      public Builder setName(
14075          java.lang.String value) {
14076        if (value == null) {
14077    throw new NullPointerException();
14078  }
14079  bitField0_ |= 0x00000002;
14080        name_ = value;
14081        onChanged();
14082        return this;
14083      }
14084      /**
14085       * <code>optional string name = 2;</code>
14086       */
14087      public Builder clearName() {
14088        bitField0_ = (bitField0_ & ~0x00000002);
14089        name_ = getDefaultInstance().getName();
14090        onChanged();
14091        return this;
14092      }
14093      /**
14094       * <code>optional string name = 2;</code>
14095       */
14096      public Builder setNameBytes(
14097          com.google.protobuf.ByteString value) {
14098        if (value == null) {
14099    throw new NullPointerException();
14100  }
14101  bitField0_ |= 0x00000002;
14102        name_ = value;
14103        onChanged();
14104        return this;
14105      }
14106
14107      private java.lang.Object email_ = "";
14108      /**
14109       * <code>optional string email = 3;</code>
14110       */
14111      public boolean hasEmail() {
14112        return ((bitField0_ & 0x00000004) == 0x00000004);
14113      }
14114      /**
14115       * <code>optional string email = 3;</code>
14116       */
14117      public java.lang.String getEmail() {
14118        java.lang.Object ref = email_;
14119        if (!(ref instanceof java.lang.String)) {
14120          com.google.protobuf.ByteString bs =
14121              (com.google.protobuf.ByteString) ref;
14122          java.lang.String s = bs.toStringUtf8();
14123          if (bs.isValidUtf8()) {
14124            email_ = s;
14125          }
14126          return s;
14127        } else {
14128          return (java.lang.String) ref;
14129        }
14130      }
14131      /**
14132       * <code>optional string email = 3;</code>
14133       */
14134      public com.google.protobuf.ByteString
14135          getEmailBytes() {
14136        java.lang.Object ref = email_;
14137        if (ref instanceof String) {
14138          com.google.protobuf.ByteString b = 
14139              com.google.protobuf.ByteString.copyFromUtf8(
14140                  (java.lang.String) ref);
14141          email_ = b;
14142          return b;
14143        } else {
14144          return (com.google.protobuf.ByteString) ref;
14145        }
14146      }
14147      /**
14148       * <code>optional string email = 3;</code>
14149       */
14150      public Builder setEmail(
14151          java.lang.String value) {
14152        if (value == null) {
14153    throw new NullPointerException();
14154  }
14155  bitField0_ |= 0x00000004;
14156        email_ = value;
14157        onChanged();
14158        return this;
14159      }
14160      /**
14161       * <code>optional string email = 3;</code>
14162       */
14163      public Builder clearEmail() {
14164        bitField0_ = (bitField0_ & ~0x00000004);
14165        email_ = getDefaultInstance().getEmail();
14166        onChanged();
14167        return this;
14168      }
14169      /**
14170       * <code>optional string email = 3;</code>
14171       */
14172      public Builder setEmailBytes(
14173          com.google.protobuf.ByteString value) {
14174        if (value == null) {
14175    throw new NullPointerException();
14176  }
14177  bitField0_ |= 0x00000004;
14178        email_ = value;
14179        onChanged();
14180        return this;
14181      }
14182
14183      private com.google.protobuf.LazyStringList permissions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
14184      private void ensurePermissionsIsMutable() {
14185        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
14186          permissions_ = new com.google.protobuf.LazyStringArrayList(permissions_);
14187          bitField0_ |= 0x00000008;
14188         }
14189      }
14190      /**
14191       * <code>repeated string permissions = 4;</code>
14192       */
14193      public com.google.protobuf.ProtocolStringList
14194          getPermissionsList() {
14195        return permissions_.getUnmodifiableView();
14196      }
14197      /**
14198       * <code>repeated string permissions = 4;</code>
14199       */
14200      public int getPermissionsCount() {
14201        return permissions_.size();
14202      }
14203      /**
14204       * <code>repeated string permissions = 4;</code>
14205       */
14206      public java.lang.String getPermissions(int index) {
14207        return permissions_.get(index);
14208      }
14209      /**
14210       * <code>repeated string permissions = 4;</code>
14211       */
14212      public com.google.protobuf.ByteString
14213          getPermissionsBytes(int index) {
14214        return permissions_.getByteString(index);
14215      }
14216      /**
14217       * <code>repeated string permissions = 4;</code>
14218       */
14219      public Builder setPermissions(
14220          int index, java.lang.String value) {
14221        if (value == null) {
14222    throw new NullPointerException();
14223  }
14224  ensurePermissionsIsMutable();
14225        permissions_.set(index, value);
14226        onChanged();
14227        return this;
14228      }
14229      /**
14230       * <code>repeated string permissions = 4;</code>
14231       */
14232      public Builder addPermissions(
14233          java.lang.String value) {
14234        if (value == null) {
14235    throw new NullPointerException();
14236  }
14237  ensurePermissionsIsMutable();
14238        permissions_.add(value);
14239        onChanged();
14240        return this;
14241      }
14242      /**
14243       * <code>repeated string permissions = 4;</code>
14244       */
14245      public Builder addAllPermissions(
14246          java.lang.Iterable<java.lang.String> values) {
14247        ensurePermissionsIsMutable();
14248        com.google.protobuf.AbstractMessageLite.Builder.addAll(
14249            values, permissions_);
14250        onChanged();
14251        return this;
14252      }
14253      /**
14254       * <code>repeated string permissions = 4;</code>
14255       */
14256      public Builder clearPermissions() {
14257        permissions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
14258        bitField0_ = (bitField0_ & ~0x00000008);
14259        onChanged();
14260        return this;
14261      }
14262      /**
14263       * <code>repeated string permissions = 4;</code>
14264       */
14265      public Builder addPermissionsBytes(
14266          com.google.protobuf.ByteString value) {
14267        if (value == null) {
14268    throw new NullPointerException();
14269  }
14270  ensurePermissionsIsMutable();
14271        permissions_.add(value);
14272        onChanged();
14273        return this;
14274      }
14275
14276      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.User)
14277    }
14278
14279    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.User)
14280    private static final org.sonarqube.ws.WsPermissions.User DEFAULT_INSTANCE;
14281    static {
14282      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.User();
14283    }
14284
14285    public static org.sonarqube.ws.WsPermissions.User getDefaultInstance() {
14286      return DEFAULT_INSTANCE;
14287    }
14288
14289    @java.lang.Deprecated public static final com.google.protobuf.Parser<User>
14290        PARSER = new com.google.protobuf.AbstractParser<User>() {
14291      public User parsePartialFrom(
14292          com.google.protobuf.CodedInputStream input,
14293          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14294          throws com.google.protobuf.InvalidProtocolBufferException {
14295        try {
14296          return new User(input, extensionRegistry);
14297        } catch (RuntimeException e) {
14298          if (e.getCause() instanceof
14299              com.google.protobuf.InvalidProtocolBufferException) {
14300            throw (com.google.protobuf.InvalidProtocolBufferException)
14301                e.getCause();
14302          }
14303          throw e;
14304        }
14305      }
14306    };
14307
14308    public static com.google.protobuf.Parser<User> parser() {
14309      return PARSER;
14310    }
14311
14312    @java.lang.Override
14313    public com.google.protobuf.Parser<User> getParserForType() {
14314      return PARSER;
14315    }
14316
14317    public org.sonarqube.ws.WsPermissions.User getDefaultInstanceForType() {
14318      return DEFAULT_INSTANCE;
14319    }
14320
14321  }
14322
14323  public interface OldGroupOrBuilder extends
14324      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.OldGroup)
14325      com.google.protobuf.MessageOrBuilder {
14326
14327    /**
14328     * <code>optional string id = 1;</code>
14329     */
14330    boolean hasId();
14331    /**
14332     * <code>optional string id = 1;</code>
14333     */
14334    java.lang.String getId();
14335    /**
14336     * <code>optional string id = 1;</code>
14337     */
14338    com.google.protobuf.ByteString
14339        getIdBytes();
14340
14341    /**
14342     * <code>optional string name = 2;</code>
14343     */
14344    boolean hasName();
14345    /**
14346     * <code>optional string name = 2;</code>
14347     */
14348    java.lang.String getName();
14349    /**
14350     * <code>optional string name = 2;</code>
14351     */
14352    com.google.protobuf.ByteString
14353        getNameBytes();
14354
14355    /**
14356     * <code>optional string description = 3;</code>
14357     */
14358    boolean hasDescription();
14359    /**
14360     * <code>optional string description = 3;</code>
14361     */
14362    java.lang.String getDescription();
14363    /**
14364     * <code>optional string description = 3;</code>
14365     */
14366    com.google.protobuf.ByteString
14367        getDescriptionBytes();
14368
14369    /**
14370     * <code>optional bool selected = 4;</code>
14371     */
14372    boolean hasSelected();
14373    /**
14374     * <code>optional bool selected = 4;</code>
14375     */
14376    boolean getSelected();
14377  }
14378  /**
14379   * Protobuf type {@code sonarqube.ws.permissions.OldGroup}
14380   */
14381  public  static final class OldGroup extends
14382      com.google.protobuf.GeneratedMessage implements
14383      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.OldGroup)
14384      OldGroupOrBuilder {
14385    // Use OldGroup.newBuilder() to construct.
14386    private OldGroup(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
14387      super(builder);
14388    }
14389    private OldGroup() {
14390      id_ = "";
14391      name_ = "";
14392      description_ = "";
14393      selected_ = false;
14394    }
14395
14396    @java.lang.Override
14397    public final com.google.protobuf.UnknownFieldSet
14398    getUnknownFields() {
14399      return this.unknownFields;
14400    }
14401    private OldGroup(
14402        com.google.protobuf.CodedInputStream input,
14403        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
14404      this();
14405      int mutable_bitField0_ = 0;
14406      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
14407          com.google.protobuf.UnknownFieldSet.newBuilder();
14408      try {
14409        boolean done = false;
14410        while (!done) {
14411          int tag = input.readTag();
14412          switch (tag) {
14413            case 0:
14414              done = true;
14415              break;
14416            default: {
14417              if (!parseUnknownField(input, unknownFields,
14418                                     extensionRegistry, tag)) {
14419                done = true;
14420              }
14421              break;
14422            }
14423            case 10: {
14424              com.google.protobuf.ByteString bs = input.readBytes();
14425              bitField0_ |= 0x00000001;
14426              id_ = bs;
14427              break;
14428            }
14429            case 18: {
14430              com.google.protobuf.ByteString bs = input.readBytes();
14431              bitField0_ |= 0x00000002;
14432              name_ = bs;
14433              break;
14434            }
14435            case 26: {
14436              com.google.protobuf.ByteString bs = input.readBytes();
14437              bitField0_ |= 0x00000004;
14438              description_ = bs;
14439              break;
14440            }
14441            case 32: {
14442              bitField0_ |= 0x00000008;
14443              selected_ = input.readBool();
14444              break;
14445            }
14446          }
14447        }
14448      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
14449        throw new RuntimeException(e.setUnfinishedMessage(this));
14450      } catch (java.io.IOException e) {
14451        throw new RuntimeException(
14452            new com.google.protobuf.InvalidProtocolBufferException(
14453                e.getMessage()).setUnfinishedMessage(this));
14454      } finally {
14455        this.unknownFields = unknownFields.build();
14456        makeExtensionsImmutable();
14457      }
14458    }
14459    public static final com.google.protobuf.Descriptors.Descriptor
14460        getDescriptor() {
14461      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldGroup_descriptor;
14462    }
14463
14464    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
14465        internalGetFieldAccessorTable() {
14466      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldGroup_fieldAccessorTable
14467          .ensureFieldAccessorsInitialized(
14468              org.sonarqube.ws.WsPermissions.OldGroup.class, org.sonarqube.ws.WsPermissions.OldGroup.Builder.class);
14469    }
14470
14471    private int bitField0_;
14472    public static final int ID_FIELD_NUMBER = 1;
14473    private volatile java.lang.Object id_;
14474    /**
14475     * <code>optional string id = 1;</code>
14476     */
14477    public boolean hasId() {
14478      return ((bitField0_ & 0x00000001) == 0x00000001);
14479    }
14480    /**
14481     * <code>optional string id = 1;</code>
14482     */
14483    public java.lang.String getId() {
14484      java.lang.Object ref = id_;
14485      if (ref instanceof java.lang.String) {
14486        return (java.lang.String) ref;
14487      } else {
14488        com.google.protobuf.ByteString bs = 
14489            (com.google.protobuf.ByteString) ref;
14490        java.lang.String s = bs.toStringUtf8();
14491        if (bs.isValidUtf8()) {
14492          id_ = s;
14493        }
14494        return s;
14495      }
14496    }
14497    /**
14498     * <code>optional string id = 1;</code>
14499     */
14500    public com.google.protobuf.ByteString
14501        getIdBytes() {
14502      java.lang.Object ref = id_;
14503      if (ref instanceof java.lang.String) {
14504        com.google.protobuf.ByteString b = 
14505            com.google.protobuf.ByteString.copyFromUtf8(
14506                (java.lang.String) ref);
14507        id_ = b;
14508        return b;
14509      } else {
14510        return (com.google.protobuf.ByteString) ref;
14511      }
14512    }
14513
14514    public static final int NAME_FIELD_NUMBER = 2;
14515    private volatile java.lang.Object name_;
14516    /**
14517     * <code>optional string name = 2;</code>
14518     */
14519    public boolean hasName() {
14520      return ((bitField0_ & 0x00000002) == 0x00000002);
14521    }
14522    /**
14523     * <code>optional string name = 2;</code>
14524     */
14525    public java.lang.String getName() {
14526      java.lang.Object ref = name_;
14527      if (ref instanceof java.lang.String) {
14528        return (java.lang.String) ref;
14529      } else {
14530        com.google.protobuf.ByteString bs = 
14531            (com.google.protobuf.ByteString) ref;
14532        java.lang.String s = bs.toStringUtf8();
14533        if (bs.isValidUtf8()) {
14534          name_ = s;
14535        }
14536        return s;
14537      }
14538    }
14539    /**
14540     * <code>optional string name = 2;</code>
14541     */
14542    public com.google.protobuf.ByteString
14543        getNameBytes() {
14544      java.lang.Object ref = name_;
14545      if (ref instanceof java.lang.String) {
14546        com.google.protobuf.ByteString b = 
14547            com.google.protobuf.ByteString.copyFromUtf8(
14548                (java.lang.String) ref);
14549        name_ = b;
14550        return b;
14551      } else {
14552        return (com.google.protobuf.ByteString) ref;
14553      }
14554    }
14555
14556    public static final int DESCRIPTION_FIELD_NUMBER = 3;
14557    private volatile java.lang.Object description_;
14558    /**
14559     * <code>optional string description = 3;</code>
14560     */
14561    public boolean hasDescription() {
14562      return ((bitField0_ & 0x00000004) == 0x00000004);
14563    }
14564    /**
14565     * <code>optional string description = 3;</code>
14566     */
14567    public java.lang.String getDescription() {
14568      java.lang.Object ref = description_;
14569      if (ref instanceof java.lang.String) {
14570        return (java.lang.String) ref;
14571      } else {
14572        com.google.protobuf.ByteString bs = 
14573            (com.google.protobuf.ByteString) ref;
14574        java.lang.String s = bs.toStringUtf8();
14575        if (bs.isValidUtf8()) {
14576          description_ = s;
14577        }
14578        return s;
14579      }
14580    }
14581    /**
14582     * <code>optional string description = 3;</code>
14583     */
14584    public com.google.protobuf.ByteString
14585        getDescriptionBytes() {
14586      java.lang.Object ref = description_;
14587      if (ref instanceof java.lang.String) {
14588        com.google.protobuf.ByteString b = 
14589            com.google.protobuf.ByteString.copyFromUtf8(
14590                (java.lang.String) ref);
14591        description_ = b;
14592        return b;
14593      } else {
14594        return (com.google.protobuf.ByteString) ref;
14595      }
14596    }
14597
14598    public static final int SELECTED_FIELD_NUMBER = 4;
14599    private boolean selected_;
14600    /**
14601     * <code>optional bool selected = 4;</code>
14602     */
14603    public boolean hasSelected() {
14604      return ((bitField0_ & 0x00000008) == 0x00000008);
14605    }
14606    /**
14607     * <code>optional bool selected = 4;</code>
14608     */
14609    public boolean getSelected() {
14610      return selected_;
14611    }
14612
14613    private byte memoizedIsInitialized = -1;
14614    public final boolean isInitialized() {
14615      byte isInitialized = memoizedIsInitialized;
14616      if (isInitialized == 1) return true;
14617      if (isInitialized == 0) return false;
14618
14619      memoizedIsInitialized = 1;
14620      return true;
14621    }
14622
14623    public void writeTo(com.google.protobuf.CodedOutputStream output)
14624                        throws java.io.IOException {
14625      if (((bitField0_ & 0x00000001) == 0x00000001)) {
14626        com.google.protobuf.GeneratedMessage.writeString(output, 1, id_);
14627      }
14628      if (((bitField0_ & 0x00000002) == 0x00000002)) {
14629        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
14630      }
14631      if (((bitField0_ & 0x00000004) == 0x00000004)) {
14632        com.google.protobuf.GeneratedMessage.writeString(output, 3, description_);
14633      }
14634      if (((bitField0_ & 0x00000008) == 0x00000008)) {
14635        output.writeBool(4, selected_);
14636      }
14637      unknownFields.writeTo(output);
14638    }
14639
14640    public int getSerializedSize() {
14641      int size = memoizedSize;
14642      if (size != -1) return size;
14643
14644      size = 0;
14645      if (((bitField0_ & 0x00000001) == 0x00000001)) {
14646        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, id_);
14647      }
14648      if (((bitField0_ & 0x00000002) == 0x00000002)) {
14649        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
14650      }
14651      if (((bitField0_ & 0x00000004) == 0x00000004)) {
14652        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_);
14653      }
14654      if (((bitField0_ & 0x00000008) == 0x00000008)) {
14655        size += com.google.protobuf.CodedOutputStream
14656          .computeBoolSize(4, selected_);
14657      }
14658      size += unknownFields.getSerializedSize();
14659      memoizedSize = size;
14660      return size;
14661    }
14662
14663    private static final long serialVersionUID = 0L;
14664    public static org.sonarqube.ws.WsPermissions.OldGroup parseFrom(
14665        com.google.protobuf.ByteString data)
14666        throws com.google.protobuf.InvalidProtocolBufferException {
14667      return PARSER.parseFrom(data);
14668    }
14669    public static org.sonarqube.ws.WsPermissions.OldGroup parseFrom(
14670        com.google.protobuf.ByteString data,
14671        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14672        throws com.google.protobuf.InvalidProtocolBufferException {
14673      return PARSER.parseFrom(data, extensionRegistry);
14674    }
14675    public static org.sonarqube.ws.WsPermissions.OldGroup parseFrom(byte[] data)
14676        throws com.google.protobuf.InvalidProtocolBufferException {
14677      return PARSER.parseFrom(data);
14678    }
14679    public static org.sonarqube.ws.WsPermissions.OldGroup parseFrom(
14680        byte[] data,
14681        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14682        throws com.google.protobuf.InvalidProtocolBufferException {
14683      return PARSER.parseFrom(data, extensionRegistry);
14684    }
14685    public static org.sonarqube.ws.WsPermissions.OldGroup parseFrom(java.io.InputStream input)
14686        throws java.io.IOException {
14687      return PARSER.parseFrom(input);
14688    }
14689    public static org.sonarqube.ws.WsPermissions.OldGroup parseFrom(
14690        java.io.InputStream input,
14691        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14692        throws java.io.IOException {
14693      return PARSER.parseFrom(input, extensionRegistry);
14694    }
14695    public static org.sonarqube.ws.WsPermissions.OldGroup parseDelimitedFrom(java.io.InputStream input)
14696        throws java.io.IOException {
14697      return PARSER.parseDelimitedFrom(input);
14698    }
14699    public static org.sonarqube.ws.WsPermissions.OldGroup parseDelimitedFrom(
14700        java.io.InputStream input,
14701        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14702        throws java.io.IOException {
14703      return PARSER.parseDelimitedFrom(input, extensionRegistry);
14704    }
14705    public static org.sonarqube.ws.WsPermissions.OldGroup parseFrom(
14706        com.google.protobuf.CodedInputStream input)
14707        throws java.io.IOException {
14708      return PARSER.parseFrom(input);
14709    }
14710    public static org.sonarqube.ws.WsPermissions.OldGroup parseFrom(
14711        com.google.protobuf.CodedInputStream input,
14712        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14713        throws java.io.IOException {
14714      return PARSER.parseFrom(input, extensionRegistry);
14715    }
14716
14717    public Builder newBuilderForType() { return newBuilder(); }
14718    public static Builder newBuilder() {
14719      return DEFAULT_INSTANCE.toBuilder();
14720    }
14721    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.OldGroup prototype) {
14722      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
14723    }
14724    public Builder toBuilder() {
14725      return this == DEFAULT_INSTANCE
14726          ? new Builder() : new Builder().mergeFrom(this);
14727    }
14728
14729    @java.lang.Override
14730    protected Builder newBuilderForType(
14731        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
14732      Builder builder = new Builder(parent);
14733      return builder;
14734    }
14735    /**
14736     * Protobuf type {@code sonarqube.ws.permissions.OldGroup}
14737     */
14738    public static final class Builder extends
14739        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
14740        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.OldGroup)
14741        org.sonarqube.ws.WsPermissions.OldGroupOrBuilder {
14742      public static final com.google.protobuf.Descriptors.Descriptor
14743          getDescriptor() {
14744        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldGroup_descriptor;
14745      }
14746
14747      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
14748          internalGetFieldAccessorTable() {
14749        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldGroup_fieldAccessorTable
14750            .ensureFieldAccessorsInitialized(
14751                org.sonarqube.ws.WsPermissions.OldGroup.class, org.sonarqube.ws.WsPermissions.OldGroup.Builder.class);
14752      }
14753
14754      // Construct using org.sonarqube.ws.WsPermissions.OldGroup.newBuilder()
14755      private Builder() {
14756        maybeForceBuilderInitialization();
14757      }
14758
14759      private Builder(
14760          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
14761        super(parent);
14762        maybeForceBuilderInitialization();
14763      }
14764      private void maybeForceBuilderInitialization() {
14765        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
14766        }
14767      }
14768      public Builder clear() {
14769        super.clear();
14770        id_ = "";
14771        bitField0_ = (bitField0_ & ~0x00000001);
14772        name_ = "";
14773        bitField0_ = (bitField0_ & ~0x00000002);
14774        description_ = "";
14775        bitField0_ = (bitField0_ & ~0x00000004);
14776        selected_ = false;
14777        bitField0_ = (bitField0_ & ~0x00000008);
14778        return this;
14779      }
14780
14781      public com.google.protobuf.Descriptors.Descriptor
14782          getDescriptorForType() {
14783        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_OldGroup_descriptor;
14784      }
14785
14786      public org.sonarqube.ws.WsPermissions.OldGroup getDefaultInstanceForType() {
14787        return org.sonarqube.ws.WsPermissions.OldGroup.getDefaultInstance();
14788      }
14789
14790      public org.sonarqube.ws.WsPermissions.OldGroup build() {
14791        org.sonarqube.ws.WsPermissions.OldGroup result = buildPartial();
14792        if (!result.isInitialized()) {
14793          throw newUninitializedMessageException(result);
14794        }
14795        return result;
14796      }
14797
14798      public org.sonarqube.ws.WsPermissions.OldGroup buildPartial() {
14799        org.sonarqube.ws.WsPermissions.OldGroup result = new org.sonarqube.ws.WsPermissions.OldGroup(this);
14800        int from_bitField0_ = bitField0_;
14801        int to_bitField0_ = 0;
14802        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
14803          to_bitField0_ |= 0x00000001;
14804        }
14805        result.id_ = id_;
14806        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
14807          to_bitField0_ |= 0x00000002;
14808        }
14809        result.name_ = name_;
14810        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
14811          to_bitField0_ |= 0x00000004;
14812        }
14813        result.description_ = description_;
14814        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
14815          to_bitField0_ |= 0x00000008;
14816        }
14817        result.selected_ = selected_;
14818        result.bitField0_ = to_bitField0_;
14819        onBuilt();
14820        return result;
14821      }
14822
14823      public Builder mergeFrom(com.google.protobuf.Message other) {
14824        if (other instanceof org.sonarqube.ws.WsPermissions.OldGroup) {
14825          return mergeFrom((org.sonarqube.ws.WsPermissions.OldGroup)other);
14826        } else {
14827          super.mergeFrom(other);
14828          return this;
14829        }
14830      }
14831
14832      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.OldGroup other) {
14833        if (other == org.sonarqube.ws.WsPermissions.OldGroup.getDefaultInstance()) return this;
14834        if (other.hasId()) {
14835          bitField0_ |= 0x00000001;
14836          id_ = other.id_;
14837          onChanged();
14838        }
14839        if (other.hasName()) {
14840          bitField0_ |= 0x00000002;
14841          name_ = other.name_;
14842          onChanged();
14843        }
14844        if (other.hasDescription()) {
14845          bitField0_ |= 0x00000004;
14846          description_ = other.description_;
14847          onChanged();
14848        }
14849        if (other.hasSelected()) {
14850          setSelected(other.getSelected());
14851        }
14852        this.mergeUnknownFields(other.unknownFields);
14853        onChanged();
14854        return this;
14855      }
14856
14857      public final boolean isInitialized() {
14858        return true;
14859      }
14860
14861      public Builder mergeFrom(
14862          com.google.protobuf.CodedInputStream input,
14863          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14864          throws java.io.IOException {
14865        org.sonarqube.ws.WsPermissions.OldGroup parsedMessage = null;
14866        try {
14867          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
14868        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
14869          parsedMessage = (org.sonarqube.ws.WsPermissions.OldGroup) e.getUnfinishedMessage();
14870          throw e;
14871        } finally {
14872          if (parsedMessage != null) {
14873            mergeFrom(parsedMessage);
14874          }
14875        }
14876        return this;
14877      }
14878      private int bitField0_;
14879
14880      private java.lang.Object id_ = "";
14881      /**
14882       * <code>optional string id = 1;</code>
14883       */
14884      public boolean hasId() {
14885        return ((bitField0_ & 0x00000001) == 0x00000001);
14886      }
14887      /**
14888       * <code>optional string id = 1;</code>
14889       */
14890      public java.lang.String getId() {
14891        java.lang.Object ref = id_;
14892        if (!(ref instanceof java.lang.String)) {
14893          com.google.protobuf.ByteString bs =
14894              (com.google.protobuf.ByteString) ref;
14895          java.lang.String s = bs.toStringUtf8();
14896          if (bs.isValidUtf8()) {
14897            id_ = s;
14898          }
14899          return s;
14900        } else {
14901          return (java.lang.String) ref;
14902        }
14903      }
14904      /**
14905       * <code>optional string id = 1;</code>
14906       */
14907      public com.google.protobuf.ByteString
14908          getIdBytes() {
14909        java.lang.Object ref = id_;
14910        if (ref instanceof String) {
14911          com.google.protobuf.ByteString b = 
14912              com.google.protobuf.ByteString.copyFromUtf8(
14913                  (java.lang.String) ref);
14914          id_ = b;
14915          return b;
14916        } else {
14917          return (com.google.protobuf.ByteString) ref;
14918        }
14919      }
14920      /**
14921       * <code>optional string id = 1;</code>
14922       */
14923      public Builder setId(
14924          java.lang.String value) {
14925        if (value == null) {
14926    throw new NullPointerException();
14927  }
14928  bitField0_ |= 0x00000001;
14929        id_ = value;
14930        onChanged();
14931        return this;
14932      }
14933      /**
14934       * <code>optional string id = 1;</code>
14935       */
14936      public Builder clearId() {
14937        bitField0_ = (bitField0_ & ~0x00000001);
14938        id_ = getDefaultInstance().getId();
14939        onChanged();
14940        return this;
14941      }
14942      /**
14943       * <code>optional string id = 1;</code>
14944       */
14945      public Builder setIdBytes(
14946          com.google.protobuf.ByteString value) {
14947        if (value == null) {
14948    throw new NullPointerException();
14949  }
14950  bitField0_ |= 0x00000001;
14951        id_ = value;
14952        onChanged();
14953        return this;
14954      }
14955
14956      private java.lang.Object name_ = "";
14957      /**
14958       * <code>optional string name = 2;</code>
14959       */
14960      public boolean hasName() {
14961        return ((bitField0_ & 0x00000002) == 0x00000002);
14962      }
14963      /**
14964       * <code>optional string name = 2;</code>
14965       */
14966      public java.lang.String getName() {
14967        java.lang.Object ref = name_;
14968        if (!(ref instanceof java.lang.String)) {
14969          com.google.protobuf.ByteString bs =
14970              (com.google.protobuf.ByteString) ref;
14971          java.lang.String s = bs.toStringUtf8();
14972          if (bs.isValidUtf8()) {
14973            name_ = s;
14974          }
14975          return s;
14976        } else {
14977          return (java.lang.String) ref;
14978        }
14979      }
14980      /**
14981       * <code>optional string name = 2;</code>
14982       */
14983      public com.google.protobuf.ByteString
14984          getNameBytes() {
14985        java.lang.Object ref = name_;
14986        if (ref instanceof String) {
14987          com.google.protobuf.ByteString b = 
14988              com.google.protobuf.ByteString.copyFromUtf8(
14989                  (java.lang.String) ref);
14990          name_ = b;
14991          return b;
14992        } else {
14993          return (com.google.protobuf.ByteString) ref;
14994        }
14995      }
14996      /**
14997       * <code>optional string name = 2;</code>
14998       */
14999      public Builder setName(
15000          java.lang.String value) {
15001        if (value == null) {
15002    throw new NullPointerException();
15003  }
15004  bitField0_ |= 0x00000002;
15005        name_ = value;
15006        onChanged();
15007        return this;
15008      }
15009      /**
15010       * <code>optional string name = 2;</code>
15011       */
15012      public Builder clearName() {
15013        bitField0_ = (bitField0_ & ~0x00000002);
15014        name_ = getDefaultInstance().getName();
15015        onChanged();
15016        return this;
15017      }
15018      /**
15019       * <code>optional string name = 2;</code>
15020       */
15021      public Builder setNameBytes(
15022          com.google.protobuf.ByteString value) {
15023        if (value == null) {
15024    throw new NullPointerException();
15025  }
15026  bitField0_ |= 0x00000002;
15027        name_ = value;
15028        onChanged();
15029        return this;
15030      }
15031
15032      private java.lang.Object description_ = "";
15033      /**
15034       * <code>optional string description = 3;</code>
15035       */
15036      public boolean hasDescription() {
15037        return ((bitField0_ & 0x00000004) == 0x00000004);
15038      }
15039      /**
15040       * <code>optional string description = 3;</code>
15041       */
15042      public java.lang.String getDescription() {
15043        java.lang.Object ref = description_;
15044        if (!(ref instanceof java.lang.String)) {
15045          com.google.protobuf.ByteString bs =
15046              (com.google.protobuf.ByteString) ref;
15047          java.lang.String s = bs.toStringUtf8();
15048          if (bs.isValidUtf8()) {
15049            description_ = s;
15050          }
15051          return s;
15052        } else {
15053          return (java.lang.String) ref;
15054        }
15055      }
15056      /**
15057       * <code>optional string description = 3;</code>
15058       */
15059      public com.google.protobuf.ByteString
15060          getDescriptionBytes() {
15061        java.lang.Object ref = description_;
15062        if (ref instanceof String) {
15063          com.google.protobuf.ByteString b = 
15064              com.google.protobuf.ByteString.copyFromUtf8(
15065                  (java.lang.String) ref);
15066          description_ = b;
15067          return b;
15068        } else {
15069          return (com.google.protobuf.ByteString) ref;
15070        }
15071      }
15072      /**
15073       * <code>optional string description = 3;</code>
15074       */
15075      public Builder setDescription(
15076          java.lang.String value) {
15077        if (value == null) {
15078    throw new NullPointerException();
15079  }
15080  bitField0_ |= 0x00000004;
15081        description_ = value;
15082        onChanged();
15083        return this;
15084      }
15085      /**
15086       * <code>optional string description = 3;</code>
15087       */
15088      public Builder clearDescription() {
15089        bitField0_ = (bitField0_ & ~0x00000004);
15090        description_ = getDefaultInstance().getDescription();
15091        onChanged();
15092        return this;
15093      }
15094      /**
15095       * <code>optional string description = 3;</code>
15096       */
15097      public Builder setDescriptionBytes(
15098          com.google.protobuf.ByteString value) {
15099        if (value == null) {
15100    throw new NullPointerException();
15101  }
15102  bitField0_ |= 0x00000004;
15103        description_ = value;
15104        onChanged();
15105        return this;
15106      }
15107
15108      private boolean selected_ ;
15109      /**
15110       * <code>optional bool selected = 4;</code>
15111       */
15112      public boolean hasSelected() {
15113        return ((bitField0_ & 0x00000008) == 0x00000008);
15114      }
15115      /**
15116       * <code>optional bool selected = 4;</code>
15117       */
15118      public boolean getSelected() {
15119        return selected_;
15120      }
15121      /**
15122       * <code>optional bool selected = 4;</code>
15123       */
15124      public Builder setSelected(boolean value) {
15125        bitField0_ |= 0x00000008;
15126        selected_ = value;
15127        onChanged();
15128        return this;
15129      }
15130      /**
15131       * <code>optional bool selected = 4;</code>
15132       */
15133      public Builder clearSelected() {
15134        bitField0_ = (bitField0_ & ~0x00000008);
15135        selected_ = false;
15136        onChanged();
15137        return this;
15138      }
15139
15140      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.OldGroup)
15141    }
15142
15143    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.OldGroup)
15144    private static final org.sonarqube.ws.WsPermissions.OldGroup DEFAULT_INSTANCE;
15145    static {
15146      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.OldGroup();
15147    }
15148
15149    public static org.sonarqube.ws.WsPermissions.OldGroup getDefaultInstance() {
15150      return DEFAULT_INSTANCE;
15151    }
15152
15153    @java.lang.Deprecated public static final com.google.protobuf.Parser<OldGroup>
15154        PARSER = new com.google.protobuf.AbstractParser<OldGroup>() {
15155      public OldGroup parsePartialFrom(
15156          com.google.protobuf.CodedInputStream input,
15157          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15158          throws com.google.protobuf.InvalidProtocolBufferException {
15159        try {
15160          return new OldGroup(input, extensionRegistry);
15161        } catch (RuntimeException e) {
15162          if (e.getCause() instanceof
15163              com.google.protobuf.InvalidProtocolBufferException) {
15164            throw (com.google.protobuf.InvalidProtocolBufferException)
15165                e.getCause();
15166          }
15167          throw e;
15168        }
15169      }
15170    };
15171
15172    public static com.google.protobuf.Parser<OldGroup> parser() {
15173      return PARSER;
15174    }
15175
15176    @java.lang.Override
15177    public com.google.protobuf.Parser<OldGroup> getParserForType() {
15178      return PARSER;
15179    }
15180
15181    public org.sonarqube.ws.WsPermissions.OldGroup getDefaultInstanceForType() {
15182      return DEFAULT_INSTANCE;
15183    }
15184
15185  }
15186
15187  public interface GroupOrBuilder extends
15188      // @@protoc_insertion_point(interface_extends:sonarqube.ws.permissions.Group)
15189      com.google.protobuf.MessageOrBuilder {
15190
15191    /**
15192     * <code>optional string id = 1;</code>
15193     */
15194    boolean hasId();
15195    /**
15196     * <code>optional string id = 1;</code>
15197     */
15198    java.lang.String getId();
15199    /**
15200     * <code>optional string id = 1;</code>
15201     */
15202    com.google.protobuf.ByteString
15203        getIdBytes();
15204
15205    /**
15206     * <code>optional string name = 2;</code>
15207     */
15208    boolean hasName();
15209    /**
15210     * <code>optional string name = 2;</code>
15211     */
15212    java.lang.String getName();
15213    /**
15214     * <code>optional string name = 2;</code>
15215     */
15216    com.google.protobuf.ByteString
15217        getNameBytes();
15218
15219    /**
15220     * <code>optional string description = 3;</code>
15221     */
15222    boolean hasDescription();
15223    /**
15224     * <code>optional string description = 3;</code>
15225     */
15226    java.lang.String getDescription();
15227    /**
15228     * <code>optional string description = 3;</code>
15229     */
15230    com.google.protobuf.ByteString
15231        getDescriptionBytes();
15232
15233    /**
15234     * <code>repeated string permissions = 4;</code>
15235     */
15236    com.google.protobuf.ProtocolStringList
15237        getPermissionsList();
15238    /**
15239     * <code>repeated string permissions = 4;</code>
15240     */
15241    int getPermissionsCount();
15242    /**
15243     * <code>repeated string permissions = 4;</code>
15244     */
15245    java.lang.String getPermissions(int index);
15246    /**
15247     * <code>repeated string permissions = 4;</code>
15248     */
15249    com.google.protobuf.ByteString
15250        getPermissionsBytes(int index);
15251  }
15252  /**
15253   * Protobuf type {@code sonarqube.ws.permissions.Group}
15254   */
15255  public  static final class Group extends
15256      com.google.protobuf.GeneratedMessage implements
15257      // @@protoc_insertion_point(message_implements:sonarqube.ws.permissions.Group)
15258      GroupOrBuilder {
15259    // Use Group.newBuilder() to construct.
15260    private Group(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
15261      super(builder);
15262    }
15263    private Group() {
15264      id_ = "";
15265      name_ = "";
15266      description_ = "";
15267      permissions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
15268    }
15269
15270    @java.lang.Override
15271    public final com.google.protobuf.UnknownFieldSet
15272    getUnknownFields() {
15273      return this.unknownFields;
15274    }
15275    private Group(
15276        com.google.protobuf.CodedInputStream input,
15277        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
15278      this();
15279      int mutable_bitField0_ = 0;
15280      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
15281          com.google.protobuf.UnknownFieldSet.newBuilder();
15282      try {
15283        boolean done = false;
15284        while (!done) {
15285          int tag = input.readTag();
15286          switch (tag) {
15287            case 0:
15288              done = true;
15289              break;
15290            default: {
15291              if (!parseUnknownField(input, unknownFields,
15292                                     extensionRegistry, tag)) {
15293                done = true;
15294              }
15295              break;
15296            }
15297            case 10: {
15298              com.google.protobuf.ByteString bs = input.readBytes();
15299              bitField0_ |= 0x00000001;
15300              id_ = bs;
15301              break;
15302            }
15303            case 18: {
15304              com.google.protobuf.ByteString bs = input.readBytes();
15305              bitField0_ |= 0x00000002;
15306              name_ = bs;
15307              break;
15308            }
15309            case 26: {
15310              com.google.protobuf.ByteString bs = input.readBytes();
15311              bitField0_ |= 0x00000004;
15312              description_ = bs;
15313              break;
15314            }
15315            case 34: {
15316              com.google.protobuf.ByteString bs = input.readBytes();
15317              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
15318                permissions_ = new com.google.protobuf.LazyStringArrayList();
15319                mutable_bitField0_ |= 0x00000008;
15320              }
15321              permissions_.add(bs);
15322              break;
15323            }
15324          }
15325        }
15326      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
15327        throw new RuntimeException(e.setUnfinishedMessage(this));
15328      } catch (java.io.IOException e) {
15329        throw new RuntimeException(
15330            new com.google.protobuf.InvalidProtocolBufferException(
15331                e.getMessage()).setUnfinishedMessage(this));
15332      } finally {
15333        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
15334          permissions_ = permissions_.getUnmodifiableView();
15335        }
15336        this.unknownFields = unknownFields.build();
15337        makeExtensionsImmutable();
15338      }
15339    }
15340    public static final com.google.protobuf.Descriptors.Descriptor
15341        getDescriptor() {
15342      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Group_descriptor;
15343    }
15344
15345    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
15346        internalGetFieldAccessorTable() {
15347      return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Group_fieldAccessorTable
15348          .ensureFieldAccessorsInitialized(
15349              org.sonarqube.ws.WsPermissions.Group.class, org.sonarqube.ws.WsPermissions.Group.Builder.class);
15350    }
15351
15352    private int bitField0_;
15353    public static final int ID_FIELD_NUMBER = 1;
15354    private volatile java.lang.Object id_;
15355    /**
15356     * <code>optional string id = 1;</code>
15357     */
15358    public boolean hasId() {
15359      return ((bitField0_ & 0x00000001) == 0x00000001);
15360    }
15361    /**
15362     * <code>optional string id = 1;</code>
15363     */
15364    public java.lang.String getId() {
15365      java.lang.Object ref = id_;
15366      if (ref instanceof java.lang.String) {
15367        return (java.lang.String) ref;
15368      } else {
15369        com.google.protobuf.ByteString bs = 
15370            (com.google.protobuf.ByteString) ref;
15371        java.lang.String s = bs.toStringUtf8();
15372        if (bs.isValidUtf8()) {
15373          id_ = s;
15374        }
15375        return s;
15376      }
15377    }
15378    /**
15379     * <code>optional string id = 1;</code>
15380     */
15381    public com.google.protobuf.ByteString
15382        getIdBytes() {
15383      java.lang.Object ref = id_;
15384      if (ref instanceof java.lang.String) {
15385        com.google.protobuf.ByteString b = 
15386            com.google.protobuf.ByteString.copyFromUtf8(
15387                (java.lang.String) ref);
15388        id_ = b;
15389        return b;
15390      } else {
15391        return (com.google.protobuf.ByteString) ref;
15392      }
15393    }
15394
15395    public static final int NAME_FIELD_NUMBER = 2;
15396    private volatile java.lang.Object name_;
15397    /**
15398     * <code>optional string name = 2;</code>
15399     */
15400    public boolean hasName() {
15401      return ((bitField0_ & 0x00000002) == 0x00000002);
15402    }
15403    /**
15404     * <code>optional string name = 2;</code>
15405     */
15406    public java.lang.String getName() {
15407      java.lang.Object ref = name_;
15408      if (ref instanceof java.lang.String) {
15409        return (java.lang.String) ref;
15410      } else {
15411        com.google.protobuf.ByteString bs = 
15412            (com.google.protobuf.ByteString) ref;
15413        java.lang.String s = bs.toStringUtf8();
15414        if (bs.isValidUtf8()) {
15415          name_ = s;
15416        }
15417        return s;
15418      }
15419    }
15420    /**
15421     * <code>optional string name = 2;</code>
15422     */
15423    public com.google.protobuf.ByteString
15424        getNameBytes() {
15425      java.lang.Object ref = name_;
15426      if (ref instanceof java.lang.String) {
15427        com.google.protobuf.ByteString b = 
15428            com.google.protobuf.ByteString.copyFromUtf8(
15429                (java.lang.String) ref);
15430        name_ = b;
15431        return b;
15432      } else {
15433        return (com.google.protobuf.ByteString) ref;
15434      }
15435    }
15436
15437    public static final int DESCRIPTION_FIELD_NUMBER = 3;
15438    private volatile java.lang.Object description_;
15439    /**
15440     * <code>optional string description = 3;</code>
15441     */
15442    public boolean hasDescription() {
15443      return ((bitField0_ & 0x00000004) == 0x00000004);
15444    }
15445    /**
15446     * <code>optional string description = 3;</code>
15447     */
15448    public java.lang.String getDescription() {
15449      java.lang.Object ref = description_;
15450      if (ref instanceof java.lang.String) {
15451        return (java.lang.String) ref;
15452      } else {
15453        com.google.protobuf.ByteString bs = 
15454            (com.google.protobuf.ByteString) ref;
15455        java.lang.String s = bs.toStringUtf8();
15456        if (bs.isValidUtf8()) {
15457          description_ = s;
15458        }
15459        return s;
15460      }
15461    }
15462    /**
15463     * <code>optional string description = 3;</code>
15464     */
15465    public com.google.protobuf.ByteString
15466        getDescriptionBytes() {
15467      java.lang.Object ref = description_;
15468      if (ref instanceof java.lang.String) {
15469        com.google.protobuf.ByteString b = 
15470            com.google.protobuf.ByteString.copyFromUtf8(
15471                (java.lang.String) ref);
15472        description_ = b;
15473        return b;
15474      } else {
15475        return (com.google.protobuf.ByteString) ref;
15476      }
15477    }
15478
15479    public static final int PERMISSIONS_FIELD_NUMBER = 4;
15480    private com.google.protobuf.LazyStringList permissions_;
15481    /**
15482     * <code>repeated string permissions = 4;</code>
15483     */
15484    public com.google.protobuf.ProtocolStringList
15485        getPermissionsList() {
15486      return permissions_;
15487    }
15488    /**
15489     * <code>repeated string permissions = 4;</code>
15490     */
15491    public int getPermissionsCount() {
15492      return permissions_.size();
15493    }
15494    /**
15495     * <code>repeated string permissions = 4;</code>
15496     */
15497    public java.lang.String getPermissions(int index) {
15498      return permissions_.get(index);
15499    }
15500    /**
15501     * <code>repeated string permissions = 4;</code>
15502     */
15503    public com.google.protobuf.ByteString
15504        getPermissionsBytes(int index) {
15505      return permissions_.getByteString(index);
15506    }
15507
15508    private byte memoizedIsInitialized = -1;
15509    public final boolean isInitialized() {
15510      byte isInitialized = memoizedIsInitialized;
15511      if (isInitialized == 1) return true;
15512      if (isInitialized == 0) return false;
15513
15514      memoizedIsInitialized = 1;
15515      return true;
15516    }
15517
15518    public void writeTo(com.google.protobuf.CodedOutputStream output)
15519                        throws java.io.IOException {
15520      if (((bitField0_ & 0x00000001) == 0x00000001)) {
15521        com.google.protobuf.GeneratedMessage.writeString(output, 1, id_);
15522      }
15523      if (((bitField0_ & 0x00000002) == 0x00000002)) {
15524        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
15525      }
15526      if (((bitField0_ & 0x00000004) == 0x00000004)) {
15527        com.google.protobuf.GeneratedMessage.writeString(output, 3, description_);
15528      }
15529      for (int i = 0; i < permissions_.size(); i++) {
15530        com.google.protobuf.GeneratedMessage.writeString(output, 4, permissions_.getRaw(i));
15531      }
15532      unknownFields.writeTo(output);
15533    }
15534
15535    public int getSerializedSize() {
15536      int size = memoizedSize;
15537      if (size != -1) return size;
15538
15539      size = 0;
15540      if (((bitField0_ & 0x00000001) == 0x00000001)) {
15541        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, id_);
15542      }
15543      if (((bitField0_ & 0x00000002) == 0x00000002)) {
15544        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
15545      }
15546      if (((bitField0_ & 0x00000004) == 0x00000004)) {
15547        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_);
15548      }
15549      {
15550        int dataSize = 0;
15551        for (int i = 0; i < permissions_.size(); i++) {
15552          dataSize += computeStringSizeNoTag(permissions_.getRaw(i));
15553        }
15554        size += dataSize;
15555        size += 1 * getPermissionsList().size();
15556      }
15557      size += unknownFields.getSerializedSize();
15558      memoizedSize = size;
15559      return size;
15560    }
15561
15562    private static final long serialVersionUID = 0L;
15563    public static org.sonarqube.ws.WsPermissions.Group parseFrom(
15564        com.google.protobuf.ByteString data)
15565        throws com.google.protobuf.InvalidProtocolBufferException {
15566      return PARSER.parseFrom(data);
15567    }
15568    public static org.sonarqube.ws.WsPermissions.Group parseFrom(
15569        com.google.protobuf.ByteString data,
15570        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15571        throws com.google.protobuf.InvalidProtocolBufferException {
15572      return PARSER.parseFrom(data, extensionRegistry);
15573    }
15574    public static org.sonarqube.ws.WsPermissions.Group parseFrom(byte[] data)
15575        throws com.google.protobuf.InvalidProtocolBufferException {
15576      return PARSER.parseFrom(data);
15577    }
15578    public static org.sonarqube.ws.WsPermissions.Group parseFrom(
15579        byte[] data,
15580        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15581        throws com.google.protobuf.InvalidProtocolBufferException {
15582      return PARSER.parseFrom(data, extensionRegistry);
15583    }
15584    public static org.sonarqube.ws.WsPermissions.Group parseFrom(java.io.InputStream input)
15585        throws java.io.IOException {
15586      return PARSER.parseFrom(input);
15587    }
15588    public static org.sonarqube.ws.WsPermissions.Group parseFrom(
15589        java.io.InputStream input,
15590        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15591        throws java.io.IOException {
15592      return PARSER.parseFrom(input, extensionRegistry);
15593    }
15594    public static org.sonarqube.ws.WsPermissions.Group parseDelimitedFrom(java.io.InputStream input)
15595        throws java.io.IOException {
15596      return PARSER.parseDelimitedFrom(input);
15597    }
15598    public static org.sonarqube.ws.WsPermissions.Group parseDelimitedFrom(
15599        java.io.InputStream input,
15600        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15601        throws java.io.IOException {
15602      return PARSER.parseDelimitedFrom(input, extensionRegistry);
15603    }
15604    public static org.sonarqube.ws.WsPermissions.Group parseFrom(
15605        com.google.protobuf.CodedInputStream input)
15606        throws java.io.IOException {
15607      return PARSER.parseFrom(input);
15608    }
15609    public static org.sonarqube.ws.WsPermissions.Group parseFrom(
15610        com.google.protobuf.CodedInputStream input,
15611        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15612        throws java.io.IOException {
15613      return PARSER.parseFrom(input, extensionRegistry);
15614    }
15615
15616    public Builder newBuilderForType() { return newBuilder(); }
15617    public static Builder newBuilder() {
15618      return DEFAULT_INSTANCE.toBuilder();
15619    }
15620    public static Builder newBuilder(org.sonarqube.ws.WsPermissions.Group prototype) {
15621      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
15622    }
15623    public Builder toBuilder() {
15624      return this == DEFAULT_INSTANCE
15625          ? new Builder() : new Builder().mergeFrom(this);
15626    }
15627
15628    @java.lang.Override
15629    protected Builder newBuilderForType(
15630        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
15631      Builder builder = new Builder(parent);
15632      return builder;
15633    }
15634    /**
15635     * Protobuf type {@code sonarqube.ws.permissions.Group}
15636     */
15637    public static final class Builder extends
15638        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
15639        // @@protoc_insertion_point(builder_implements:sonarqube.ws.permissions.Group)
15640        org.sonarqube.ws.WsPermissions.GroupOrBuilder {
15641      public static final com.google.protobuf.Descriptors.Descriptor
15642          getDescriptor() {
15643        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Group_descriptor;
15644      }
15645
15646      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
15647          internalGetFieldAccessorTable() {
15648        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Group_fieldAccessorTable
15649            .ensureFieldAccessorsInitialized(
15650                org.sonarqube.ws.WsPermissions.Group.class, org.sonarqube.ws.WsPermissions.Group.Builder.class);
15651      }
15652
15653      // Construct using org.sonarqube.ws.WsPermissions.Group.newBuilder()
15654      private Builder() {
15655        maybeForceBuilderInitialization();
15656      }
15657
15658      private Builder(
15659          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
15660        super(parent);
15661        maybeForceBuilderInitialization();
15662      }
15663      private void maybeForceBuilderInitialization() {
15664        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
15665        }
15666      }
15667      public Builder clear() {
15668        super.clear();
15669        id_ = "";
15670        bitField0_ = (bitField0_ & ~0x00000001);
15671        name_ = "";
15672        bitField0_ = (bitField0_ & ~0x00000002);
15673        description_ = "";
15674        bitField0_ = (bitField0_ & ~0x00000004);
15675        permissions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
15676        bitField0_ = (bitField0_ & ~0x00000008);
15677        return this;
15678      }
15679
15680      public com.google.protobuf.Descriptors.Descriptor
15681          getDescriptorForType() {
15682        return org.sonarqube.ws.WsPermissions.internal_static_sonarqube_ws_permissions_Group_descriptor;
15683      }
15684
15685      public org.sonarqube.ws.WsPermissions.Group getDefaultInstanceForType() {
15686        return org.sonarqube.ws.WsPermissions.Group.getDefaultInstance();
15687      }
15688
15689      public org.sonarqube.ws.WsPermissions.Group build() {
15690        org.sonarqube.ws.WsPermissions.Group result = buildPartial();
15691        if (!result.isInitialized()) {
15692          throw newUninitializedMessageException(result);
15693        }
15694        return result;
15695      }
15696
15697      public org.sonarqube.ws.WsPermissions.Group buildPartial() {
15698        org.sonarqube.ws.WsPermissions.Group result = new org.sonarqube.ws.WsPermissions.Group(this);
15699        int from_bitField0_ = bitField0_;
15700        int to_bitField0_ = 0;
15701        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
15702          to_bitField0_ |= 0x00000001;
15703        }
15704        result.id_ = id_;
15705        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
15706          to_bitField0_ |= 0x00000002;
15707        }
15708        result.name_ = name_;
15709        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
15710          to_bitField0_ |= 0x00000004;
15711        }
15712        result.description_ = description_;
15713        if (((bitField0_ & 0x00000008) == 0x00000008)) {
15714          permissions_ = permissions_.getUnmodifiableView();
15715          bitField0_ = (bitField0_ & ~0x00000008);
15716        }
15717        result.permissions_ = permissions_;
15718        result.bitField0_ = to_bitField0_;
15719        onBuilt();
15720        return result;
15721      }
15722
15723      public Builder mergeFrom(com.google.protobuf.Message other) {
15724        if (other instanceof org.sonarqube.ws.WsPermissions.Group) {
15725          return mergeFrom((org.sonarqube.ws.WsPermissions.Group)other);
15726        } else {
15727          super.mergeFrom(other);
15728          return this;
15729        }
15730      }
15731
15732      public Builder mergeFrom(org.sonarqube.ws.WsPermissions.Group other) {
15733        if (other == org.sonarqube.ws.WsPermissions.Group.getDefaultInstance()) return this;
15734        if (other.hasId()) {
15735          bitField0_ |= 0x00000001;
15736          id_ = other.id_;
15737          onChanged();
15738        }
15739        if (other.hasName()) {
15740          bitField0_ |= 0x00000002;
15741          name_ = other.name_;
15742          onChanged();
15743        }
15744        if (other.hasDescription()) {
15745          bitField0_ |= 0x00000004;
15746          description_ = other.description_;
15747          onChanged();
15748        }
15749        if (!other.permissions_.isEmpty()) {
15750          if (permissions_.isEmpty()) {
15751            permissions_ = other.permissions_;
15752            bitField0_ = (bitField0_ & ~0x00000008);
15753          } else {
15754            ensurePermissionsIsMutable();
15755            permissions_.addAll(other.permissions_);
15756          }
15757          onChanged();
15758        }
15759        this.mergeUnknownFields(other.unknownFields);
15760        onChanged();
15761        return this;
15762      }
15763
15764      public final boolean isInitialized() {
15765        return true;
15766      }
15767
15768      public Builder mergeFrom(
15769          com.google.protobuf.CodedInputStream input,
15770          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15771          throws java.io.IOException {
15772        org.sonarqube.ws.WsPermissions.Group parsedMessage = null;
15773        try {
15774          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
15775        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
15776          parsedMessage = (org.sonarqube.ws.WsPermissions.Group) e.getUnfinishedMessage();
15777          throw e;
15778        } finally {
15779          if (parsedMessage != null) {
15780            mergeFrom(parsedMessage);
15781          }
15782        }
15783        return this;
15784      }
15785      private int bitField0_;
15786
15787      private java.lang.Object id_ = "";
15788      /**
15789       * <code>optional string id = 1;</code>
15790       */
15791      public boolean hasId() {
15792        return ((bitField0_ & 0x00000001) == 0x00000001);
15793      }
15794      /**
15795       * <code>optional string id = 1;</code>
15796       */
15797      public java.lang.String getId() {
15798        java.lang.Object ref = id_;
15799        if (!(ref instanceof java.lang.String)) {
15800          com.google.protobuf.ByteString bs =
15801              (com.google.protobuf.ByteString) ref;
15802          java.lang.String s = bs.toStringUtf8();
15803          if (bs.isValidUtf8()) {
15804            id_ = s;
15805          }
15806          return s;
15807        } else {
15808          return (java.lang.String) ref;
15809        }
15810      }
15811      /**
15812       * <code>optional string id = 1;</code>
15813       */
15814      public com.google.protobuf.ByteString
15815          getIdBytes() {
15816        java.lang.Object ref = id_;
15817        if (ref instanceof String) {
15818          com.google.protobuf.ByteString b = 
15819              com.google.protobuf.ByteString.copyFromUtf8(
15820                  (java.lang.String) ref);
15821          id_ = b;
15822          return b;
15823        } else {
15824          return (com.google.protobuf.ByteString) ref;
15825        }
15826      }
15827      /**
15828       * <code>optional string id = 1;</code>
15829       */
15830      public Builder setId(
15831          java.lang.String value) {
15832        if (value == null) {
15833    throw new NullPointerException();
15834  }
15835  bitField0_ |= 0x00000001;
15836        id_ = value;
15837        onChanged();
15838        return this;
15839      }
15840      /**
15841       * <code>optional string id = 1;</code>
15842       */
15843      public Builder clearId() {
15844        bitField0_ = (bitField0_ & ~0x00000001);
15845        id_ = getDefaultInstance().getId();
15846        onChanged();
15847        return this;
15848      }
15849      /**
15850       * <code>optional string id = 1;</code>
15851       */
15852      public Builder setIdBytes(
15853          com.google.protobuf.ByteString value) {
15854        if (value == null) {
15855    throw new NullPointerException();
15856  }
15857  bitField0_ |= 0x00000001;
15858        id_ = value;
15859        onChanged();
15860        return this;
15861      }
15862
15863      private java.lang.Object name_ = "";
15864      /**
15865       * <code>optional string name = 2;</code>
15866       */
15867      public boolean hasName() {
15868        return ((bitField0_ & 0x00000002) == 0x00000002);
15869      }
15870      /**
15871       * <code>optional string name = 2;</code>
15872       */
15873      public java.lang.String getName() {
15874        java.lang.Object ref = name_;
15875        if (!(ref instanceof java.lang.String)) {
15876          com.google.protobuf.ByteString bs =
15877              (com.google.protobuf.ByteString) ref;
15878          java.lang.String s = bs.toStringUtf8();
15879          if (bs.isValidUtf8()) {
15880            name_ = s;
15881          }
15882          return s;
15883        } else {
15884          return (java.lang.String) ref;
15885        }
15886      }
15887      /**
15888       * <code>optional string name = 2;</code>
15889       */
15890      public com.google.protobuf.ByteString
15891          getNameBytes() {
15892        java.lang.Object ref = name_;
15893        if (ref instanceof String) {
15894          com.google.protobuf.ByteString b = 
15895              com.google.protobuf.ByteString.copyFromUtf8(
15896                  (java.lang.String) ref);
15897          name_ = b;
15898          return b;
15899        } else {
15900          return (com.google.protobuf.ByteString) ref;
15901        }
15902      }
15903      /**
15904       * <code>optional string name = 2;</code>
15905       */
15906      public Builder setName(
15907          java.lang.String value) {
15908        if (value == null) {
15909    throw new NullPointerException();
15910  }
15911  bitField0_ |= 0x00000002;
15912        name_ = value;
15913        onChanged();
15914        return this;
15915      }
15916      /**
15917       * <code>optional string name = 2;</code>
15918       */
15919      public Builder clearName() {
15920        bitField0_ = (bitField0_ & ~0x00000002);
15921        name_ = getDefaultInstance().getName();
15922        onChanged();
15923        return this;
15924      }
15925      /**
15926       * <code>optional string name = 2;</code>
15927       */
15928      public Builder setNameBytes(
15929          com.google.protobuf.ByteString value) {
15930        if (value == null) {
15931    throw new NullPointerException();
15932  }
15933  bitField0_ |= 0x00000002;
15934        name_ = value;
15935        onChanged();
15936        return this;
15937      }
15938
15939      private java.lang.Object description_ = "";
15940      /**
15941       * <code>optional string description = 3;</code>
15942       */
15943      public boolean hasDescription() {
15944        return ((bitField0_ & 0x00000004) == 0x00000004);
15945      }
15946      /**
15947       * <code>optional string description = 3;</code>
15948       */
15949      public java.lang.String getDescription() {
15950        java.lang.Object ref = description_;
15951        if (!(ref instanceof java.lang.String)) {
15952          com.google.protobuf.ByteString bs =
15953              (com.google.protobuf.ByteString) ref;
15954          java.lang.String s = bs.toStringUtf8();
15955          if (bs.isValidUtf8()) {
15956            description_ = s;
15957          }
15958          return s;
15959        } else {
15960          return (java.lang.String) ref;
15961        }
15962      }
15963      /**
15964       * <code>optional string description = 3;</code>
15965       */
15966      public com.google.protobuf.ByteString
15967          getDescriptionBytes() {
15968        java.lang.Object ref = description_;
15969        if (ref instanceof String) {
15970          com.google.protobuf.ByteString b = 
15971              com.google.protobuf.ByteString.copyFromUtf8(
15972                  (java.lang.String) ref);
15973          description_ = b;
15974          return b;
15975        } else {
15976          return (com.google.protobuf.ByteString) ref;
15977        }
15978      }
15979      /**
15980       * <code>optional string description = 3;</code>
15981       */
15982      public Builder setDescription(
15983          java.lang.String value) {
15984        if (value == null) {
15985    throw new NullPointerException();
15986  }
15987  bitField0_ |= 0x00000004;
15988        description_ = value;
15989        onChanged();
15990        return this;
15991      }
15992      /**
15993       * <code>optional string description = 3;</code>
15994       */
15995      public Builder clearDescription() {
15996        bitField0_ = (bitField0_ & ~0x00000004);
15997        description_ = getDefaultInstance().getDescription();
15998        onChanged();
15999        return this;
16000      }
16001      /**
16002       * <code>optional string description = 3;</code>
16003       */
16004      public Builder setDescriptionBytes(
16005          com.google.protobuf.ByteString value) {
16006        if (value == null) {
16007    throw new NullPointerException();
16008  }
16009  bitField0_ |= 0x00000004;
16010        description_ = value;
16011        onChanged();
16012        return this;
16013      }
16014
16015      private com.google.protobuf.LazyStringList permissions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
16016      private void ensurePermissionsIsMutable() {
16017        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
16018          permissions_ = new com.google.protobuf.LazyStringArrayList(permissions_);
16019          bitField0_ |= 0x00000008;
16020         }
16021      }
16022      /**
16023       * <code>repeated string permissions = 4;</code>
16024       */
16025      public com.google.protobuf.ProtocolStringList
16026          getPermissionsList() {
16027        return permissions_.getUnmodifiableView();
16028      }
16029      /**
16030       * <code>repeated string permissions = 4;</code>
16031       */
16032      public int getPermissionsCount() {
16033        return permissions_.size();
16034      }
16035      /**
16036       * <code>repeated string permissions = 4;</code>
16037       */
16038      public java.lang.String getPermissions(int index) {
16039        return permissions_.get(index);
16040      }
16041      /**
16042       * <code>repeated string permissions = 4;</code>
16043       */
16044      public com.google.protobuf.ByteString
16045          getPermissionsBytes(int index) {
16046        return permissions_.getByteString(index);
16047      }
16048      /**
16049       * <code>repeated string permissions = 4;</code>
16050       */
16051      public Builder setPermissions(
16052          int index, java.lang.String value) {
16053        if (value == null) {
16054    throw new NullPointerException();
16055  }
16056  ensurePermissionsIsMutable();
16057        permissions_.set(index, value);
16058        onChanged();
16059        return this;
16060      }
16061      /**
16062       * <code>repeated string permissions = 4;</code>
16063       */
16064      public Builder addPermissions(
16065          java.lang.String value) {
16066        if (value == null) {
16067    throw new NullPointerException();
16068  }
16069  ensurePermissionsIsMutable();
16070        permissions_.add(value);
16071        onChanged();
16072        return this;
16073      }
16074      /**
16075       * <code>repeated string permissions = 4;</code>
16076       */
16077      public Builder addAllPermissions(
16078          java.lang.Iterable<java.lang.String> values) {
16079        ensurePermissionsIsMutable();
16080        com.google.protobuf.AbstractMessageLite.Builder.addAll(
16081            values, permissions_);
16082        onChanged();
16083        return this;
16084      }
16085      /**
16086       * <code>repeated string permissions = 4;</code>
16087       */
16088      public Builder clearPermissions() {
16089        permissions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
16090        bitField0_ = (bitField0_ & ~0x00000008);
16091        onChanged();
16092        return this;
16093      }
16094      /**
16095       * <code>repeated string permissions = 4;</code>
16096       */
16097      public Builder addPermissionsBytes(
16098          com.google.protobuf.ByteString value) {
16099        if (value == null) {
16100    throw new NullPointerException();
16101  }
16102  ensurePermissionsIsMutable();
16103        permissions_.add(value);
16104        onChanged();
16105        return this;
16106      }
16107
16108      // @@protoc_insertion_point(builder_scope:sonarqube.ws.permissions.Group)
16109    }
16110
16111    // @@protoc_insertion_point(class_scope:sonarqube.ws.permissions.Group)
16112    private static final org.sonarqube.ws.WsPermissions.Group DEFAULT_INSTANCE;
16113    static {
16114      DEFAULT_INSTANCE = new org.sonarqube.ws.WsPermissions.Group();
16115    }
16116
16117    public static org.sonarqube.ws.WsPermissions.Group getDefaultInstance() {
16118      return DEFAULT_INSTANCE;
16119    }
16120
16121    @java.lang.Deprecated public static final com.google.protobuf.Parser<Group>
16122        PARSER = new com.google.protobuf.AbstractParser<Group>() {
16123      public Group parsePartialFrom(
16124          com.google.protobuf.CodedInputStream input,
16125          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16126          throws com.google.protobuf.InvalidProtocolBufferException {
16127        try {
16128          return new Group(input, extensionRegistry);
16129        } catch (RuntimeException e) {
16130          if (e.getCause() instanceof
16131              com.google.protobuf.InvalidProtocolBufferException) {
16132            throw (com.google.protobuf.InvalidProtocolBufferException)
16133                e.getCause();
16134          }
16135          throw e;
16136        }
16137      }
16138    };
16139
16140    public static com.google.protobuf.Parser<Group> parser() {
16141      return PARSER;
16142    }
16143
16144    @java.lang.Override
16145    public com.google.protobuf.Parser<Group> getParserForType() {
16146      return PARSER;
16147    }
16148
16149    public org.sonarqube.ws.WsPermissions.Group getDefaultInstanceForType() {
16150      return DEFAULT_INSTANCE;
16151    }
16152
16153  }
16154
16155  private static com.google.protobuf.Descriptors.Descriptor
16156    internal_static_sonarqube_ws_permissions_OldUsersWsResponse_descriptor;
16157  private static
16158    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16159      internal_static_sonarqube_ws_permissions_OldUsersWsResponse_fieldAccessorTable;
16160  private static com.google.protobuf.Descriptors.Descriptor
16161    internal_static_sonarqube_ws_permissions_UsersWsResponse_descriptor;
16162  private static
16163    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16164      internal_static_sonarqube_ws_permissions_UsersWsResponse_fieldAccessorTable;
16165  private static com.google.protobuf.Descriptors.Descriptor
16166    internal_static_sonarqube_ws_permissions_WsGroupsResponse_descriptor;
16167  private static
16168    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16169      internal_static_sonarqube_ws_permissions_WsGroupsResponse_fieldAccessorTable;
16170  private static com.google.protobuf.Descriptors.Descriptor
16171    internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_descriptor;
16172  private static
16173    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16174      internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_fieldAccessorTable;
16175  private static com.google.protobuf.Descriptors.Descriptor
16176    internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_descriptor;
16177  private static
16178    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16179      internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_fieldAccessorTable;
16180  private static com.google.protobuf.Descriptors.Descriptor
16181    internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_descriptor;
16182  private static
16183    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16184      internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_fieldAccessorTable;
16185  private static com.google.protobuf.Descriptors.Descriptor
16186    internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_descriptor;
16187  private static
16188    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16189      internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_fieldAccessorTable;
16190  private static com.google.protobuf.Descriptors.Descriptor
16191    internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_descriptor;
16192  private static
16193    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16194      internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_fieldAccessorTable;
16195  private static com.google.protobuf.Descriptors.Descriptor
16196    internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_descriptor;
16197  private static
16198    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16199      internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_fieldAccessorTable;
16200  private static com.google.protobuf.Descriptors.Descriptor
16201    internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_descriptor;
16202  private static
16203    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16204      internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_fieldAccessorTable;
16205  private static com.google.protobuf.Descriptors.Descriptor
16206    internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_descriptor;
16207  private static
16208    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16209      internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_fieldAccessorTable;
16210  private static com.google.protobuf.Descriptors.Descriptor
16211    internal_static_sonarqube_ws_permissions_Permission_descriptor;
16212  private static
16213    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16214      internal_static_sonarqube_ws_permissions_Permission_fieldAccessorTable;
16215  private static com.google.protobuf.Descriptors.Descriptor
16216    internal_static_sonarqube_ws_permissions_PermissionTemplate_descriptor;
16217  private static
16218    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16219      internal_static_sonarqube_ws_permissions_PermissionTemplate_fieldAccessorTable;
16220  private static com.google.protobuf.Descriptors.Descriptor
16221    internal_static_sonarqube_ws_permissions_OldUser_descriptor;
16222  private static
16223    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16224      internal_static_sonarqube_ws_permissions_OldUser_fieldAccessorTable;
16225  private static com.google.protobuf.Descriptors.Descriptor
16226    internal_static_sonarqube_ws_permissions_User_descriptor;
16227  private static
16228    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16229      internal_static_sonarqube_ws_permissions_User_fieldAccessorTable;
16230  private static com.google.protobuf.Descriptors.Descriptor
16231    internal_static_sonarqube_ws_permissions_OldGroup_descriptor;
16232  private static
16233    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16234      internal_static_sonarqube_ws_permissions_OldGroup_fieldAccessorTable;
16235  private static com.google.protobuf.Descriptors.Descriptor
16236    internal_static_sonarqube_ws_permissions_Group_descriptor;
16237  private static
16238    com.google.protobuf.GeneratedMessage.FieldAccessorTable
16239      internal_static_sonarqube_ws_permissions_Group_fieldAccessorTable;
16240
16241  public static com.google.protobuf.Descriptors.FileDescriptor
16242      getDescriptor() {
16243    return descriptor;
16244  }
16245  private static com.google.protobuf.Descriptors.FileDescriptor
16246      descriptor;
16247  static {
16248    java.lang.String[] descriptorData = {
16249      "\n\024ws-permissions.proto\022\030sonarqube.ws.per" +
16250      "missions\032\020ws-commons.proto\"t\n\022OldUsersWs" +
16251      "Response\022,\n\006paging\030\001 \001(\0132\034.sonarqube.ws." +
16252      "commons.Paging\0220\n\005users\030\002 \003(\0132!.sonarqub" +
16253      "e.ws.permissions.OldUser\"n\n\017UsersWsRespo" +
16254      "nse\022,\n\006paging\030\001 \001(\0132\034.sonarqube.ws.commo" +
16255      "ns.Paging\022-\n\005users\030\002 \003(\0132\036.sonarqube.ws." +
16256      "permissions.User\"q\n\020WsGroupsResponse\022,\n\006" +
16257      "paging\030\001 \001(\0132\034.sonarqube.ws.commons.Pagi" +
16258      "ng\022/\n\006groups\030\002 \003(\0132\037.sonarqube.ws.permis",
16259      "sions.Group\"|\n\030WsTemplateGroupsResponse\022" +
16260      ",\n\006paging\030\001 \001(\0132\034.sonarqube.ws.commons.P" +
16261      "aging\0222\n\006groups\030\002 \003(\0132\".sonarqube.ws.per" +
16262      "missions.OldGroup\"^\n!WsSearchGlobalPermi" +
16263      "ssionsResponse\0229\n\013permissions\030\001 \003(\0132$.so" +
16264      "narqube.ws.permissions.Permission\"\345\002\n\"Se" +
16265      "archProjectPermissionsWsResponse\022,\n\006pagi" +
16266      "ng\030\001 \001(\0132\034.sonarqube.ws.commons.Paging\022V" +
16267      "\n\010projects\030\002 \003(\0132D.sonarqube.ws.permissi" +
16268      "ons.SearchProjectPermissionsWsResponse.P",
16269      "roject\0229\n\013permissions\030\003 \003(\0132$.sonarqube." +
16270      "ws.permissions.Permission\032~\n\007Project\022\n\n\002" +
16271      "id\030\001 \001(\t\022\013\n\003key\030\002 \001(\t\022\021\n\tqualifier\030\003 \001(\t" +
16272      "\022\014\n\004name\030\004 \001(\t\0229\n\013permissions\030\005 \003(\0132$.so" +
16273      "narqube.ws.permissions.Permission\"d\n\030Cre" +
16274      "ateTemplateWsResponse\022H\n\022permissionTempl" +
16275      "ate\030\001 \001(\0132,.sonarqube.ws.permissions.Per" +
16276      "missionTemplate\"d\n\030UpdateTemplateWsRespo" +
16277      "nse\022H\n\022permissionTemplate\030\001 \001(\0132,.sonarq" +
16278      "ube.ws.permissions.PermissionTemplate\"\302\002",
16279      "\n\031SearchTemplatesWsResponse\022I\n\023permissio" +
16280      "nTemplates\030\001 \003(\0132,.sonarqube.ws.permissi" +
16281      "ons.PermissionTemplate\022a\n\020defaultTemplat" +
16282      "es\030\002 \003(\0132G.sonarqube.ws.permissions.Sear" +
16283      "chTemplatesWsResponse.TemplateIdQualifie" +
16284      "r\0229\n\013permissions\030\003 \003(\0132$.sonarqube.ws.pe" +
16285      "rmissions.Permission\032<\n\023TemplateIdQualif" +
16286      "ier\022\022\n\ntemplateId\030\001 \001(\t\022\021\n\tqualifier\030\002 \001" +
16287      "(\t\"\201\001\n\nPermission\022\013\n\003key\030\001 \001(\t\022\014\n\004name\030\002" +
16288      " \001(\t\022\023\n\013description\030\003 \001(\t\022\022\n\nusersCount\030",
16289      "\004 \001(\005\022\023\n\013groupsCount\030\005 \001(\005\022\032\n\022withProjec" +
16290      "tCreator\030\006 \001(\010\"\277\001\n\022PermissionTemplate\022\n\n" +
16291      "\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\023\n\013description\030\003" +
16292      " \001(\t\022\031\n\021projectKeyPattern\030\004 \001(\t\022\021\n\tcreat" +
16293      "edAt\030\005 \001(\t\022\021\n\tupdatedAt\030\006 \001(\t\0229\n\013permiss" +
16294      "ions\030\007 \003(\0132$.sonarqube.ws.permissions.Pe" +
16295      "rmission\"G\n\007OldUser\022\r\n\005login\030\001 \001(\t\022\014\n\004na" +
16296      "me\030\002 \001(\t\022\r\n\005email\030\003 \001(\t\022\020\n\010selected\030\004 \001(" +
16297      "\010\"G\n\004User\022\r\n\005login\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\r" +
16298      "\n\005email\030\003 \001(\t\022\023\n\013permissions\030\004 \003(\t\"K\n\010Ol",
16299      "dGroup\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\023\n\013desc" +
16300      "ription\030\003 \001(\t\022\020\n\010selected\030\004 \001(\010\"K\n\005Group" +
16301      "\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\023\n\013descriptio" +
16302      "n\030\003 \001(\t\022\023\n\013permissions\030\004 \003(\tB#\n\020org.sona" +
16303      "rqube.wsB\rWsPermissionsH\001"
16304    };
16305    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
16306        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
16307          public com.google.protobuf.ExtensionRegistry assignDescriptors(
16308              com.google.protobuf.Descriptors.FileDescriptor root) {
16309            descriptor = root;
16310            return null;
16311          }
16312        };
16313    com.google.protobuf.Descriptors.FileDescriptor
16314      .internalBuildGeneratedFileFrom(descriptorData,
16315        new com.google.protobuf.Descriptors.FileDescriptor[] {
16316          org.sonarqube.ws.Common.getDescriptor(),
16317        }, assigner);
16318    internal_static_sonarqube_ws_permissions_OldUsersWsResponse_descriptor =
16319      getDescriptor().getMessageTypes().get(0);
16320    internal_static_sonarqube_ws_permissions_OldUsersWsResponse_fieldAccessorTable = new
16321      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16322        internal_static_sonarqube_ws_permissions_OldUsersWsResponse_descriptor,
16323        new java.lang.String[] { "Paging", "Users", });
16324    internal_static_sonarqube_ws_permissions_UsersWsResponse_descriptor =
16325      getDescriptor().getMessageTypes().get(1);
16326    internal_static_sonarqube_ws_permissions_UsersWsResponse_fieldAccessorTable = new
16327      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16328        internal_static_sonarqube_ws_permissions_UsersWsResponse_descriptor,
16329        new java.lang.String[] { "Paging", "Users", });
16330    internal_static_sonarqube_ws_permissions_WsGroupsResponse_descriptor =
16331      getDescriptor().getMessageTypes().get(2);
16332    internal_static_sonarqube_ws_permissions_WsGroupsResponse_fieldAccessorTable = new
16333      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16334        internal_static_sonarqube_ws_permissions_WsGroupsResponse_descriptor,
16335        new java.lang.String[] { "Paging", "Groups", });
16336    internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_descriptor =
16337      getDescriptor().getMessageTypes().get(3);
16338    internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_fieldAccessorTable = new
16339      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16340        internal_static_sonarqube_ws_permissions_WsTemplateGroupsResponse_descriptor,
16341        new java.lang.String[] { "Paging", "Groups", });
16342    internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_descriptor =
16343      getDescriptor().getMessageTypes().get(4);
16344    internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_fieldAccessorTable = new
16345      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16346        internal_static_sonarqube_ws_permissions_WsSearchGlobalPermissionsResponse_descriptor,
16347        new java.lang.String[] { "Permissions", });
16348    internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_descriptor =
16349      getDescriptor().getMessageTypes().get(5);
16350    internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_fieldAccessorTable = new
16351      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16352        internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_descriptor,
16353        new java.lang.String[] { "Paging", "Projects", "Permissions", });
16354    internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_descriptor =
16355      internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_descriptor.getNestedTypes().get(0);
16356    internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_fieldAccessorTable = new
16357      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16358        internal_static_sonarqube_ws_permissions_SearchProjectPermissionsWsResponse_Project_descriptor,
16359        new java.lang.String[] { "Id", "Key", "Qualifier", "Name", "Permissions", });
16360    internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_descriptor =
16361      getDescriptor().getMessageTypes().get(6);
16362    internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_fieldAccessorTable = new
16363      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16364        internal_static_sonarqube_ws_permissions_CreateTemplateWsResponse_descriptor,
16365        new java.lang.String[] { "PermissionTemplate", });
16366    internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_descriptor =
16367      getDescriptor().getMessageTypes().get(7);
16368    internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_fieldAccessorTable = new
16369      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16370        internal_static_sonarqube_ws_permissions_UpdateTemplateWsResponse_descriptor,
16371        new java.lang.String[] { "PermissionTemplate", });
16372    internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_descriptor =
16373      getDescriptor().getMessageTypes().get(8);
16374    internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_fieldAccessorTable = new
16375      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16376        internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_descriptor,
16377        new java.lang.String[] { "PermissionTemplates", "DefaultTemplates", "Permissions", });
16378    internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_descriptor =
16379      internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_descriptor.getNestedTypes().get(0);
16380    internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_fieldAccessorTable = new
16381      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16382        internal_static_sonarqube_ws_permissions_SearchTemplatesWsResponse_TemplateIdQualifier_descriptor,
16383        new java.lang.String[] { "TemplateId", "Qualifier", });
16384    internal_static_sonarqube_ws_permissions_Permission_descriptor =
16385      getDescriptor().getMessageTypes().get(9);
16386    internal_static_sonarqube_ws_permissions_Permission_fieldAccessorTable = new
16387      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16388        internal_static_sonarqube_ws_permissions_Permission_descriptor,
16389        new java.lang.String[] { "Key", "Name", "Description", "UsersCount", "GroupsCount", "WithProjectCreator", });
16390    internal_static_sonarqube_ws_permissions_PermissionTemplate_descriptor =
16391      getDescriptor().getMessageTypes().get(10);
16392    internal_static_sonarqube_ws_permissions_PermissionTemplate_fieldAccessorTable = new
16393      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16394        internal_static_sonarqube_ws_permissions_PermissionTemplate_descriptor,
16395        new java.lang.String[] { "Id", "Name", "Description", "ProjectKeyPattern", "CreatedAt", "UpdatedAt", "Permissions", });
16396    internal_static_sonarqube_ws_permissions_OldUser_descriptor =
16397      getDescriptor().getMessageTypes().get(11);
16398    internal_static_sonarqube_ws_permissions_OldUser_fieldAccessorTable = new
16399      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16400        internal_static_sonarqube_ws_permissions_OldUser_descriptor,
16401        new java.lang.String[] { "Login", "Name", "Email", "Selected", });
16402    internal_static_sonarqube_ws_permissions_User_descriptor =
16403      getDescriptor().getMessageTypes().get(12);
16404    internal_static_sonarqube_ws_permissions_User_fieldAccessorTable = new
16405      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16406        internal_static_sonarqube_ws_permissions_User_descriptor,
16407        new java.lang.String[] { "Login", "Name", "Email", "Permissions", });
16408    internal_static_sonarqube_ws_permissions_OldGroup_descriptor =
16409      getDescriptor().getMessageTypes().get(13);
16410    internal_static_sonarqube_ws_permissions_OldGroup_fieldAccessorTable = new
16411      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16412        internal_static_sonarqube_ws_permissions_OldGroup_descriptor,
16413        new java.lang.String[] { "Id", "Name", "Description", "Selected", });
16414    internal_static_sonarqube_ws_permissions_Group_descriptor =
16415      getDescriptor().getMessageTypes().get(14);
16416    internal_static_sonarqube_ws_permissions_Group_fieldAccessorTable = new
16417      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
16418        internal_static_sonarqube_ws_permissions_Group_descriptor,
16419        new java.lang.String[] { "Id", "Name", "Description", "Permissions", });
16420    org.sonarqube.ws.Common.getDescriptor();
16421  }
16422
16423  // @@protoc_insertion_point(outer_class_scope)
16424}