@SuppressWarnings("unchecked")
  protected static Map<String, Integer> getPrincipalKeyNumberMap(Map<String, Object> requestSharedDataContext) {
    if (requestSharedDataContext == null) {
      return null;
    }
    Object map = requestSharedDataContext.computeIfAbsent(PRINCIPAL_KEY_NUMBER_MAP, k -> new HashMap<String, String>());
    return (Map<String, Integer>) map;
  }
Gets the shared principal-to-key_number Map used to store principals and key numbers for
use within the current request context.
<p/>
If the requested Map is not found in requestSharedDataContext, one will be created and stored,
ensuring that a Map will always be returned, assuming requestSharedDataContext is not null.

@param requestSharedDataContext a Map to be used a shared data among all ServerActions related
                                to a given request
@return A Map of principals-to-key_numbers
ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/KerberosServerAction.java