# File lib/openid/filestore.rb, line 157
    def _get_association(filename)
      begin
        assoc_file = File.open(filename, "r")
      rescue Errno::ENOENT
        return nil
      else
        begin
          assoc_s = assoc_file.read
        ensure
          assoc_file.close
        end
        
        begin
          association = OpenID::Association.deserialize(assoc_s)      
        rescue
          self.remove_if_present(filename)
          return nil
        end

        # clean up expired associations
        if association.expires_in == 0
          self.remove_if_present(filename)
          return nil
        else
          return association
        end
      end
    end