// length is 0, it means the piece has been entirely
// downloaded. In this case, we have nothing to save, but
// we should validate the piece.
if (piece.getOffset() + piece.getBlock().capacity()
== p.size()) {
p.validate();
this.firePieceCompleted(p);
this.requestedPiece = null;
this.firePeerReady();
} else {
this.requestNextBlocks();