[Demonstration 1]

[Buggy Method]
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    //torrent
    if (requestCode == 1 && data != null) {
        String filePath = data.getStringExtra(FilePickerActivity.RESULT_FILE_PATH);
        ///if(!filePath.isEmpty()) {
        Toast.makeText(MainActivity.this, filePath, Toast.LENGTH_SHORT).show();
        File torrent = new File(filePath);
        spinner = (ProgressBar) findViewById(R.id.progressBar1);
        spinner.setVisibility(View.VISIBLE);
        String dowload_patch;
        dowload_patch = PATCH_DOWNLOAD_TORRENT + show_dir;
        new SendTorrentSsh(spinner, torrent, dowload_patch).execute();
        //}
    }
    //napisy
    if (requestCode == 2 && data != null) {
        String filePath = data.getStringExtra(FilePickerActivity.RESULT_FILE_PATH);
        // Toast.makeText(MainActivity.this, subtitles_target_dir, Toast.LENGTH_SHORT).show();
        //Toast.makeText(MainActivity.this, subtitles_target_dir, Toast.LENGTH_LONG).show();
        //gdzie - //send_dir = 192.168.1.1.0../berzace+subtitles_target_dir
        //co - filepath
        spinner = (ProgressBar) findViewById(R.id.progressBar1);
        spinner.setVisibility(View.VISIBLE);
        File napisy = new File(filePath);
        new SendSubtitlesSsh(subtitles_target_dir, spinner, napisy, this).execute();
        //subtitles_target_dir="";
    }
}

[Buggy Hunk]
new SendTorrentSsh(spinner,torrent,dowload_patch).execute();

[Patch]
new SendTorrentSsh(MainActivity.this,spinner,torrent,dowload_patch).execute();

[Demonstration 2]

[Buggy Method]
public static LinkedList<String> giveFilesByDirPriority(LinkedList<String> mainDirectories, String subDirectory, Text text) {
    HashMap<String, String> fileNames = new HashMap<String, String>();
    while (!mainDirectories.isEmpty()) {
        String directoryName = mainDirectories.removeFirst();
        if (directoryName != null) {
            File mainDirectory = new File(directoryName);
            if (!mainDirectory.isDirectory()) {
                throw new IllegalArgumentException(text.invalidDirectoryName(directoryName));
            }
        } else {
            throw new IllegalArgumentException(text.missingDirectoryName());
        }
        File subDirectoryFile = new File(directoryName + subDirectory);
        if (!subDirectoryFile.isDirectory()) {
            throw new IllegalArgumentException(text.invalidDirectoryName(directoryName + subDirectory));
        }
        for (File f : subDirectoryFile.listFiles()) {
            if (f.isFile()) {
                fileNames.put(f.getName(), f.toString());
            }
        }
    }
    return new LinkedList<String>(fileNames.values());
}

[Buggy Hunk]
fileNames.put(f.getName(), f.toString());

[Patch]
fileNames.put(f.getName().split(" -")[0], f.toString());

[Demonstration 3]

[Buggy Method]
@Override
public boolean isPageComplete() {
    File file = getFile();
    if (!(file.isDirectory() && getSupplierCSD() != null && getSupplierMSD() != null && getSupplierWSD() != null)) {
        return false;
    } else {
        return super.isPageComplete();
    }
}

[Buggy Hunk]
if(!(file.isDirectory() && getSupplierCSD() != null && getSupplierMSD() != null && getSupplierWSD() != null)) {

[Patch]
if(!(file != null && file.isDirectory() && getSupplierCSD() != null && getSupplierMSD() != null && getSupplierWSD() != null)) {