protected SortedMultiset<E> standardSubMultiset(
      E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) {
    """
	A sensible definition of {@link #subMultiset(Object, BoundType, Object, BoundType)} in terms of
	{@link #headMultiset(Object, BoundType) headMultiset} and {@link #tailMultiset(Object,
	BoundType) tailMultiset}.
	
	<p>If you override either of these methods, you may wish to override {@link
	#subMultiset(Object, BoundType, Object, BoundType)} to forward to this implementation.
    """
    return tailMultiset(lowerBound, lowerBoundType).headMultiset(upperBound, upperBoundType);
  }
protected SortedMultiset<E> standardSubMultiset(
      E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) {
    return tailMultiset(lowerBound, lowerBoundType).headMultiset(upperBound, upperBoundType);
  }
protected SortedMultiset < E > standardSubMultiset ( E lowerBound , BoundType lowerBoundType , E upperBound , BoundType upperBoundType ) { return tailMultiset ( lowerBound , lowerBoundType ) . headMultiset ( upperBound , upperBoundType ) ; }
A sensible definition of {@link #subMultiset(Object, BoundType, Object, BoundType)} in terms of
{@link #headMultiset(Object, BoundType) headMultiset} and {@link #tailMultiset(Object,
BoundType) tailMultiset}.

<p>If you override either of these methods, you may wish to override {@link
#subMultiset(Object, BoundType, Object, BoundType)} to forward to this implementation.
A sensible definition of { @link #subMultiset ( Object BoundType Object BoundType ) } in terms of { @link #headMultiset ( Object BoundType ) headMultiset } and { @link #tailMultiset ( Object BoundType ) tailMultiset } .