test_class.file: services/utils/conditional-headers/src/test/java/org/eclipse/ditto/services/utils/headers/conditional/ConditionalHeadersValidatorTest.java
test_class.identifier: ConditionalHeadersValidatorTest
test_case.body: @Test
      public void creationFailsWithNullValidationSettings() {
          assertThatExceptionOfType(NullPointerException.class)
                  .isThrownBy(() -> ConditionalHeadersValidator.of(null));
      }
test_case.class_method_signature: ConditionalHeadersValidatorTest.creationFailsWithNullValidationSettings()
test_case.full_signature: @Test public void creationFailsWithNullValidationSettings()
test_case.identifier: creationFailsWithNullValidationSettings
test_case.invocations: isThrownBy assertThatExceptionOfType of
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void creationFailsWithNullValidationSettings()
focal_class.declarator: validationSettings
focal_class.modifier: private final
focal_class.original_string: private final ValidationSettings validationSettings;
focal_class.type: ValidationSettings
focal_class.var_name: validationSettings
focal_class.declarator: additionalSkipPreconditionHeaderCheckPredicate
focal_class.modifier: private final
focal_class.original_string: private final Predicate<Command<?>> additionalSkipPreconditionHeaderCheckPredicate;
focal_class.type: Predicate<Command<?>>
focal_class.var_name: additionalSkipPreconditionHeaderCheckPredicate
focal_class.file: services/utils/conditional-headers/src/main/java/org/eclipse/ditto/services/utils/headers/conditional/ConditionalHeadersValidator.java
focal_class.identifier: ConditionalHeadersValidator
focal_class.class_method_signature: ConditionalHeadersValidator.ConditionalHeadersValidator(final ValidationSettings validationSettings,
              final Predicate<Command<?>> additionalSkipPreconditionHeaderCheckPredicate)
focal_class.full_signature: private  ConditionalHeadersValidator(final ValidationSettings validationSettings,
              final Predicate<Command<?>> additionalSkipPreconditionHeaderCheckPredicate)
focal_class.identifier: ConditionalHeadersValidator
focal_class.modifiers: private
focal_class.parameters: (final ValidationSettings validationSettings,
              final Predicate<Command<?>> additionalSkipPreconditionHeaderCheckPredicate)
focal_class.signature:  ConditionalHeadersValidator(final ValidationSettings validationSettings,
              final Predicate<Command<?>> additionalSkipPreconditionHeaderCheckPredicate)
focal_class.class_method_signature: ConditionalHeadersValidator.of(final ValidationSettings validationSettings)
focal_class.full_signature: public static ConditionalHeadersValidator of(final ValidationSettings validationSettings)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final ValidationSettings validationSettings)
focal_class.return: ConditionalHeadersValidator
focal_class.signature: ConditionalHeadersValidator of(final ValidationSettings validationSettings)
focal_class.class_method_signature: ConditionalHeadersValidator.of(final ValidationSettings validationSettings,
              final Predicate<Command<?>> additionalSkipPreconditionCheckPredicate)
focal_class.full_signature: public static ConditionalHeadersValidator of(final ValidationSettings validationSettings,
              final Predicate<Command<?>> additionalSkipPreconditionCheckPredicate)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final ValidationSettings validationSettings,
              final Predicate<Command<?>> additionalSkipPreconditionCheckPredicate)
focal_class.return: ConditionalHeadersValidator
focal_class.signature: ConditionalHeadersValidator of(final ValidationSettings validationSettings,
              final Predicate<Command<?>> additionalSkipPreconditionCheckPredicate)
focal_class.class_method_signature: ConditionalHeadersValidator.checkConditionalHeaders(final Command command,
              @Nullable final EntityTag currentETagValue)
focal_class.full_signature: public void checkConditionalHeaders(final Command command,
              @Nullable final EntityTag currentETagValue)
focal_class.identifier: checkConditionalHeaders
focal_class.modifiers: public
focal_class.parameters: (final Command command,
              @Nullable final EntityTag currentETagValue)
focal_class.return: void
focal_class.signature: void checkConditionalHeaders(final Command command,
              @Nullable final EntityTag currentETagValue)
focal_class.class_method_signature: ConditionalHeadersValidator.skipPreconditionHeaderCheck(final Command command, @Nullable final EntityTag
              currentETagValue)
focal_class.full_signature: private boolean skipPreconditionHeaderCheck(final Command command, @Nullable final EntityTag
              currentETagValue)
focal_class.identifier: skipPreconditionHeaderCheck
focal_class.modifiers: private
focal_class.parameters: (final Command command, @Nullable final EntityTag
              currentETagValue)
