private static void extractFileName(
     final String curLine, final FilePatch patch, final boolean before, final boolean gitPatch) {
   String fileName = curLine.substring(4);
   int pos = fileName.indexOf('\t');
   if (pos < 0) {
     pos = fileName.indexOf(' ');
   }
   if (pos >= 0) {
     String versionId = fileName.substring(pos).trim();
     fileName = fileName.substring(0, pos);
     if (versionId.length() > 0 && !EMPTY_REVISION_INFO_PATTERN.matcher(versionId).matches()) {
       if (before) {
         patch.setBeforeVersionId(versionId);
       } else {
         patch.setAfterVersionId(versionId);
       }
     }
   }
   if ("/dev/null".equals(fileName)) return;
   if (before) {
     if (gitPatch && fileName.startsWith("a/")) {
       fileName = fileName.substring(2);
     }
     patch.setBeforeName(fileName);
   } else {
     if (gitPatch && fileName.startsWith("b/")) {
       fileName = fileName.substring(2);
     }
     patch.setAfterName(fileName);
   }
 }