public void assertFullSessionBean(String ejbName, SessionBeanMetaData session, Mode mode) {
   assertId(ejbName, session);
   // TODO: enrich the jboss xml
   if (mode == Mode.SPEC) {
     assertMappedName(ejbName, session.getMappedName());
     assertClass(ejbName, "Home", session.getHome());
     assertClass(ejbName, "Remote", session.getRemote());
     assertClass(ejbName, "LocalHome", session.getLocalHome());
     assertClass(ejbName, "Local", session.getLocal());
     assertClasses(ejbName, "BusinessLocal", 2, session.getBusinessLocals());
     assertClasses(ejbName, "BusinessRemote", 2, session.getBusinessRemotes());
     assertClass(ejbName, "ServiceEndpoint", session.getServiceEndpoint());
     assertClass(ejbName, "EjbClass", session.getEjbClass());
     assertEquals(SessionType.Stateless, session.getSessionType());
     assertNamedMethod(ejbName + "TimeoutMethod", 2, session.getTimeoutMethod());
     assertInitMethods(ejbName, 2, session.getInitMethods());
     assertRemoveMethods(ejbName, 3, session.getRemoveMethods());
     assertEquals(TransactionManagementType.CONTAINER, session.getTransactionType());
     assertAroundInvokes(ejbName, 2, session.getAroundInvokes());
     assertLifecycleCallbacks(ejbName, "PostActivate", 2, session.getPostActivates());
     assertLifecycleCallbacks(ejbName, "PrePassivate", 2, session.getPrePassivates());
     assertEnvironment(ejbName, session.getJndiEnvironmentRefsGroup(), true, mode);
     assertContainerTransactions(ejbName, 6, 6, session.getContainerTransactions());
     assertMethodPermissions(
         ejbName, ejbName + "MethodPermission", 3, 3, session.getMethodPermissions());
     assertExcludeList(ejbName, 5, 5, session.getExcludeList());
     assertSecurityRoleRefs(ejbName, 2, session.getSecurityRoleRefs());
     assertSecurityIdentity(
         ejbName, "SecurityIdentity", session.getSecurityIdentity(), true, mode);
   } else {
     assertNull(session.getMappedName());
     assertNull(session.getHome());
     assertNull(session.getRemote());
     assertNull(session.getLocalHome());
     assertNull(session.getLocal());
     assertNull(session.getBusinessLocals());
     assertNull(session.getBusinessRemotes());
     assertNull(session.getServiceEndpoint());
     assertNull(session.getEjbClass());
     assertNull(session.getSessionType());
     assertNull(session.getTimeoutMethod());
     assertNull(session.getInitMethods());
     assertNull(session.getRemoveMethods());
     assertNull(session.getTransactionType());
     assertNull(session.getAroundInvokes());
     assertNull(session.getPostActivates());
     assertNull(session.getPrePassivates());
     assertEnvironment(ejbName, session.getJndiEnvironmentRefsGroup(), false, mode);
     assertNull(session.getContainerTransactions());
     assertNull(session.getMethodPermissions());
     assertNull(session.getExcludeList());
     assertNull(session.getSecurityRoleRefs());
     assertSecurityIdentity(
         ejbName, "SecurityIdentity", session.getSecurityIdentity(), false, mode);
   }
 }