test_class.declarator: softly = new JUnitSoftAssertions()
test_class.modifier: @Rule
      public final
test_class.original_string: @Rule
      public final JUnitSoftAssertions softly = new JUnitSoftAssertions();
test_class.type: JUnitSoftAssertions
test_class.var_name: softly
test_class.declarator: actorContext
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ActorContext actorContext;
test_class.type: ActorContext
test_class.var_name: actorContext
test_class.declarator: actorSystem
test_class.modifier: private
test_class.original_string: private ActorSystem actorSystem;
test_class.type: ActorSystem
test_class.var_name: actorSystem
test_class.declarator: acknowledgementConfig
test_class.modifier: private
test_class.original_string: private AcknowledgementConfig acknowledgementConfig;
test_class.type: AcknowledgementConfig
test_class.var_name: acknowledgementConfig
test_class.file: services/models/acks/src/test/java/org/eclipse/ditto/services/models/acks/AcknowledgementForwarderActorTest.java
test_class.identifier: AcknowledgementForwarderActorTest
test_case.body: @Test
      public void determineActorNameReturnsExpected() {
          final String correlationId = "my-correlation-id";
          final DittoHeaders dittoHeaders = DittoHeaders.newBuilder().correlationId(correlationId).build();
          final String expected = AcknowledgementForwarderActor.ACTOR_NAME_PREFIX + correlationId;
  
          final String actual = AcknowledgementForwarderActor.determineActorName(dittoHeaders);
  
          assertThat(actual).isEqualTo(expected);
      }
test_case.class_method_signature: AcknowledgementForwarderActorTest.determineActorNameReturnsExpected()
test_case.full_signature: @Test public void determineActorNameReturnsExpected()
test_case.identifier: determineActorNameReturnsExpected
test_case.invocations: build correlationId newBuilder determineActorName isEqualTo assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void determineActorNameReturnsExpected()
focal_class.declarator: ACTOR_NAME_PREFIX = "ackForwarder-"
focal_class.modifier: static final
focal_class.original_string: static final String ACTOR_NAME_PREFIX = "ackForwarder-";
focal_class.type: String
focal_class.var_name: ACTOR_NAME_PREFIX
focal_class.declarator: acknowledgementRequester
focal_class.modifier: private final
focal_class.original_string: private final ActorRef acknowledgementRequester;
focal_class.type: ActorRef
focal_class.var_name: acknowledgementRequester
focal_class.declarator: correlationId
focal_class.modifier: private final
focal_class.original_string: private final String correlationId;
focal_class.type: String
focal_class.var_name: correlationId
focal_class.declarator: log
focal_class.modifier: private final
focal_class.original_string: private final DittoDiagnosticLoggingAdapter log;
focal_class.type: DittoDiagnosticLoggingAdapter
focal_class.var_name: log
focal_class.file: services/models/acks/src/main/java/org/eclipse/ditto/services/models/acks/AcknowledgementForwarderActor.java
focal_class.identifier: AcknowledgementForwarderActor
focal_class.class_method_signature: AcknowledgementForwarderActor.AcknowledgementForwarderActor(final ActorRef acknowledgementRequester, final DittoHeaders dittoHeaders,
              final Duration defaultTimeout)
focal_class.full_signature: @SuppressWarnings("unused") private  AcknowledgementForwarderActor(final ActorRef acknowledgementRequester, final DittoHeaders dittoHeaders,
              final Duration defaultTimeout)
focal_class.identifier: AcknowledgementForwarderActor
focal_class.modifiers: @SuppressWarnings("unused") private
focal_class.parameters: (final ActorRef acknowledgementRequester, final DittoHeaders dittoHeaders,
              final Duration defaultTimeout)
focal_class.signature:  AcknowledgementForwarderActor(final ActorRef acknowledgementRequester, final DittoHeaders dittoHeaders,
              final Duration defaultTimeout)
focal_class.class_method_signature: AcknowledgementForwarderActor.props(final ActorRef acknowledgementRequester, final DittoHeaders dittoHeaders,
              final Duration defaultTimeout)
focal_class.full_signature: static Props props(final ActorRef acknowledgementRequester, final DittoHeaders dittoHeaders,
              final Duration defaultTimeout)
focal_class.identifier: props
focal_class.modifiers: static
focal_class.parameters: (final ActorRef acknowledgementRequester, final DittoHeaders dittoHeaders,
              final Duration defaultTimeout)
focal_class.return: Props
focal_class.signature: Props props(final ActorRef acknowledgementRequester, final DittoHeaders dittoHeaders,
              final Duration defaultTimeout)
