public void putObjects(String bucket, String destination, List<String> listFiles) throws Exception {
    	
    	if(destination.trim().equalsIgnoreCase("/")){
    		destination="";
    	}
       	if(destination.startsWith("/")){
       	destination = destination.substring(destination.indexOf("/")+1);
       	}
        if(!destination.endsWith("/") && !destination.isEmpty()){
    		destination+="/";
    	}
    	List<String[]> fileList;
    	//building file processing array	
    	for(String fileItem : listFiles){
    		File f = new File(fileItem);
    		if(f.exists()){
    			if(f.isDirectory()){
    				doCreateDirectory(bucket, destination + f.getName() + "/");
    				fileList = new ArrayList<String[]>();
    				fileList = recursiveListDir(f, destination + f.getName(), fileList);	
    		    	
    				for (String[] fileNameUnit : fileList) {
    					if(fileNameUnit[0]=="mkdir"){
    		    			doCreateDirectory(bucket, fileNameUnit[1] + fileNameUnit[2]   + "/" );		
    		    		}else{    		    			
    	    				File fr = new File(fileNameUnit[3]);
    	    				doUploadFile(bucket, fr , fileNameUnit[1]+"/"+fileNameUnit[2]);
    		    		}
    		    		
    		    	}
    				
    		    	    				
    			}else{
    				doUploadFile(bucket,f, destination + f.getName());
    			}
    			
    			
    			
    		}else{

    		}
    	}
    	
    }