code: public List<String> split(String content, String separatorCssSelector,
  			JoinSeparator separatorStrategy) {
  
  		Element body = parseContent(content);
  
  		List<Element> separators = body.select(separatorCssSelector);
  		if (separators.size() > 0) {
  			List<List<Element>> partitions = split(separators, separatorStrategy, body);
  
  			List<String> sectionHtml = new ArrayList<String>();
  
  			for (List<Element> partition : partitions) {
  				sectionHtml.add(outerHtml(partition));
  			}
  
  			return sectionHtml;
  		} else {
  			// nothing to split
  			return Collections.singletonList(content);
  		}
  	}
docs: Splits the given HTML content into partitions based on the given separator selector.The
  separators are either dropped or joined with before/after depending on the indicated
  separator strategy.
  <p>
  Note that splitting algorithm tries to resolve nested elements so that returned partitions
  are self-contained HTML elements. The nesting is normally contained within the first
  applicable partition.
  </p>
  
  @param content
  HTML content to split
  @param separatorCssSelector
  CSS selector for separators
  @param separatorStrategy
  strategy to drop or keep separators
  @return a list of HTML partitions split on separator locations. If no splitting occurs,
  returns the original content as the single element of the list
  @since 1.0