test_class.declarator: eventFactory =
              TestEventFactory.newInstance(ProjectionClassTest.class)
test_class.modifier: private static final
test_class.original_string: private static final TestEventFactory eventFactory =
              TestEventFactory.newInstance(ProjectionClassTest.class);
test_class.type: TestEventFactory
test_class.var_name: eventFactory
test_class.file: server/src/test/java/io/spine/server/projection/model/ProjectionClassTest.java
test_class.identifier: ProjectionClassTest
test_case.body: @Test
      @DisplayName("fail to subscribe to the same event filtering by different fields")
      void failToSubscribeByDifferentFields() {
          assertThrows(
                  HandlerFieldFilterClashError.class,
                  () -> asProjectionClass(DifferentFieldSubscription.class)
          );
      }
test_case.class_method_signature: ProjectionClassTest.failToSubscribeByDifferentFields()
test_case.full_signature: @Test @DisplayName("fail to subscribe to the same event filtering by different fields") void failToSubscribeByDifferentFields()
test_case.identifier: failToSubscribeByDifferentFields
test_case.invocations: assertThrows asProjectionClass
test_case.modifiers: @Test @DisplayName("fail to subscribe to the same event filtering by different fields")
test_case.parameters: ()
test_case.return: void
test_case.signature: void failToSubscribeByDifferentFields()
focal_class.declarator: serialVersionUID = 0L
focal_class.modifier: private static final
focal_class.original_string: private static final long serialVersionUID = 0L;
focal_class.type: long
focal_class.var_name: serialVersionUID
focal_class.declarator: delegate
focal_class.modifier: private final
focal_class.original_string: private final EventReceivingClassDelegate<P, EmptyClass, SubscriberMethod> delegate;
focal_class.type: EventReceivingClassDelegate<P, EmptyClass, SubscriberMethod>
focal_class.var_name: delegate
focal_class.file: server/src/main/java/io/spine/server/projection/model/ProjectionClass.java
focal_class.identifier: ProjectionClass
focal_class.interfaces: implements EventReceiverClass, SubscribingClass, StateSubscribingClass
focal_class.class_method_signature: ProjectionClass.ProjectionClass(Class<P> cls)
focal_class.full_signature: private  ProjectionClass(Class<P> cls)
focal_class.identifier: ProjectionClass
focal_class.modifiers: private
focal_class.parameters: (Class<P> cls)
focal_class.signature:  ProjectionClass(Class<P> cls)
focal_class.class_method_signature: ProjectionClass.asProjectionClass(Class<P> cls)
focal_class.full_signature: public static ProjectionClass<P> asProjectionClass(Class<P> cls)
focal_class.identifier: asProjectionClass
focal_class.modifiers: public static
focal_class.parameters: (Class<P> cls)
focal_class.return: ProjectionClass<P>
focal_class.signature: ProjectionClass<P> asProjectionClass(Class<P> cls)
focal_class.class_method_signature: ProjectionClass.events()
focal_class.full_signature: @Override public final ImmutableSet<EventClass> events()
focal_class.identifier: events
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<EventClass>
focal_class.signature: ImmutableSet<EventClass> events()
focal_class.class_method_signature: ProjectionClass.domesticEvents()
focal_class.full_signature: @Override public final ImmutableSet<EventClass> domesticEvents()
focal_class.identifier: domesticEvents
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<EventClass>
focal_class.signature: ImmutableSet<EventClass> domesticEvents()
focal_class.class_method_signature: ProjectionClass.externalEvents()
focal_class.full_signature: @Override public final ImmutableSet<EventClass> externalEvents()
focal_class.identifier: externalEvents
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<EventClass>
focal_class.signature: ImmutableSet<EventClass> externalEvents()
focal_class.class_method_signature: ProjectionClass.domesticStates()
focal_class.full_signature: @Override public final ImmutableSet<StateClass> domesticStates()
focal_class.identifier: domesticStates
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<StateClass>
focal_class.signature: ImmutableSet<StateClass> domesticStates()
focal_class.class_method_signature: ProjectionClass.externalStates()
focal_class.full_signature: @Override public final ImmutableSet<StateClass> externalStates()
focal_class.identifier: externalStates
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<StateClass>
focal_class.signature: ImmutableSet<StateClass> externalStates()
focal_class.class_method_signature: ProjectionClass.subscribersOf(EventClass eventClass, MessageClass originClass)
focal_class.full_signature: @Override public final ImmutableSet<SubscriberMethod> subscribersOf(EventClass eventClass, MessageClass originClass)
focal_class.identifier: subscribersOf
focal_class.modifiers: @Override public final
focal_class.parameters: (EventClass eventClass, MessageClass originClass)
focal_class.return: ImmutableSet<SubscriberMethod>
focal_class.signature: ImmutableSet<SubscriberMethod> subscribersOf(EventClass eventClass, MessageClass originClass)
focal_class.superclass: extends EntityClass<P>
focal_method.body: public static <P extends Projection> ProjectionClass<P> asProjectionClass(Class<P> cls) {
          checkNotNull(cls);
          ProjectionClass<P> result = (ProjectionClass<P>)
                  get(cls, ProjectionClass.class, () -> new ProjectionClass<>(cls));
          return result;
      }
focal_method.class_method_signature: ProjectionClass.asProjectionClass(Class<P> cls)
focal_method.full_signature: public static ProjectionClass<P> asProjectionClass(Class<P> cls)
focal_method.identifier: asProjectionClass
focal_method.invocations: checkNotNull get
focal_method.modifiers: public static
focal_method.parameters: (Class<P> cls)
focal_method.return: ProjectionClass<P>
focal_method.signature: ProjectionClass<P> asProjectionClass(Class<P> cls)