test_class.file: step-core/src/test/java/step/core/scanner/CachedAnnotationScannerTest.java
test_class.identifier: CachedAnnotationScannerTest
test_case.body: @Test
  	public void testMethod2() {
  		Method method1 = CachedAnnotationScanner
  				.getMethodsWithAnnotation(TestAnnotation.class, this.getClass().getClassLoader()).stream().findFirst()
  				.get();
  		assertEquals("testMethod", method1.getName());
  	}
test_case.class_method_signature: CachedAnnotationScannerTest.testMethod2()
test_case.full_signature: @Test public void testMethod2()
test_case.identifier: testMethod2
test_case.invocations: get findFirst stream getMethodsWithAnnotation getClassLoader getClass assertEquals getName
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMethod2()
focal_class.declarator: annotationScanners = new ConcurrentHashMap<>()
focal_class.modifier: private static final
focal_class.original_string: private static final ConcurrentHashMap<Key, AnnotationScanner> annotationScanners = new ConcurrentHashMap<>();
focal_class.type: ConcurrentHashMap<Key, AnnotationScanner>
focal_class.var_name: annotationScanners
focal_class.declarator: ALLPACKAGES_PREFIXES = ""
focal_class.modifier: private static final
focal_class.original_string: private static final String ALLPACKAGES_PREFIXES = "";
focal_class.type: String
focal_class.var_name: ALLPACKAGES_PREFIXES
focal_class.file: step-core/src/main/java/step/core/scanner/CachedAnnotationScanner.java
focal_class.identifier: CachedAnnotationScanner
focal_class.class_method_signature: CachedAnnotationScanner.getClassesWithAnnotation(Class<? extends Annotation> annotationClass)
focal_class.full_signature: public static Set<Class<?>> getClassesWithAnnotation(Class<? extends Annotation> annotationClass)
focal_class.identifier: getClassesWithAnnotation
focal_class.modifiers: public static
focal_class.parameters: (Class<? extends Annotation> annotationClass)
focal_class.return: Set<Class<?>>
focal_class.signature: Set<Class<?>> getClassesWithAnnotation(Class<? extends Annotation> annotationClass)
focal_class.class_method_signature: CachedAnnotationScanner.getClassesWithAnnotation(Class<? extends Annotation> annotationClass,
  			ClassLoader classloader)
focal_class.full_signature: public static Set<Class<?>> getClassesWithAnnotation(Class<? extends Annotation> annotationClass,
  			ClassLoader classloader)
focal_class.identifier: getClassesWithAnnotation
focal_class.modifiers: public static
focal_class.parameters: (Class<? extends Annotation> annotationClass,
  			ClassLoader classloader)
focal_class.return: Set<Class<?>>
focal_class.signature: Set<Class<?>> getClassesWithAnnotation(Class<? extends Annotation> annotationClass,
  			ClassLoader classloader)
focal_class.class_method_signature: CachedAnnotationScanner.getClassesWithAnnotation(String packagePrefix,
  			Class<? extends Annotation> annotationClass, ClassLoader classloader)
focal_class.full_signature: public static Set<Class<?>> getClassesWithAnnotation(String packagePrefix,
  			Class<? extends Annotation> annotationClass, ClassLoader classloader)
focal_class.identifier: getClassesWithAnnotation
focal_class.modifiers: public static
focal_class.parameters: (String packagePrefix,
  			Class<? extends Annotation> annotationClass, ClassLoader classloader)
focal_class.return: Set<Class<?>>
focal_class.signature: Set<Class<?>> getClassesWithAnnotation(String packagePrefix,
  			Class<? extends Annotation> annotationClass, ClassLoader classloader)
focal_class.class_method_signature: CachedAnnotationScanner.getMethodsWithAnnotation(Class<? extends Annotation> annotationClass)
focal_class.full_signature: public static Set<Method> getMethodsWithAnnotation(Class<? extends Annotation> annotationClass)
focal_class.identifier: getMethodsWithAnnotation
focal_class.modifiers: public static
focal_class.parameters: (Class<? extends Annotation> annotationClass)
focal_class.return: Set<Method>
focal_class.signature: Set<Method> getMethodsWithAnnotation(Class<? extends Annotation> annotationClass)
focal_class.class_method_signature: CachedAnnotationScanner.getMethodsWithAnnotation(Class<? extends Annotation> annotationClass,
  			ClassLoader classloader)
focal_class.full_signature: public static Set<Method> getMethodsWithAnnotation(Class<? extends Annotation> annotationClass,
  			ClassLoader classloader)
focal_class.identifier: getMethodsWithAnnotation
focal_class.modifiers: public static
focal_class.parameters: (Class<? extends Annotation> annotationClass,
  			ClassLoader classloader)
focal_class.return: Set<Method>
focal_class.signature: Set<Method> getMethodsWithAnnotation(Class<? extends Annotation> annotationClass,
  			ClassLoader classloader)
focal_class.class_method_signature: CachedAnnotationScanner.getMethodsWithAnnotation(String packagePrefix,
  			Class<? extends Annotation> annotationClass, ClassLoader classloader)
focal_class.full_signature: public static Set<Method> getMethodsWithAnnotation(String packagePrefix,
  			Class<? extends Annotation> annotationClass, ClassLoader classloader)
focal_class.identifier: getMethodsWithAnnotation
focal_class.modifiers: public static
focal_class.parameters: (String packagePrefix,
  			Class<? extends Annotation> annotationClass, ClassLoader classloader)
focal_class.return: Set<Method>
focal_class.signature: Set<Method> getMethodsWithAnnotation(String packagePrefix,
  			Class<? extends Annotation> annotationClass, ClassLoader classloader)
focal_class.class_method_signature: CachedAnnotationScanner.getAnnotationScannerInstance(String packagePrefix, ClassLoader classLoader)
focal_class.full_signature: private static AnnotationScanner getAnnotationScannerInstance(String packagePrefix, ClassLoader classLoader)
focal_class.identifier: getAnnotationScannerInstance
focal_class.modifiers: private static
focal_class.parameters: (String packagePrefix, ClassLoader classLoader)
focal_class.return: AnnotationScanner
focal_class.signature: AnnotationScanner getAnnotationScannerInstance(String packagePrefix, ClassLoader classLoader)
focal_class.class_method_signature: CachedAnnotationScanner.clearCache()
focal_class.full_signature: public static void clearCache()
focal_class.identifier: clearCache
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void clearCache()
focal_method.body: public static Set<Method> getMethodsWithAnnotation(Class<? extends Annotation> annotationClass) {
  		return getMethodsWithAnnotation(annotationClass, Thread.currentThread().getContextClassLoader());
  	}
focal_method.class_method_signature: CachedAnnotationScanner.getMethodsWithAnnotation(Class<? extends Annotation> annotationClass)
focal_method.full_signature: public static Set<Method> getMethodsWithAnnotation(Class<? extends Annotation> annotationClass)
focal_method.identifier: getMethodsWithAnnotation
focal_method.invocations: getMethodsWithAnnotation getContextClassLoader currentThread
focal_method.modifiers: public static
focal_method.parameters: (Class<? extends Annotation> annotationClass)
focal_method.return: Set<Method>
focal_method.signature: Set<Method> getMethodsWithAnnotation(Class<? extends Annotation> annotationClass)