public Object getPrimaryPrincipal() {
        //heuristic - just use the first one we come across:
        return !CollectionUtils.isEmpty(this.combinedPrincipals) ? this.combinedPrincipals.values().iterator().next() : null;
    }
Default implementation of the {@link PrincipalMap} interface.
<p>
*EXPERIMENTAL for Shiro 1.2 - DO NOT USE YET*

@since 1.2
core/src/main/java/org/apache/shiro/subject/SimplePrincipalMap.java