private static @Nullable String mergeWsWithCdataMarker(String whiteSpace, final String s, final int cdataPos) {
     final int firstCrInGeneratedWs = whiteSpace.indexOf('\n');
     final int secondCrInGeneratedWs = firstCrInGeneratedWs != -1 ? whiteSpace.indexOf('\n', firstCrInGeneratedWs + 1):-1;
     final int firstCrInPreviousWs = s.indexOf('\n');
     final int secondCrInPreviousWs = firstCrInPreviousWs != -1 ? s.indexOf('\n', firstCrInPreviousWs + 1):-1;

     boolean knowHowToModifyCData = false;

     if (secondCrInPreviousWs != -1 && secondCrInGeneratedWs != -1 && cdataPos > firstCrInPreviousWs && cdataPos < secondCrInPreviousWs ) {
       whiteSpace = whiteSpace.substring(0, secondCrInGeneratedWs) + s.substring(firstCrInPreviousWs + 1, secondCrInPreviousWs) + whiteSpace.substring(secondCrInGeneratedWs);
       knowHowToModifyCData = true;
     }
     if (!knowHowToModifyCData) whiteSpace = null;
     return whiteSpace;
   }
private static @Nullable String mergeWsWithCdataMarker(String whiteSpace, final String s, final int cdataPos)