### Question:
DefaultTransferControlBlock implements TransferControlBlock { public final static TransferControlBlock instance(final String restartAbsolutePath, final int maxErrorsBeforeCancelling) throws JargonException { return new DefaultTransferControlBlock(restartAbsolutePath, maxErrorsBeforeCancelling); } private  DefaultTransferControlBlock(final String restartAbsolutePath, final int maximumErrorsBeforeCancelling); @Override synchronized void resetTransferData(); final static TransferControlBlock instance(final String restartAbsolutePath,
			final int maxErrorsBeforeCancelling); final static TransferControlBlock instance(final String restartAbsolutePath); final static TransferControlBlock instance(); @Override synchronized boolean filter(final String absolutePath); @Override boolean isCancelled(); @Override void setCancelled(final boolean cancelled); @Override boolean isPaused(); @Override void setPaused(final boolean paused); @Override int getMaximumErrorsBeforeCanceling(); @Override void setMaximumErrorsBeforeCanceling(final int maximumErrorsBeforeCanceling); @Override int getErrorCount(); @Override void reportErrorInTransfer(); @Override boolean shouldTransferBeAbandonedDueToNumberOfErrors(); @Override int getTotalFilesToTransfer(); @Override void setTotalFilesToTransfer(final int totalFilesToTransfer); @Override int getTotalFilesTransferredSoFar(); @Override int incrementFilesTransferredSoFar(); @Override int incrementFilesSkippedSoFar(); @Override synchronized TransferOptions getTransferOptions(); @Override synchronized void setTransferOptions(final TransferOptions transferOptions); @Override synchronized long getTotalBytesTransferredSoFar(); @Override synchronized void incrementTotalBytesTransferredSoFar(final long totalBytesTransferredSoFar); @Override synchronized long getTotalBytesToTransfer(); @Override synchronized void setTotalBytesToTransfer(final long totalBytesToTransfer); @Override synchronized String getRestartAbsolutePath(); @Override void setRestartAbsolutePath(final String restartAbsolutePath); @Override synchronized int getTotalFilesSkippedSoFar(); @Override synchronized void setTotalFilesSkippedSoFar(final int totalFilesSkippedSoFar); @Override int getActualFilesTransferredWithoutSkippedSoFar();  }### Answer:
@Test public void testInstance() throws Exception { TransferControlBlock testControlBlock = DefaultTransferControlBlock.instance(); Assert.assertNotNull(testControlBlock); }
@Test(expected = JargonException.class) public void testInstanceBadMaxErrors() throws Exception { TransferControlBlock testControlBlock = DefaultTransferControlBlock.instance(null, -3); Assert.assertNotNull(testControlBlock); }
@Test public void testInstanceGoodMaxErrors() throws Exception { TransferControlBlock testControlBlock = DefaultTransferControlBlock.instance(null, 5); Assert.assertNotNull(testControlBlock); }