class ZTSImpl implements KeyStore, ZTSHandler {

    int determineRoleCertTimeout(DataCache data, Set<String> roles, int reqTime) {

        // fetch the configured max allowed value for all roles in the set

        int maxAllowedExpiry = getConfiguredRoleCertExpiryTimeMins(data, roles);

        // finally we're going to check if the caller has requested
        // some thing smaller only if we have a limit configured

        if (reqTime > 0 && (maxAllowedExpiry == 0 || reqTime < maxAllowedExpiry)) {
            maxAllowedExpiry = reqTime;
        }

        return maxAllowedExpiry;
    }

    public  ZTSImpl();
    public  ZTSImpl(CloudStore implCloudStore, DataStore implDataStore);

}