public void merge(AuthenticationInfo info) {
        authcInfo.merge(info);

        // Merge SimpleAccount specific info
        if (info instanceof SimpleAccount) {
            SimpleAccount otherAccount = (SimpleAccount) info;
            if (otherAccount.isLocked()) {
                setLocked(true);
            }

            if (otherAccount.isCredentialsExpired()) {
                setCredentialsExpired(true);
            }
        }
    }
Merges the specified <code>AuthenticationInfo</code> into this <code>Account</code>.
<p/>
If the specified argument is also an instance of {@link SimpleAccount SimpleAccount}, the
{@link #isLocked()} and {@link #isCredentialsExpired()} attributes are merged (set on this instance) as well
(only if their values are <code>true</code>).

@param info the <code>AuthenticationInfo</code> to merge into this account.
core/src/main/java/org/apache/shiro/authc/SimpleAccount.java