class LongFPSetCache extends MemLongFPSet {
    
    private static final long serialVersionUID = -5307436423975825566L;

    long sweepHand = 0;

    public LongFPSetCache() {
        super();
    }

    public LongFPSetCache(int capacityPowerOfTwo, float loadFactor) {
        super(capacityPowerOfTwo, loadFactor);
    }

    protected void noteAccess(long index) {
        if(slots[(int)index]<Byte.MAX_VALUE) {
            slots[(int)index]++;
        }
    }

    protected void makeSpace() {
        discard(1);
    }

    private void discard(int i) {<FILL_FUNCTION_BODY>}
}

        int toDiscard = i;
        while(toDiscard>0) {
            if(slots[(int)sweepHand]==0) {
                removeAt(sweepHand);
                toDiscard--;
            } else {
                if (slots[(int)sweepHand]>0) {
                    slots[(int)sweepHand]--;
                }
            }
            sweepHand++;
            if (sweepHand==slots.length) {
                sweepHand = 0;
            }
        }
    
<methods>public void <init>() ,public void <init>(int, float) ,public boolean quickContains(long) <variables>private static final int DEFAULT_CAPACITY_POWER_OF_TWO,private static final float DEFAULT_LOAD_FACTOR,private static java.util.logging.Logger logger,private static final long serialVersionUID,protected byte[] slots,protected long[] values