code: protected void checkScopeAllowed() {
          if (ejbDescriptor.isStateless() && !isDependent()) {
              throw BeanLogger.LOG.scopeNotAllowedOnStatelessSessionBean(getScope(), getType());
          }
          if (ejbDescriptor.isSingleton() && !(isDependent() || getScope().equals(ApplicationScoped.class))) {
              throw BeanLogger.LOG.scopeNotAllowedOnSingletonBean(getScope(), getType());
          }
      }
docs: Check that the scope type is allowed by the stereotypes on the bean and
  the bean type