AccessControl Role-Based Control, unable to grant desired role?

Hi, can you clarify my doubts:

  1. DEFAULT_ADMIN_ROLE which was granted to msg.sender has the power to grant both CERTIFICATE_AUTHORITY_ADMIN_ROLE and CERTIFICATE_AUTHORITY_ROLE
  2. The person who is granted CERTIFICATE_AUTHORITY_ADMIN_ROLE can grant CERTIFICATE_AUTHORITY_ROLE using OpenZeppelin's grantRole()

Can you clarify my post: How _setRoleAdmin works?