private T compareSplit(String resource,String target,String breakPoint){
  if (!resource.contains(breakPoint)) {
    return super.compare(resource,target,true);
  }
  T firstMatch=compareBeforeBreakpoint(resource,target,breakPoint);
  if (noMatch.equals(firstMatch) || subResourceMatch.equals(firstMatch)) {
    return firstMatch;
  }
  T secondMatch=compareAfterBreakpoint(resource,target,breakPoint);
  return wildcardResponseCombiner(firstMatch,secondMatch);
}

private T compareSplit ( String resource , String target , String breakPoint ) { if ( ! resource . contains ( breakPoint ) ) { return super . compare ( resource , target , true ) ; } T firstMatch = compareBeforeBreakpoint ( resource , target , breakPoint ) ; if ( noMatch . equals ( firstMatch ) || subResourceMatch . equals ( firstMatch ) ) { return firstMatch ; } T secondMatch = compareAfterBreakpoint ( resource , target , breakPoint ) ; return wildcardResponseCombiner ( firstMatch , secondMatch ) ; }
initial recursive component . calls down to comparebeforebreakpoint and compareafterbreakpoint , which subsequently call back up to comparesplit .
