}
}
public void put(File source, String destination, boolean overwrite) throws IOException {
fireTransferInitiated(getResource(destination), TransferEvent.REQUEST_PUT);
ChannelSftp c = getSftpChannel(destination);
try {
String path = getPath(destination);
if (!overwrite && checkExistence(path, c)) {
throw new IOException("destination file exists and overwrite == false");
}
if (path.indexOf('/') != -1) {
mkdirs(path.substring(0, path.lastIndexOf('/')), c);
}
c.put(source.getAbsolutePath(), path, new MyProgressMonitor());
} catch (SftpException e) {
IOException ex = new IOException(e.getMessage());
ex.initCause(e);
throw ex;
} catch (URISyntaxException e) {