code: public void requestAfterExplanation(@NonNull String[] permissions) {
          ArrayList<String> permissionsToRequest = new ArrayList<>();
          for (String permissionName : permissions) {
              if (isPermissionDeclined(permissionName)) {
                  permissionsToRequest.add(permissionName); // add permission to request
              } else {
                  permissionCallback.onPermissionPreGranted(permissionName); // do not request, since it is already granted
              }
          }
          if (permissionsToRequest.isEmpty()) return;
          permissions = permissionsToRequest.toArray(new String[permissionsToRequest.size()]);
          context.requestPermissions(permissions, REQUEST_PERMISSIONS);
      }
docs: to be called when explanation is presented to the user