Buggy code:
public class ClientPutter extends BaseClientPutter implements PutCompletionCallback { private static final long serialVersionUID = 1L ; final ClientPutCallback client ; final RandomAccessBucket data ; final FreenetURI targetURI ; final ClientMetadata cm ; final InsertContext ctx ; final String targetFilename ; private ClientPutState currentState ; private boolean finished ; private final boolean isMetadata ; private boolean startedStarting ; private final boolean binaryBlob ; private FreenetURI uri ; private final byte [ ] overrideSplitfileCrypto ; private byte [ ] cryptoKey ; private final long metadataThreshold ; private boolean gotFinalMetadata ; private static volatile boolean logMINOR ; @ SuppressWarnings ( "unused" ) private ClientPutter ( ) { } public ClientPutter ( ClientPutCallback client , RandomAccessBucket data , FreenetURI targetURI , ClientMetadata cm , InsertContext ctx , short priorityClass , boolean isMetadata , String targetFilename , boolean binaryBlob , ClientContext context , byte [ ] overrideSplitfileCrypto , long metadataThreshold ) { } public void start ( ClientContext context ) throws InsertException { } public boolean start ( boolean restart , ClientContext context ) throws InsertException { } public static boolean randomiseSplitfileKeys ( FreenetURI targetURI , InsertContext ctx , boolean persistent ) { } @ Override public void onSuccess ( ClientPutState state , ClientContext context ) { synchronized ( this ) { finished = true ; currentState = null ; } if ( ( ( ( super . failedBlocks ) > 0 ) || ( ( super . fatallyFailedBlocks ) > 0 ) ) || ( ( super . successfulBlocks ) < ( super . totalBlocks ) ) ) { <START_BUG> if ( ! ( uri . isUSK ( ) ) ) <END_BUG> Logger . error ( this , ( ( ( ( ( ( ( ( ( ( ( "Failed<seq2seq4repair_space>blocks:<seq2seq4repair_space>" + ( failedBlocks ) ) + ",<seq2seq4repair_space>Fatally<seq2seq4repair_space>failed<seq2seq4repair_space>blocks:<seq2seq4repair_space>" ) + ( fatallyFailedBlocks ) ) + ",<seq2seq4repair_space>Successful<seq2seq4repair_space>blocks:<seq2seq4repair_space>" ) + ( successfulBlocks ) ) + ",<seq2seq4repair_space>Total<seq2seq4repair_space>blocks:<seq2seq4repair_space>" ) + ( totalBlocks ) ) + "<seq2seq4repair_space>but<seq2seq4repair_space>success?!<seq2seq4repair_space>on<seq2seq4repair_space>" ) + ( this ) ) + "<seq2seq4repair_space>from<seq2seq4repair_space>" ) + state ) , new Exception ( "debug" ) ) ; } client . onSuccess ( this ) ; } @ Override public void onFailure ( InsertException e , ClientPutState state , ClientContext context ) { } @ Override public void onEncode ( BaseClientKey key , ClientPutState state , ClientContext context ) { } public void onMetadata ( Bucket finalMetadata , ClientPutState state , ClientContext context ) { } @ Override public void cancel ( ClientContext context ) { } @ Override public synchronized boolean isFinished ( ) { } public Bucket getData ( ) { } public FreenetURI getTargetURI ( ) { } @ Override public FreenetURI getURI ( ) { } public byte [ ] getSplitfileCryptoKey ( ) { } @ Override public void onTransition ( ClientPutState oldState , ClientPutState newState , ClientContext context ) { } @ Override public void onMetadata ( Metadata m , ClientPutState state , ClientContext context ) { } protected int minSuccessFetchBlocks ; @ Override public int getMinSuccessFetchBlocks ( ) { } @ Override public void addBlock ( ) { } @ Override public void addBlocks ( int num ) { } @ Override public void addMustSucceedBlocks ( int blocks ) { } @ Override public void addRedundantBlocksInsert ( int blocks ) { } @ Override protected void clearCountersOnRestart ( ) { } @ Override protected void innerNotifyClients ( ClientContext context ) { } @ Override protected void innerToNetwork ( ClientContext context ) { } @ Override public void onBlockSetFinished ( ClientPutState state , ClientContext context ) { } @ Override public void onFetchable ( ClientPutState state ) { } public boolean canRestart ( ) { } public boolean restart ( ClientContext context ) throws InsertException { } @ Override public void onTransition ( ClientGetState oldState , ClientGetState newState , ClientContext context ) { } @ Override public void dump ( ) { } public byte [ ] getClientDetail ( ChecksumChecker checker ) throws IOException { } @ Override public void innerOnResume ( ClientContext context ) throws ResumeFailedException { } @ Override protected ClientBaseCallback getCallback ( ) { } @ Override public void onShutdown ( ClientContext context ) { } }

Fix:
if ( ( ! ( uri . isUSK ( ) ) ) && ( ! ( ctx . getCHKOnly ) ) )