boolean finish = false;
synchronized(this) {
if(fetcherHalfFinished) return;
fetcherHalfFinished = true;
finish = encoderFinished;
<BUG>}
if(finish) freeDecodedData(container, false);

else {
</BUG>
if(logMINOR) Logger.minor(this, "Fetcher half-finished but fetcher not finished on "+this);

boolean finish = false;
synchronized(this) {
if(fetcherHalfFinished) return;
fetcherHalfFinished = true;
finish = encoderFinished;
}
if(finish) {
if(crossCheckBlocks == 0) freeDecodedData(container, false);
} else {
