@NotNull
  private MergeCheckResult processMergeinfoProperty(final String pathWithRevisionNumber,
                                                    final long revisionAsked,
                                                    @NotNull PropertyValue value,
                                                    final String trunkRelativeUrl,
                                                    final boolean self) throws SvnBindException {
    MergeCheckResult result;
    Map<String, MergeRangeList> mergedPathsMap = MergeRangeList.parseMergeInfo(value.toString());
    String mergedPathAffectingTrunkUrl = ContainerUtil.find(mergedPathsMap.keySet(), path -> trunkRelativeUrl.startsWith(path));

    if (mergedPathAffectingTrunkUrl != null) {
      MergeRangeList mergeRangeList = mergedPathsMap.get(mergedPathAffectingTrunkUrl);

      fillMergedRevisions(pathWithRevisionNumber, mergeRangeList);

      boolean isAskedRevisionMerged =
        ContainerUtil.or(mergeRangeList.getRanges(), range -> range.contains(revisionAsked) && (range.isInheritable() || self));

      result = MergeCheckResult.getInstance(isAskedRevisionMerged);
    }
    else {
      myPathMergedMap.put(pathWithRevisionNumber, Collections.emptySet());
      result = MergeCheckResult.NOT_MERGED;
    }

    return result;
  }
@NotNull
  private MergeCheckResult processMergeinfoProperty(final String pathWithRevisionNumber,
                                                    final long revisionAsked,
                                                    @NotNull PropertyValue value,
                                                    final String trunkRelativeUrl,
                                                    final boolean self)