test_class.file: server/src/test/java/io/spine/server/model/MethodScanTest.java
test_class.identifier: MethodScanTest
test_case.body: @Test
      @DisplayName("allow multiple subscriptions to the same rejection with different causes")
      void multipleRejectionSubscriptions() {
          ImmutableSetMultimap<DispatchKey, SubscriberMethod> map =
                  findMethodsBy(ARejectionSubscriber.class, new SubscriberSignature());
          assertThat(map.keys()).hasSize(2);
      }
test_case.class_method_signature: MethodScanTest.multipleRejectionSubscriptions()
test_case.full_signature: @Test @DisplayName("allow multiple subscriptions to the same rejection with different causes") void multipleRejectionSubscriptions()
test_case.identifier: multipleRejectionSubscriptions
test_case.invocations: findMethodsBy hasSize assertThat keys
test_case.modifiers: @Test @DisplayName("allow multiple subscriptions to the same rejection with different causes")
test_case.parameters: ()
test_case.return: void
test_case.signature: void multipleRejectionSubscriptions()
focal_class.declarator: declaringClass
focal_class.modifier: private final
focal_class.original_string: private final Class<?> declaringClass;
focal_class.type: Class<?>
focal_class.var_name: declaringClass
focal_class.declarator: signature
focal_class.modifier: private final
focal_class.original_string: private final MethodSignature<H, ?> signature;
focal_class.type: MethodSignature<H, ?>
focal_class.var_name: signature
focal_class.declarator: handlers
focal_class.modifier: private final
focal_class.original_string: private final Multimap<DispatchKey, H> handlers;
focal_class.type: Multimap<DispatchKey, H>
focal_class.var_name: handlers
focal_class.declarator: seenMethods
focal_class.modifier: private final
focal_class.original_string: private final Map<DispatchKey, H> seenMethods;
focal_class.type: Map<DispatchKey, H>
focal_class.var_name: seenMethods
focal_class.declarator: selectiveHandlers
focal_class.modifier: private final
focal_class.original_string: private final Map<MessageClass, SelectiveHandler> selectiveHandlers;
focal_class.type: Map<MessageClass, SelectiveHandler>
focal_class.var_name: selectiveHandlers
focal_class.file: server/src/main/java/io/spine/server/model/MethodScan.java
focal_class.identifier: MethodScan
focal_class.class_method_signature: MethodScan.findMethodsBy(Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_class.full_signature: static ImmutableSetMultimap<DispatchKey, H> findMethodsBy(Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_class.identifier: findMethodsBy
focal_class.modifiers: static
focal_class.parameters: (Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_class.return: ImmutableSetMultimap<DispatchKey, H>
focal_class.signature: ImmutableSetMultimap<DispatchKey, H> findMethodsBy(Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_class.class_method_signature: MethodScan.MethodScan(Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_class.full_signature: private  MethodScan(Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_class.identifier: MethodScan
focal_class.modifiers: private
focal_class.parameters: (Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_class.signature:  MethodScan(Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_class.class_method_signature: MethodScan.perform()
focal_class.full_signature: private ImmutableSetMultimap<DispatchKey, H> perform()
focal_class.identifier: perform
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: ImmutableSetMultimap<DispatchKey, H>
focal_class.signature: ImmutableSetMultimap<DispatchKey, H> perform()
focal_class.class_method_signature: MethodScan.scanMethod(Method method)
focal_class.full_signature: private void scanMethod(Method method)
focal_class.identifier: scanMethod
focal_class.modifiers: private
focal_class.parameters: (Method method)
focal_class.return: void
focal_class.signature: void scanMethod(Method method)
focal_class.class_method_signature: MethodScan.remember(H handler)
focal_class.full_signature: private void remember(H handler)
focal_class.identifier: remember
focal_class.modifiers: private
focal_class.parameters: (H handler)
focal_class.return: void
focal_class.signature: void remember(H handler)
focal_class.class_method_signature: MethodScan.checkNotRemembered(H handler)
focal_class.full_signature: private void checkNotRemembered(H handler)
focal_class.identifier: checkNotRemembered
focal_class.modifiers: private
focal_class.parameters: (H handler)
focal_class.return: void
focal_class.signature: void checkNotRemembered(H handler)
focal_class.class_method_signature: MethodScan.checkFilteringNotClashes(SelectiveHandler handler)
focal_class.full_signature: @SuppressWarnings("PMD.CollapsibleIfStatements") // For clarity. private void checkFilteringNotClashes(SelectiveHandler handler)
focal_class.identifier: checkFilteringNotClashes
focal_class.modifiers: @SuppressWarnings("PMD.CollapsibleIfStatements") // For clarity. private
focal_class.parameters: (SelectiveHandler handler)
focal_class.return: void
focal_class.signature: void checkFilteringNotClashes(SelectiveHandler handler)
focal_method.body: static <H extends HandlerMethod<?, ?, ?, ?>> ImmutableSetMultimap<DispatchKey, H>
      findMethodsBy(Class<?> declaringClass, MethodSignature<H, ?> signature) {
          MethodScan<H> operation = new MethodScan<>(declaringClass, signature);
          ImmutableSetMultimap<DispatchKey, H> result = operation.perform();
          return result;
      }
focal_method.class_method_signature: MethodScan.findMethodsBy(Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_method.full_signature: static ImmutableSetMultimap<DispatchKey, H> findMethodsBy(Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_method.identifier: findMethodsBy
focal_method.invocations: perform
focal_method.modifiers: static
focal_method.parameters: (Class<?> declaringClass, MethodSignature<H, ?> signature)
focal_method.return: ImmutableSetMultimap<DispatchKey, H>
focal_method.signature: ImmutableSetMultimap<DispatchKey, H> findMethodsBy(Class<?> declaringClass, MethodSignature<H, ?> signature)