test_class.declarator: MSG_ONE_ID = 1
test_class.modifier: private static final
test_class.original_string: private static final int MSG_ONE_ID = 1;
test_class.type: int
test_class.var_name: MSG_ONE_ID
test_class.declarator: MSG_TWO_ID = 2
test_class.modifier: private static final
test_class.original_string: private static final int MSG_TWO_ID = 2;
test_class.type: int
test_class.var_name: MSG_TWO_ID
test_class.file: Actor-Lite/src/test/java/com/actors/ActorsInjectorTest.java
test_class.identifier: ActorsInjectorTest
test_case.body: @Test
      public void clearForMultipleActorsThenDoNotUnregisterSpawnedActorWhenTheLastActorIsNotUnregistered() {
  
          ActorSystemInstance system = ActorSystemInstance.getInstance("5", configuration());
  
          OwnerOne owner = new OwnerOne();
          OwnerTwo ownerTwo = new OwnerTwo();
  
          system.register(ownerTwo);
          system.register(owner);
          system.unregister(owner);
  
          assertTrue(system.getActorsInjector().getInjectedActorsOwners().size() == 1 &&
                  containsOwner(system.getActorsInjector().getInjectedActorsOwners(), ownerTwo));
  
      }
test_case.class_method_signature: ActorsInjectorTest.clearForMultipleActorsThenDoNotUnregisterSpawnedActorWhenTheLastActorIsNotUnregistered()
test_case.full_signature: @Test public void clearForMultipleActorsThenDoNotUnregisterSpawnedActorWhenTheLastActorIsNotUnregistered()
test_case.identifier: clearForMultipleActorsThenDoNotUnregisterSpawnedActorWhenTheLastActorIsNotUnregistered
test_case.invocations: getInstance configuration register register unregister assertTrue size getInjectedActorsOwners getActorsInjector containsOwner getInjectedActorsOwners getActorsInjector
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void clearForMultipleActorsThenDoNotUnregisterSpawnedActorWhenTheLastActorIsNotUnregistered()
focal_class.declarator: injectedActorsOwners = new ConcurrentHashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final ConcurrentMap<Actor, Set<Object>> injectedActorsOwners = new ConcurrentHashMap<>();
focal_class.type: ConcurrentMap<Actor, Set<Object>>
focal_class.var_name: injectedActorsOwners
focal_class.declarator: actorSystem
focal_class.modifier: private final
focal_class.original_string: private final ActorSystemInstance actorSystem;
focal_class.type: ActorSystemInstance
focal_class.var_name: actorSystem
focal_class.file: Actor-Lite/src/main/java/com/actors/ActorsInjector.java
focal_class.identifier: ActorsInjector
focal_class.class_method_signature: ActorsInjector.ActorsInjector(ActorSystemInstance actorSystem)
focal_class.full_signature:   ActorsInjector(ActorSystemInstance actorSystem)
focal_class.identifier: ActorsInjector
focal_class.parameters: (ActorSystemInstance actorSystem)
focal_class.signature:  ActorsInjector(ActorSystemInstance actorSystem)
focal_class.class_method_signature: ActorsInjector.injectFor(final Object actor)
focal_class.full_signature:  void injectFor(final Object actor)
focal_class.identifier: injectFor
focal_class.parameters: (final Object actor)
focal_class.return: void
focal_class.signature: void injectFor(final Object actor)
focal_class.class_method_signature: ActorsInjector.invokeInjectFor(Object actor)
focal_class.full_signature: private void invokeInjectFor(Object actor)
focal_class.identifier: invokeInjectFor
focal_class.modifiers: private
focal_class.parameters: (Object actor)
focal_class.return: void
focal_class.signature: void invokeInjectFor(Object actor)
focal_class.class_method_signature: ActorsInjector.toClass()
focal_class.full_signature: @NonNull private Function<Object, Class<?>> toClass()
focal_class.identifier: toClass
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Function<Object, Class<?>>
focal_class.signature: Function<Object, Class<?>> toClass()
focal_class.class_method_signature: ActorsInjector.isAnnotatedWithSpawn()
focal_class.full_signature: @NonNull private Predicate<Class<?>> isAnnotatedWithSpawn()
focal_class.identifier: isAnnotatedWithSpawn
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Predicate<Class<?>>
focal_class.signature: Predicate<Class<?>> isAnnotatedWithSpawn()
focal_class.class_method_signature: ActorsInjector.toSpawnAnnotation()
focal_class.full_signature: @NonNull private Function<Class<?>, Spawn> toSpawnAnnotation()
focal_class.identifier: toSpawnAnnotation
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Function<Class<?>, Spawn>
focal_class.signature: Function<Class<?>, Spawn> toSpawnAnnotation()
focal_class.class_method_signature: ActorsInjector.toValuesAndActorNamesClassList()
focal_class.full_signature: @NonNull private Function<Spawn, List<Class<? extends Actor>>> toValuesAndActorNamesClassList()
focal_class.identifier: toValuesAndActorNamesClassList
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Function<Spawn, List<Class<? extends Actor>>>
focal_class.signature: Function<Spawn, List<Class<? extends Actor>>> toValuesAndActorNamesClassList()
focal_class.class_method_signature: ActorsInjector.toActorClassObservable()
focal_class.full_signature: @NonNull private Function<List<Class<? extends Actor>>, Observable<Class<? extends Actor>>> toActorClassObservable()
focal_class.identifier: toActorClassObservable
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Function<List<Class<? extends Actor>>, Observable<Class<? extends Actor>>>
focal_class.signature: Function<List<Class<? extends Actor>>, Observable<Class<? extends Actor>>> toActorClassObservable()
focal_class.class_method_signature: ActorsInjector.byNonRegisteredActorClasses()
focal_class.full_signature: @NonNull private Predicate<Class<? extends Actor>> byNonRegisteredActorClasses()
focal_class.identifier: byNonRegisteredActorClasses
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Predicate<Class<? extends Actor>>
focal_class.signature: Predicate<Class<? extends Actor>> byNonRegisteredActorClasses()
focal_class.class_method_signature: ActorsInjector.toActorInstance()
focal_class.full_signature: @NonNull private Function<Class<? extends Actor>, Actor> toActorInstance()
focal_class.identifier: toActorInstance
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Function<Class<? extends Actor>, Actor>
focal_class.signature: Function<Class<? extends Actor>, Actor> toActorInstance()
focal_class.class_method_signature: ActorsInjector.registerToActorSystem()
focal_class.full_signature: @NonNull private Consumer<Actor> registerToActorSystem()
focal_class.identifier: registerToActorSystem
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Consumer<Actor>
focal_class.signature: Consumer<Actor> registerToActorSystem()
focal_class.class_method_signature: ActorsInjector.printStackTrace()
focal_class.full_signature: @NonNull private Consumer<Throwable> printStackTrace()
focal_class.identifier: printStackTrace
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Consumer<Throwable>
focal_class.signature: Consumer<Throwable> printStackTrace()
focal_class.class_method_signature: ActorsInjector.addToInjectedActorsOwners(final Object actor)
focal_class.full_signature: @NonNull private Consumer<Actor> addToInjectedActorsOwners(final Object actor)
focal_class.identifier: addToInjectedActorsOwners
focal_class.modifiers: @NonNull private
focal_class.parameters: (final Object actor)
focal_class.return: Consumer<Actor>
focal_class.signature: Consumer<Actor> addToInjectedActorsOwners(final Object actor)
focal_class.class_method_signature: ActorsInjector.appendActorClassFromClassName(String[] classesNames,
                                                 List<Class<? extends Actor>> spawningClasses)
