test_class.file: saga-lib/src/test/java/com/codebullets/sagalib/processing/ClassTypeExtractorTest.java
test_class.identifier: ClassTypeExtractorTest
test_case.body: @Test
      public void interfaces_ConcreteMessage_returnsMarkerInterface() {
          // given
          ClassTypeExtractor sut = new ClassTypeExtractor(ConcreteMessage.class);
  
          // when
          Iterable<Class<?>> interfaces = sut.interfaces();
  
          // then
          assertThat("Expected interface of message class.", interfaces, hasItem(MarkerInterface.class));
      }
test_case.class_method_signature: ClassTypeExtractorTest.interfaces_ConcreteMessage_returnsMarkerInterface()
test_case.full_signature: @Test public void interfaces_ConcreteMessage_returnsMarkerInterface()
test_case.identifier: interfaces_ConcreteMessage_returnsMarkerInterface
test_case.invocations: interfaces assertThat hasItem
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void interfaces_ConcreteMessage_returnsMarkerInterface()
focal_class.declarator: classes = new ArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<Class<?>> classes = new ArrayList<>();
focal_class.type: List<Class<?>>
focal_class.var_name: classes
focal_class.declarator: interfaces = new HashSet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<Class<?>> interfaces = new HashSet<>();
focal_class.type: Set<Class<?>>
focal_class.var_name: interfaces
focal_class.file: saga-lib/src/main/java/com/codebullets/sagalib/processing/ClassTypeExtractor.java
focal_class.identifier: ClassTypeExtractor
focal_class.class_method_signature: ClassTypeExtractor.ClassTypeExtractor(final Class<?> rootType)
focal_class.full_signature: public  ClassTypeExtractor(final Class<?> rootType)
focal_class.identifier: ClassTypeExtractor
focal_class.modifiers: public
focal_class.parameters: (final Class<?> rootType)
focal_class.signature:  ClassTypeExtractor(final Class<?> rootType)
focal_class.class_method_signature: ClassTypeExtractor.allClasses()
focal_class.full_signature: public Iterable<Class<?>> allClasses()
focal_class.identifier: allClasses
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Iterable<Class<?>>
focal_class.signature: Iterable<Class<?>> allClasses()
focal_class.class_method_signature: ClassTypeExtractor.interfaces()
focal_class.full_signature: public Iterable<Class<?>> interfaces()
focal_class.identifier: interfaces
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Iterable<Class<?>>
focal_class.signature: Iterable<Class<?>> interfaces()
focal_class.class_method_signature: ClassTypeExtractor.allClassesAndInterfaces()
focal_class.full_signature: public Iterable<Class<?>> allClassesAndInterfaces()
focal_class.identifier: allClassesAndInterfaces
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Iterable<Class<?>>
focal_class.signature: Iterable<Class<?>> allClassesAndInterfaces()
focal_class.class_method_signature: ClassTypeExtractor.scanType(final Class<?> root)
focal_class.full_signature: private void scanType(final Class<?> root)
focal_class.identifier: scanType
focal_class.modifiers: private
focal_class.parameters: (final Class<?> root)
focal_class.return: void
focal_class.signature: void scanType(final Class<?> root)
focal_class.class_method_signature: ClassTypeExtractor.addAllInterfaces(final Class<?> root)
focal_class.full_signature: private void addAllInterfaces(final Class<?> root)
focal_class.identifier: addAllInterfaces
focal_class.modifiers: private
focal_class.parameters: (final Class<?> root)
focal_class.return: void
focal_class.signature: void addAllInterfaces(final Class<?> root)
focal_method.body: public Iterable<Class<?>> interfaces() {
          return interfaces;
      }
focal_method.class_method_signature: ClassTypeExtractor.interfaces()
focal_method.full_signature: public Iterable<Class<?>> interfaces()
focal_method.identifier: interfaces
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Iterable<Class<?>>
focal_method.signature: Iterable<Class<?>> interfaces()