protected Map<String, Object> getSeed(final Object[] methodArguments, final CacheableMethod cacheableMethod) {
        return switch (cacheableMethod) {
            case PEOPLE_MAP, PEOPLE_MULTIVALUED_MAP -> (Map<String, Object>) methodArguments[0];
            case PERSON_STR -> {
                val uid = (String) methodArguments[0];
                yield Map.of(this.defaultAttributeName, uid);
            }
            case POSSIBLE_USER_ATTRIBUTE_NAMES -> POSSIBLE_USER_ATTRIBUTE_NAMES_SEED_MAP;
            case AVAILABLE_QUERY_ATTRIBUTES -> AVAILABLE_QUERY_ATTRIBUTES_SEED_MAP;
        };
    }
Get the see {@link Map} that was passed to the {@link CacheableMethod}. For {@link CacheableMethod}s that
take {@link String} arguments this method is responsible for converting it into a {@link Map} using the
{@code defaultAttributeName}.

@param methodArguments The method arguments
@param cacheableMethod The targeted cacheable method
@return The seed Map for the method call
support/cas-server-support-person-directory-core/src/main/java/org/apereo/cas/persondir/cache/AttributeBasedCacheKeyGenerator.java