private TempBucket getTempBucket(){
		
		boolean exists 		  = true;
		File tempDir		  = null;
		
		TempBucket tempBucket = new TempBucket();
		TempBucketDetails bucketDetails = new TempBucketDetails();
		while(exists){
			long mostSignificantBits  = Math.abs( UUID.randomUUID().getMostSignificantBits()  );
			long leastSignificantBits = Math.abs( UUID.randomUUID().getLeastSignificantBits() );
			String composedUniqueSubPath = mostSignificantBits+"/"+leastSignificantBits;
			
			File baseTempDir = new File(baseTempDirPath);
			File newEmptyDir = new File(baseTempDir, composedUniqueSubPath);
			exists = newEmptyDir.exists();
			
			bucketDetails.setCreatedDate(new Date());
			bucketDetails.setLeastSignificantBits(leastSignificantBits);
			bucketDetails.setMostSignificantBits(mostSignificantBits);
			
			tempBucket.setDetails(bucketDetails);
			tempBucket.setDirectory(newEmptyDir);
			tempBucket.setPath(composedUniqueSubPath);
			
		}
		return tempBucket;
	}