class ProtectsDelegator extends BaseDelegator implements IProtectsDelegator {

    @Override
    public List<IProtectionEntry> getProtectionEntries(
            final boolean allUsers,
            final String hostName,
            final String userName,
            final String groupName,
            final List<IFileSpec> fileList)
            throws ConnectionException, RequestException, AccessException {

        try {
            GetProtectionEntriesOptions opts = new GetProtectionEntriesOptions()
                    .setAllUsers(allUsers)
                    .setHostName(hostName)
                    .setUserName(userName)
                    .setGroupName(groupName);
            return getProtectionEntries(fileList, opts);
        } catch (final ConnectionException | AccessException | RequestException exc) {
            throw exc;
        } catch (P4JavaException exc) {
            throw new RequestException(exc.getMessage(), exc);
        }
    }

    public  ProtectsDelegator(IOptionsServer server);

}