test_class.declarator: KNOWN_TYPE = DittoAuthorizationContextType.UNSPECIFIED
test_class.modifier: private static final
test_class.original_string: private static final DittoAuthorizationContextType KNOWN_TYPE = DittoAuthorizationContextType.UNSPECIFIED;
test_class.type: DittoAuthorizationContextType
test_class.var_name: KNOWN_TYPE
test_class.declarator: SUB_1_1 = AuthorizationSubject.newInstance("sub_1_1")
test_class.modifier: private static final
test_class.original_string: private static final AuthorizationSubject SUB_1_1 = AuthorizationSubject.newInstance("sub_1_1");
test_class.type: AuthorizationSubject
test_class.var_name: SUB_1_1
test_class.declarator: SUB_1_2 = AuthorizationSubject.newInstance("sub_1_2")
test_class.modifier: private static final
test_class.original_string: private static final AuthorizationSubject SUB_1_2 = AuthorizationSubject.newInstance("sub_1_2");
test_class.type: AuthorizationSubject
test_class.var_name: SUB_1_2
test_class.declarator: SUBJECTS_1 = Lists.newArrayList(SUB_1_1, SUB_1_2)
test_class.modifier: private static final
test_class.original_string: private static final List<AuthorizationSubject> SUBJECTS_1 = Lists.newArrayList(SUB_1_1, SUB_1_2);
test_class.type: List<AuthorizationSubject>
test_class.var_name: SUBJECTS_1
test_class.declarator: SUBJECTS_2 =
              Lists.newArrayList(AuthorizationSubject.newInstance("sub_2_1"),
                      AuthorizationSubject.newInstance("sub_2_2"))
test_class.modifier: private static final
test_class.original_string: private static final List<AuthorizationSubject> SUBJECTS_2 =
              Lists.newArrayList(AuthorizationSubject.newInstance("sub_2_1"),
                      AuthorizationSubject.newInstance("sub_2_2"));
test_class.type: List<AuthorizationSubject>
test_class.var_name: SUBJECTS_2
test_class.declarator: knownJsonRepresentation
test_class.modifier: private static
test_class.original_string: private static JsonObject knownJsonRepresentation;
test_class.type: JsonObject
test_class.var_name: knownJsonRepresentation
test_class.file: model/base/src/test/java/org/eclipse/ditto/model/base/auth/ImmutableAuthorizationContextTest.java
test_class.identifier: ImmutableAuthorizationContextTest
test_case.body: @Test
      public void addTail() {
          final ImmutableAuthorizationContext underTest = ImmutableAuthorizationContext.of(KNOWN_TYPE, SUBJECTS_1);
  
          final AuthorizationContext newContext = underTest.addTail(SUBJECTS_2);
  
          final List<AuthorizationSubject> expectedAuthSubjects = new ArrayList<>();
          expectedAuthSubjects.addAll(SUBJECTS_1);
          expectedAuthSubjects.addAll(SUBJECTS_2);
          final AuthorizationContext expectedContext = ImmutableAuthorizationContext.of(KNOWN_TYPE, expectedAuthSubjects);
  
          assertThat(newContext).isEqualTo(expectedContext);
      }
test_case.class_method_signature: ImmutableAuthorizationContextTest.addTail()
test_case.full_signature: @Test public void addTail()
test_case.identifier: addTail
test_case.invocations: of addTail addAll addAll of isEqualTo assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void addTail()
focal_class.declarator: type
focal_class.modifier: private final
focal_class.original_string: private final AuthorizationContextType type;
focal_class.type: AuthorizationContextType
focal_class.var_name: type
focal_class.declarator: authorizationSubjects
focal_class.modifier: private final
focal_class.original_string: private final List<AuthorizationSubject> authorizationSubjects;
focal_class.type: List<AuthorizationSubject>
focal_class.var_name: authorizationSubjects
focal_class.declarator: authorizationSubjectIds
focal_class.modifier: @Nullable private
focal_class.original_string: @Nullable private List<String> authorizationSubjectIds;
focal_class.type: List<String>
focal_class.var_name: authorizationSubjectIds
focal_class.file: model/base/src/main/java/org/eclipse/ditto/model/base/auth/ImmutableAuthorizationContext.java
focal_class.identifier: ImmutableAuthorizationContext
focal_class.interfaces: implements AuthorizationContext
focal_class.class_method_signature: ImmutableAuthorizationContext.ImmutableAuthorizationContext(final AuthorizationContextType type,
              final List<AuthorizationSubject> authorizationSubjects)
