+ Authentication currentAuth = securityContext
+ .getAuthentication();
+ if (currentAuth != null)
+ throw new ArgeoException(
+ "System execution on an already authenticated thread: "
+ + currentAuth + ", THREAD="
+ + Thread.currentThread().getId());
+
+ Subject subject = Subject.getSubject(AccessController
+ .getContext());
+ if (subject != null
+ && !subject.getPrincipals(Authentication.class)
+ .isEmpty())
+ throw new ArgeoException(
+ "There is already an authenticated subject: "
+ + subject);
+