focal_class.full_signature: @SuppressWarnings("unchecked") private void appendActorClassFromClassName(String[] classesNames,
                                                 List<Class<? extends Actor>> spawningClasses)
focal_class.identifier: appendActorClassFromClassName
focal_class.modifiers: @SuppressWarnings("unchecked") private
focal_class.parameters: (String[] classesNames,
                                                 List<Class<? extends Actor>> spawningClasses)
focal_class.return: void
focal_class.signature: void appendActorClassFromClassName(String[] classesNames,
                                                 List<Class<? extends Actor>> spawningClasses)
focal_class.class_method_signature: ActorsInjector.getOrCreateOwners(Actor injectedActor)
focal_class.full_signature: @NonNull private Set<Object> getOrCreateOwners(Actor injectedActor)
focal_class.identifier: getOrCreateOwners
focal_class.modifiers: @NonNull private
focal_class.parameters: (Actor injectedActor)
focal_class.return: Set<Object>
focal_class.signature: Set<Object> getOrCreateOwners(Actor injectedActor)
focal_class.class_method_signature: ActorsInjector.clearFor(final Object actor)
focal_class.full_signature:  void clearFor(final Object actor)
focal_class.identifier: clearFor
focal_class.parameters: (final Object actor)
focal_class.return: void
focal_class.signature: void clearFor(final Object actor)
focal_class.class_method_signature: ActorsInjector.invokeClearFor(Object actor)
focal_class.full_signature: private void invokeClearFor(Object actor)
focal_class.identifier: invokeClearFor
focal_class.modifiers: private
focal_class.parameters: (Object actor)
focal_class.return: void
focal_class.signature: void invokeClearFor(Object actor)
focal_class.class_method_signature: ActorsInjector.byNonRegisteredOwners(final Object actor)
focal_class.full_signature: @NonNull private Predicate<Map.Entry<Actor, Set<Object>>> byNonRegisteredOwners(final Object actor)
focal_class.identifier: byNonRegisteredOwners
focal_class.modifiers: @NonNull private
focal_class.parameters: (final Object actor)
focal_class.return: Predicate<Map.Entry<Actor, Set<Object>>>
focal_class.signature: Predicate<Map.Entry<Actor, Set<Object>>> byNonRegisteredOwners(final Object actor)
focal_class.class_method_signature: ActorsInjector.toInjectedActor()
focal_class.full_signature: @NonNull private Function<Map.Entry<Actor, Set<Object>>, Actor> toInjectedActor()
focal_class.identifier: toInjectedActor
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Function<Map.Entry<Actor, Set<Object>>, Actor>
focal_class.signature: Function<Map.Entry<Actor, Set<Object>>, Actor> toInjectedActor()
focal_class.class_method_signature: ActorsInjector.unregisterInjectedActor()
focal_class.full_signature: @NonNull private Consumer<Actor> unregisterInjectedActor()
focal_class.identifier: unregisterInjectedActor
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Consumer<Actor>
focal_class.signature: Consumer<Actor> unregisterInjectedActor()
focal_class.class_method_signature: ActorsInjector.removeFromInjectedActorsOwners()
focal_class.full_signature: @NonNull private Consumer<Actor> removeFromInjectedActorsOwners()
focal_class.identifier: removeFromInjectedActorsOwners
focal_class.modifiers: @NonNull private
focal_class.parameters: ()
focal_class.return: Consumer<Actor>
focal_class.signature: Consumer<Actor> removeFromInjectedActorsOwners()
focal_class.class_method_signature: ActorsInjector.getInjectedActorsOwners()
focal_class.full_signature: @RestrictTo(RestrictTo.Scope.TESTS) Map<Actor, Set<Object>> getInjectedActorsOwners()
focal_class.identifier: getInjectedActorsOwners
focal_class.modifiers: @RestrictTo(RestrictTo.Scope.TESTS)
focal_class.parameters: ()
focal_class.return: Map<Actor, Set<Object>>
focal_class.signature: Map<Actor, Set<Object>> getInjectedActorsOwners()
focal_class.class_method_signature: ActorsInjector.clear()
focal_class.full_signature: @RestrictTo(RestrictTo.Scope.LIBRARY) public void clear()
focal_class.identifier: clear
focal_class.modifiers: @RestrictTo(RestrictTo.Scope.LIBRARY) public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void clear()
focal_method.body: @RestrictTo(RestrictTo.Scope.TESTS)
      Map<Actor, Set<Object>> getInjectedActorsOwners() {
          return injectedActorsOwners;
      }
focal_method.class_method_signature: ActorsInjector.getInjectedActorsOwners()
focal_method.full_signature: @RestrictTo(RestrictTo.Scope.TESTS) Map<Actor, Set<Object>> getInjectedActorsOwners()
focal_method.identifier: getInjectedActorsOwners
focal_method.modifiers: @RestrictTo(RestrictTo.Scope.TESTS)
focal_method.parameters: ()
focal_method.return: Map<Actor, Set<Object>>
focal_method.signature: Map<Actor, Set<Object>> getInjectedActorsOwners()