I did not understand that comment at first. It's not that findbugs do not like implicitly initialized fields, its' only when they are used in the initializer, that it complains.

I'd rather do this: private T[] block = directory[0]; 
and drop the dirIdx = 0 change