class TicketClientOperationsImpl extends AbstractTicketService implements TicketClientOperations {

	@Override
	public void getOperationFromIRODSUsingTicket(final String ticketString, final IRODSFile irodsSourceFile,
			final File targetLocalFile, final TransferStatusCallbackListener transferStatusCallbackListener,
			final TransferControlBlock transferControlBlock)
			throws DataNotFoundException, OverwriteException, JargonException {

		log.info("getFileFromIRODSUsingTicket()");

		if (ticketString == null || ticketString.isEmpty()) {
			throw new IllegalArgumentException("null or empty ticketString");
		}

		// other param checks done in delegated methods

		log.info("initializing session with ticket:{}", ticketString);
		ticketClientSupport.initializeSessionWithTicket(ticketString);

		log.info("session initialized, doing get operation");
		dataTransferOperations.getOperation(irodsSourceFile, targetLocalFile, transferStatusCallbackListener,
				transferControlBlock);
	}

	  TicketClientOperationsImpl(final IRODSAccessObjectFactory irodsAccessObjectFactory, final IRODSAccount irodsAccount);

}