    @Test
    public void testCheckingOutLocalllyDeletedFiles() throws JavaGitException, IOException {

        List<File> filePaths = new ArrayList<File>();
        File tmpFile;
        try {
            filePaths.add(tmpFile = new File(repositoryPath + File.separator + "foobar01"));
            if (!tmpFile.exists()) {
                System.out.println("tmpFile does not exit: " + tmpFile.getPath());
            }
            if (tmpFile.delete()) { // locally delete the file
                // check out the file from the repository after deletion
                GitCheckoutResponse response = gitCheckout.checkout(repositoryDirectory, filePaths);
                File checkedOutFile = new File(repositoryPath + File.separator + "foobar01");
                assertTrue(checkedOutFile.exists());
                FileUtilities.modifyFileContents(file2, "Test for append to a file");
                GitCheckoutOptions options = new GitCheckoutOptions();
                Ref branch = Ref.createBranchRef("master");
                response = gitCheckout.checkout(repositoryDirectory, options, branch);
                assertEquals("Modified File exists", 1, response.getNumberOfModifiedFiles());
            } else {
                fail("File delete failed");
            }
        } catch (IOException e) {
            System.err.println(e.getMessage());
            e.printStackTrace();
        }

    }