private <E, F> List<UnifiedDiffElement<E, F>> getUnmodifiedElements(List<E> previous, int start, int end)
    {
        List<UnifiedDiffElement<E, F>> unmodifiedElements = new ArrayList<UnifiedDiffElement<E, F>>();
        for (int i = start; i < end; i++) {
            unmodifiedElements.add(new UnifiedDiffElement<E, F>(i, Type.CONTEXT, previous.get(i)));
        }
        return unmodifiedElements;
    }
private < E , F > List < UnifiedDiffElement < E , F > > getUnmodifiedElements ( List < E > previous , int start , int end ) { List < UnifiedDiffElement < E , F > > unmodifiedElements = new ArrayList < UnifiedDiffElement < E , F > > ( ) ; for ( int i = start ; i < end ; i ++ ) { unmodifiedElements . add ( new UnifiedDiffElement < E , F > ( i , Type . CONTEXT , previous . get ( i ) ) ) ; } return unmodifiedElements ; }
@param previous the previous version
@param start the index of the first unmodified element to return
@param end the index to stop at
@param <E> the type of composite elements that are compared to produce the first level diff
@param <F> the type of sub-elements that are compared to produce the second-level diff when a composite element
is modified
@return the list of unmodified elements between the given start and end index