focal_class.full_signature: private  ImmutableAuthorizationContext(final AuthorizationContextType type,
              final List<AuthorizationSubject> authorizationSubjects)
focal_class.identifier: ImmutableAuthorizationContext
focal_class.modifiers: private
focal_class.parameters: (final AuthorizationContextType type,
              final List<AuthorizationSubject> authorizationSubjects)
focal_class.signature:  ImmutableAuthorizationContext(final AuthorizationContextType type,
              final List<AuthorizationSubject> authorizationSubjects)
focal_class.class_method_signature: ImmutableAuthorizationContext.of(final AuthorizationContextType type,
              final List<AuthorizationSubject> authorizationSubjects)
focal_class.full_signature: public static ImmutableAuthorizationContext of(final AuthorizationContextType type,
              final List<AuthorizationSubject> authorizationSubjects)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final AuthorizationContextType type,
              final List<AuthorizationSubject> authorizationSubjects)
focal_class.return: ImmutableAuthorizationContext
focal_class.signature: ImmutableAuthorizationContext of(final AuthorizationContextType type,
              final List<AuthorizationSubject> authorizationSubjects)
focal_class.class_method_signature: ImmutableAuthorizationContext.of(final AuthorizationContextType type,
              final AuthorizationSubject authorizationSubject,
              final AuthorizationSubject... furtherAuthorizationSubjects)
focal_class.full_signature: public static ImmutableAuthorizationContext of(final AuthorizationContextType type,
              final AuthorizationSubject authorizationSubject,
              final AuthorizationSubject... furtherAuthorizationSubjects)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final AuthorizationContextType type,
              final AuthorizationSubject authorizationSubject,
              final AuthorizationSubject... furtherAuthorizationSubjects)
focal_class.return: ImmutableAuthorizationContext
focal_class.signature: ImmutableAuthorizationContext of(final AuthorizationContextType type,
              final AuthorizationSubject authorizationSubject,
              final AuthorizationSubject... furtherAuthorizationSubjects)
focal_class.class_method_signature: ImmutableAuthorizationContext.fromJson(final JsonObject jsonObject)
focal_class.full_signature: public static ImmutableAuthorizationContext fromJson(final JsonObject jsonObject)
focal_class.identifier: fromJson
focal_class.modifiers: public static
focal_class.parameters: (final JsonObject jsonObject)
focal_class.return: ImmutableAuthorizationContext
focal_class.signature: ImmutableAuthorizationContext fromJson(final JsonObject jsonObject)
focal_class.class_method_signature: ImmutableAuthorizationContext.getType()
focal_class.full_signature: @Override public AuthorizationContextType getType()
focal_class.identifier: getType
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: AuthorizationContextType
focal_class.signature: AuthorizationContextType getType()
focal_class.class_method_signature: ImmutableAuthorizationContext.getAuthorizationSubjects()
focal_class.full_signature: @Override public List<AuthorizationSubject> getAuthorizationSubjects()
focal_class.identifier: getAuthorizationSubjects
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<AuthorizationSubject>
focal_class.signature: List<AuthorizationSubject> getAuthorizationSubjects()
focal_class.class_method_signature: ImmutableAuthorizationContext.getAuthorizationSubjectIds()
focal_class.full_signature: @Override public List<String> getAuthorizationSubjectIds()
focal_class.identifier: getAuthorizationSubjectIds
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getAuthorizationSubjectIds()
focal_class.class_method_signature: ImmutableAuthorizationContext.getFirstAuthorizationSubject()
focal_class.full_signature: @Override public Optional<AuthorizationSubject> getFirstAuthorizationSubject()
focal_class.identifier: getFirstAuthorizationSubject
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<AuthorizationSubject>
focal_class.signature: Optional<AuthorizationSubject> getFirstAuthorizationSubject()
focal_class.class_method_signature: ImmutableAuthorizationContext.getSize()
focal_class.full_signature: @Override public int getSize()
focal_class.identifier: getSize
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getSize()
focal_class.class_method_signature: ImmutableAuthorizationContext.isEmpty()
focal_class.full_signature: @Override public boolean isEmpty()
focal_class.identifier: isEmpty
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEmpty()
focal_class.class_method_signature: ImmutableAuthorizationContext.addHead(final List<AuthorizationSubject> authorizationSubjects)
focal_class.full_signature: @Override public AuthorizationContext addHead(final List<AuthorizationSubject> authorizationSubjects)
focal_class.identifier: addHead
focal_class.modifiers: @Override public
focal_class.parameters: (final List<AuthorizationSubject> authorizationSubjects)
focal_class.return: AuthorizationContext
focal_class.signature: AuthorizationContext addHead(final List<AuthorizationSubject> authorizationSubjects)
focal_class.class_method_signature: ImmutableAuthorizationContext.addTail(final List<AuthorizationSubject> authorizationSubjects)
focal_class.full_signature: @Override public AuthorizationContext addTail(final List<AuthorizationSubject> authorizationSubjects)
focal_class.identifier: addTail
focal_class.modifiers: @Override public
focal_class.parameters: (final List<AuthorizationSubject> authorizationSubjects)
focal_class.return: AuthorizationContext
focal_class.signature: AuthorizationContext addTail(final List<AuthorizationSubject> authorizationSubjects)
focal_class.class_method_signature: ImmutableAuthorizationContext.isAuthorized(final Collection<AuthorizationSubject> granted,
              final Collection<AuthorizationSubject> revoked)
