@Nullable
  public static AppliedPatch apply(@NotNull CharSequence text, @NotNull List<? extends PatchHunk> hunks) {
    String patchedText = PlainSimplePatchApplier.apply(text, hunks);
    if (patchedText != null) {
      return new AppliedPatch(patchedText, SUCCESS);
    }

    GenericPatchApplier applier = new GenericPatchApplier(text, hunks);
    boolean success = applier.execute();

    if (!success) return null;

    return new AppliedPatch(applier.getAfter(), applier.getStatus());
  }
@Nullable
  public static AppliedPatch apply(@NotNull CharSequence text, @NotNull List<? extends PatchHunk> hunks)