focal_class.class_method_signature: AcknowledgementForwarderActor.createReceive()
focal_class.full_signature: @Override public Receive createReceive()
focal_class.identifier: createReceive
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Receive
focal_class.signature: Receive createReceive()
focal_class.class_method_signature: AcknowledgementForwarderActor.forwardCommandResponse(final WithDittoHeaders<?> acknowledgement)
focal_class.full_signature: private void forwardCommandResponse(final WithDittoHeaders<?> acknowledgement)
focal_class.identifier: forwardCommandResponse
focal_class.modifiers: private
focal_class.parameters: (final WithDittoHeaders<?> acknowledgement)
focal_class.return: void
focal_class.signature: void forwardCommandResponse(final WithDittoHeaders<?> acknowledgement)
focal_class.class_method_signature: AcknowledgementForwarderActor.handleReceiveTimeout(final ReceiveTimeout receiveTimeout)
focal_class.full_signature: private void handleReceiveTimeout(final ReceiveTimeout receiveTimeout)
focal_class.identifier: handleReceiveTimeout
focal_class.modifiers: private
focal_class.parameters: (final ReceiveTimeout receiveTimeout)
focal_class.return: void
focal_class.signature: void handleReceiveTimeout(final ReceiveTimeout receiveTimeout)
focal_class.class_method_signature: AcknowledgementForwarderActor.determineActorName(final DittoHeaders dittoHeaders)
focal_class.full_signature: public static String determineActorName(final DittoHeaders dittoHeaders)
focal_class.identifier: determineActorName
focal_class.modifiers: public static
focal_class.parameters: (final DittoHeaders dittoHeaders)
focal_class.return: String
focal_class.signature: String determineActorName(final DittoHeaders dittoHeaders)
focal_class.class_method_signature: AcknowledgementForwarderActor.startAcknowledgementForwarder(final akka.actor.ActorContext context,
              final EntityIdWithType entityId,
              final Signal<?> signal,
              final AcknowledgementConfig acknowledgementConfig)
focal_class.full_signature: public static Optional<ActorRef> startAcknowledgementForwarder(final akka.actor.ActorContext context,
              final EntityIdWithType entityId,
              final Signal<?> signal,
              final AcknowledgementConfig acknowledgementConfig)
focal_class.identifier: startAcknowledgementForwarder
focal_class.modifiers: public static
focal_class.parameters: (final akka.actor.ActorContext context,
              final EntityIdWithType entityId,
              final Signal<?> signal,
              final AcknowledgementConfig acknowledgementConfig)
focal_class.return: Optional<ActorRef>
focal_class.signature: Optional<ActorRef> startAcknowledgementForwarder(final akka.actor.ActorContext context,
              final EntityIdWithType entityId,
              final Signal<?> signal,
              final AcknowledgementConfig acknowledgementConfig)
focal_class.class_method_signature: AcknowledgementForwarderActor.startAcknowledgementForwarderConflictFree(final akka.actor.ActorContext context,
              final EntityIdWithType entityId,
              final Signal<?> signal,
              final AcknowledgementConfig acknowledgementConfig)
focal_class.full_signature: public static Signal<?> startAcknowledgementForwarderConflictFree(final akka.actor.ActorContext context,
              final EntityIdWithType entityId,
              final Signal<?> signal,
              final AcknowledgementConfig acknowledgementConfig)
focal_class.identifier: startAcknowledgementForwarderConflictFree
focal_class.modifiers: public static
focal_class.parameters: (final akka.actor.ActorContext context,
              final EntityIdWithType entityId,
              final Signal<?> signal,
              final AcknowledgementConfig acknowledgementConfig)
focal_class.return: Signal<?>
focal_class.signature: Signal<?> startAcknowledgementForwarderConflictFree(final akka.actor.ActorContext context,
              final EntityIdWithType entityId,
              final Signal<?> signal,
              final AcknowledgementConfig acknowledgementConfig)
focal_class.superclass: extends AbstractActor
focal_method.body: public static String determineActorName(final DittoHeaders dittoHeaders) {
          checkNotNull(dittoHeaders, "dittoHeaders");
          final String correlationId = dittoHeaders.getCorrelationId()
                  .orElseThrow(() -> AcknowledgementCorrelationIdMissingException.newBuilder()
                          .dittoHeaders(dittoHeaders)
                          .build());
          return ACTOR_NAME_PREFIX + URLEncoder.encode(correlationId, Charset.defaultCharset());
      }
focal_method.class_method_signature: AcknowledgementForwarderActor.determineActorName(final DittoHeaders dittoHeaders)
focal_method.full_signature: public static String determineActorName(final DittoHeaders dittoHeaders)
focal_method.identifier: determineActorName
focal_method.invocations: checkNotNull orElseThrow getCorrelationId build dittoHeaders newBuilder encode defaultCharset
focal_method.modifiers: public static
focal_method.parameters: (final DittoHeaders dittoHeaders)
focal_method.return: String
focal_method.signature: String determineActorName(final DittoHeaders dittoHeaders)