focal_class.full_signature: @Override public boolean isAuthorized(final Collection<AuthorizationSubject> granted,
              final Collection<AuthorizationSubject> revoked)
focal_class.identifier: isAuthorized
focal_class.modifiers: @Override public
focal_class.parameters: (final Collection<AuthorizationSubject> granted,
              final Collection<AuthorizationSubject> revoked)
focal_class.return: boolean
focal_class.signature: boolean isAuthorized(final Collection<AuthorizationSubject> granted,
              final Collection<AuthorizationSubject> revoked)
focal_class.class_method_signature: ImmutableAuthorizationContext.toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate)
focal_class.full_signature: @Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate)
focal_class.identifier: toJson
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate)
focal_class.return: JsonObject
focal_class.signature: JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate)
focal_class.class_method_signature: ImmutableAuthorizationContext.authorizedSubjectsToJson()
focal_class.full_signature: private JsonArray authorizedSubjectsToJson()
focal_class.identifier: authorizedSubjectsToJson
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: JsonArray
focal_class.signature: JsonArray authorizedSubjectsToJson()
focal_class.class_method_signature: ImmutableAuthorizationContext.iterator()
focal_class.full_signature: @Override public Iterator<AuthorizationSubject> iterator()
focal_class.identifier: iterator
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Iterator<AuthorizationSubject>
focal_class.signature: Iterator<AuthorizationSubject> iterator()
focal_class.class_method_signature: ImmutableAuthorizationContext.stream()
focal_class.full_signature: @Override public Stream<AuthorizationSubject> stream()
focal_class.identifier: stream
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Stream<AuthorizationSubject>
focal_class.signature: Stream<AuthorizationSubject> stream()
focal_class.class_method_signature: ImmutableAuthorizationContext.equals(final Object o)
focal_class.full_signature: @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object o)
focal_class.class_method_signature: ImmutableAuthorizationContext.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: ImmutableAuthorizationContext.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: @Override
      public AuthorizationContext addTail(final List<AuthorizationSubject> authorizationSubjects) {
          checkNotNull(authorizationSubjects, "authorizationSubjects");
  
          final List<AuthorizationSubject> newAuthorizationSubjects =
                  new ArrayList<>(this.authorizationSubjects.size() + authorizationSubjects.size());
          newAuthorizationSubjects.addAll(this.authorizationSubjects);
          newAuthorizationSubjects.addAll(authorizationSubjects);
  
          return new ImmutableAuthorizationContext(type, newAuthorizationSubjects);
      }
focal_method.class_method_signature: ImmutableAuthorizationContext.addTail(final List<AuthorizationSubject> authorizationSubjects)
focal_method.full_signature: @Override public AuthorizationContext addTail(final List<AuthorizationSubject> authorizationSubjects)
focal_method.identifier: addTail
focal_method.invocations: checkNotNull size size addAll addAll
focal_method.modifiers: @Override public
focal_method.parameters: (final List<AuthorizationSubject> authorizationSubjects)
focal_method.return: AuthorizationContext
focal_method.signature: AuthorizationContext addTail(final List<AuthorizationSubject> authorizationSubjects)