code: public static ConnectionData mapToConnectionData(String providerId, Map<String, Object> map,
                                                       TextEncryptor encryptor) throws CryptoException {
          String providerUserId = (String) map.get("providerUserId");
          String displayName = (String) map.get("displayName");
          String profileUrl = (String) map.get("profileUrl");
          String imageUrl = (String) map.get("imageUrl");
          String accessToken = decrypt((String)map.get("accessToken"), encryptor);
          String secret = decrypt((String)map.get("secret"), encryptor);
          String refreshToken = decrypt((String)map.get("refreshToken"), encryptor);
          Long expireTime = (Long) map.get("expireTime");
  
          return new ConnectionData(providerId, providerUserId, displayName, profileUrl, imageUrl, accessToken, secret,
              refreshToken, expireTime);
      }
docs: Creates a new instance of {@link ConnectionData} from the specified map.
  Used when connection data needs to be retrieved from a profile.
  
  @param providerId    the provider ID of the connection (which is not stored in the map)
  @param map           the map to convert
  @param encryptor     the encryptor used to decrypt the accessToken, secret and refreshToken (optional)
  
  @return the map as {@link ConnectionData}