Result apply(VirtualFile fileToPatch,
               ApplyPatchContext context,
               Project project,
               FilePath pathBeforeRename,
               Supplier<? extends CharSequence> baseContents,
               @Nullable CommitContext commitContext) throws IOException;
Result apply(VirtualFile fileToPatch,
               ApplyPatchContext context,
               Project project,
               FilePath pathBeforeRename,
               Supplier<? extends CharSequence> baseContents,
               @Nullable CommitContext commitContext)