protected Collection getPrincipalsLazy(String realmName) {
        if (realmPrincipals == null) {
            realmPrincipals = new LinkedHashMap<String, Set>();
        }
        Set principals = realmPrincipals.get(realmName);
        if (principals == null) {
            principals = new LinkedHashSet();
            realmPrincipals.put(realmName, principals);
        }
        return principals;
    }
A simple implementation of the {@link MutablePrincipalCollection} interface that tracks principals internally
by storing them in a {@link LinkedHashMap}.

@since 0.9
core/src/main/java/org/apache/shiro/subject/SimplePrincipalCollection.java