import org.bouncycastle.crypto.digests.MD5Digest;
import org.bouncycastle.crypto.Mac;
import org.bouncycastle.crypto.macs.I2PHMac;
public class HMACGenerator {
private I2PAppContext _context;
<BUG>protected final List _available;
private final List _availableTmp;
public HMACGenerator(I2PAppContext context) {</BUG>
_context = context;
<BUG>_available = new ArrayList(32);
_availableTmp = new ArrayList(32);
}</BUG>
public Hash calculate(SessionKey key, byte data[]) {

import org.bouncycastle.crypto.digests.MD5Digest;
import org.bouncycastle.crypto.Mac;
import org.bouncycastle.crypto.macs.I2PHMac;
public class HMACGenerator {
private I2PAppContext _context;
protected final LinkedBlockingQueue<I2PHMac> _available;
private final LinkedBlockingQueue<byte[]> _availableTmp;
public HMACGenerator(I2PAppContext context) {
_context = context;
_available = new LinkedBlockingQueue(32);
_availableTmp = new LinkedBlockingQueue(32);
}
public Hash calculate(SessionKey key, byte data[]) {