focal_class.return: boolean
focal_class.signature: boolean skipPreconditionHeaderCheck(final Command command, @Nullable final EntityTag
              currentETagValue)
focal_class.class_method_signature: ConditionalHeadersValidator.checkIfMatch(final Command command, @Nullable final EntityTag currentETagValue)
focal_class.full_signature: private void checkIfMatch(final Command command, @Nullable final EntityTag currentETagValue)
focal_class.identifier: checkIfMatch
focal_class.modifiers: private
focal_class.parameters: (final Command command, @Nullable final EntityTag currentETagValue)
focal_class.return: void
focal_class.signature: void checkIfMatch(final Command command, @Nullable final EntityTag currentETagValue)
focal_class.class_method_signature: ConditionalHeadersValidator.checkIfNoneMatch(final Command command, @Nullable final EntityTag currentETagValue)
focal_class.full_signature: private void checkIfNoneMatch(final Command command, @Nullable final EntityTag currentETagValue)
focal_class.identifier: checkIfNoneMatch
focal_class.modifiers: private
focal_class.parameters: (final Command command, @Nullable final EntityTag currentETagValue)
focal_class.return: void
focal_class.signature: void checkIfNoneMatch(final Command command, @Nullable final EntityTag currentETagValue)
focal_class.class_method_signature: ConditionalHeadersValidator.buildPreconditionFailedException(
              final PreconditionHeader preconditionHeader,
              final DittoHeaders dittoHeaders, @Nullable final EntityTag currentETagValue)
focal_class.full_signature: private DittoRuntimeException buildPreconditionFailedException(
              final PreconditionHeader preconditionHeader,
              final DittoHeaders dittoHeaders, @Nullable final EntityTag currentETagValue)
focal_class.identifier: buildPreconditionFailedException
focal_class.modifiers: private
focal_class.parameters: (
              final PreconditionHeader preconditionHeader,
              final DittoHeaders dittoHeaders, @Nullable final EntityTag currentETagValue)
focal_class.return: DittoRuntimeException
focal_class.signature: DittoRuntimeException buildPreconditionFailedException(
              final PreconditionHeader preconditionHeader,
              final DittoHeaders dittoHeaders, @Nullable final EntityTag currentETagValue)
focal_class.class_method_signature: ConditionalHeadersValidator.buildNotModifiedException(final PreconditionHeader preconditionHeader,
              final DittoHeaders dittoHeaders, @Nullable final EntityTag currentETagValue)
focal_class.full_signature: private DittoRuntimeException buildNotModifiedException(final PreconditionHeader preconditionHeader,
              final DittoHeaders dittoHeaders, @Nullable final EntityTag currentETagValue)
focal_class.identifier: buildNotModifiedException
focal_class.modifiers: private
focal_class.parameters: (final PreconditionHeader preconditionHeader,
              final DittoHeaders dittoHeaders, @Nullable final EntityTag currentETagValue)
focal_class.return: DittoRuntimeException
focal_class.signature: DittoRuntimeException buildNotModifiedException(final PreconditionHeader preconditionHeader,
              final DittoHeaders dittoHeaders, @Nullable final EntityTag currentETagValue)
focal_class.class_method_signature: ConditionalHeadersValidator.appendETagIfNotNull(final DittoHeaders dittoHeaders, @Nullable final EntityTag entityTag)
focal_class.full_signature: private DittoHeaders appendETagIfNotNull(final DittoHeaders dittoHeaders, @Nullable final EntityTag entityTag)
focal_class.identifier: appendETagIfNotNull
focal_class.modifiers: private
focal_class.parameters: (final DittoHeaders dittoHeaders, @Nullable final EntityTag entityTag)
focal_class.return: DittoHeaders
focal_class.signature: DittoHeaders appendETagIfNotNull(final DittoHeaders dittoHeaders, @Nullable final EntityTag entityTag)
focal_method.body: public static ConditionalHeadersValidator of(final ValidationSettings validationSettings) {
          return new ConditionalHeadersValidator(requireNonNull(validationSettings), cmd -> false);
      }
focal_method.class_method_signature: ConditionalHeadersValidator.of(final ValidationSettings validationSettings)
focal_method.full_signature: public static ConditionalHeadersValidator of(final ValidationSettings validationSettings)
focal_method.identifier: of
focal_method.invocations: requireNonNull
focal_method.modifiers: public static
focal_method.parameters: (final ValidationSettings validationSettings)
focal_method.return: ConditionalHeadersValidator
focal_method.signature: ConditionalHeadersValidator of(final ValidationSettings validationSettings)