code: @Override
  	public void put(File source, String destination)
  			throws TransferFailedException, ResourceDoesNotExistException,
  			AuthorizationException {
          if ( source.isDirectory() ) {
              throw new IllegalArgumentException( "Source is a directory: " + source );
          }
          
  		String resourceName = FilenameUtils.separatorsToUnix(destination);
  		Resource resource = new Resource(resourceName);
  
  		firePutInitiated(resource, source);
  		firePutStarted(resource, source);
  
  		try {
  
  			File file = new File(checkoutDirectory, destination);
  			file.getParentFile().mkdirs();
  			transfer(resource, source, new FileOutputStream(file), true);
  
  		} catch (Exception e) {
  			fireTransferError(resource, e, TransferEvent.REQUEST_PUT);
  			throw new TransferFailedException("Unable to put file", e);
  		}
  
  		firePutCompleted(resource, source);
  	}
docs: /* (non-Javadoc)
  @see org.apache.maven.wagon.Wagon#put(java.io.File, java.lang.String)