protected AllowedMethodsInformation(boolean beanManagedTransaction) {
this.beanManagedTransaction = beanManagedTransaction;
final Set<DeniedMethodKey> denied = new HashSet<DeniedMethodKey>();
add(denied, InvocationType.SET_ENTITY_CONTEXT, MethodType.TIMER_SERVICE_METHOD);
add(denied, InvocationType.SET_ENTITY_CONTEXT, MethodType.TIMER_SERVICE_METHOD);
add(denied, InvocationType.SET_ENTITY_CONTEXT, MethodType.GET_PRIMARY_KEY);
add(denied, InvocationType.SET_ENTITY_CONTEXT, MethodType.GET_TIMER_SERVICE);
add(denied, InvocationType.SET_ENTITY_CONTEXT, MethodType.IS_CALLER_IN_ROLE);
add(denied, InvocationType.SET_ENTITY_CONTEXT, MethodType.GET_CALLER_PRINCIPLE);
add(denied, InvocationType.HOME_METHOD, MethodType.TIMER_SERVICE_METHOD);
add(denied, InvocationType.HOME_METHOD, MethodType.GET_PRIMARY_KEY);
add(denied, InvocationType.ENTITY_EJB_CREATE, MethodType.TIMER_SERVICE_METHOD);
add(denied, InvocationType.ENTITY_EJB_CREATE, MethodType.GET_PRIMARY_KEY);
setup(denied);
this.denied = Collections.unmodifiableSet(denied);
final Set<DeniedSyncMethodKey> deniedSync = new HashSet<DeniedSyncMethodKey>();
add(deniedSync, CurrentSynchronizationCallback.CallbackType.AFTER_COMPLETION, MethodType.TIMER_SERVICE_METHOD);
add(deniedSync, CurrentSynchronizationCallback.CallbackType.AFTER_COMPLETION, MethodType.GET_ROLLBACK_ONLY);
add(deniedSync, CurrentSynchronizationCallback.CallbackType.AFTER_COMPLETION, MethodType.SET_ROLLBACK_ONLY);
this.deniedSyncMethods = Collections.unmodifiableSet(deniedSync);
}