class FileConnection implements ObjectStoreConnection {

    @Override
    public boolean deletePendingRoleMember(String domainName, String roleName, String principal,
             String admin, String auditRef) {

        final String caller = "deletePendingRoleMember";
        DomainStruct domainStruct = getDomainStruct(domainName);
        if (domainStruct == null) {
            throw ZMSUtils.error(ResourceException.NOT_FOUND, "domain not found", caller);
        }
        Role role = getRoleObject(domainStruct, roleName);
        if (role == null) {
            throw ZMSUtils.error(ResourceException.NOT_FOUND, "role not found", caller);
        }
        List<RoleMember> roleMembers = role.getRoleMembers();
        boolean memberDeleted = false;
        if (roleMembers != null) {
            for (int idx = 0; idx < roleMembers.size(); idx++) {
                RoleMember roleMember = roleMembers.get(idx);
                if (roleMember.getApproved() == Boolean.FALSE && roleMember.getMemberName().equalsIgnoreCase(principal)) {
                    roleMembers.remove(idx);
                    memberDeleted = true;
                    break;
                }
            }
        }
        putDomainStruct(domainName, domainStruct);
        return memberDeleted;
    }

    public  FileConnection(File rootDir, File quotaDir);

}