@Retention(value=RUNTIME) @Target(value={FIELD,PARAMETER}) @Documented @InjectionScope public @interface State
@State Property<StringState propertyName;
@State Association<MyEntityState associationName;
@State ManyAssociation<MyEntityState manyAssociationName;
@State NamedAssociation<MyEntityState namedAssociationName;
@State StateHolder state;
@State AssociationStateHolder associationState;
public abstract String value