3232import java .util .ArrayList ;
3333import java .util .Arrays ;
3434import java .util .List ;
35+ import java .util .Objects ;
3536
3637/**
3738 * A clean-room implementation of <a href="http://www.cs.arizona.edu/people/gene/">
@@ -97,12 +98,9 @@ public Patch<T> diff(final T[] original, final T[] revised) throws DiffException
9798 */
9899 @ Override
99100 public Patch <T > diff (final List <T > original , final List <T > revised ) throws DiffException {
100- if (original == null ) {
101- throw new IllegalArgumentException ("original list must not be null" );
102- }
103- if (revised == null ) {
104- throw new IllegalArgumentException ("revised list must not be null" );
105- }
101+ Objects .requireNonNull (original , "original list must not be null" );
102+ Objects .requireNonNull (revised , "revised list must not be null" );
103+
106104 PathNode path = buildPath (original , revised );
107105 return buildRevision (path , original , revised );
108106 }
@@ -118,12 +116,8 @@ public Patch<T> diff(final List<T> original, final List<T> revised) throws DiffE
118116 */
119117 private PathNode buildPath (final List <T > orig , final List <T > rev )
120118 throws DifferentiationFailedException {
121- if (orig == null ) {
122- throw new IllegalArgumentException ("original sequence is null" );
123- }
124- if (rev == null ) {
125- throw new IllegalArgumentException ("revised sequence is null" );
126- }
119+ Objects .requireNonNull (orig , "original sequence is null" );
120+ Objects .requireNonNull (rev , "revised sequence is null" );
127121
128122 // these are local constants
129123 final int N = orig .size ();
@@ -192,15 +186,9 @@ private PathNode buildPath(final List<T> orig, final List<T> rev)
192186 * path.
193187 */
194188 private Patch <T > buildRevision (PathNode path , List <T > orig , List <T > rev ) {
195- if (path == null ) {
196- throw new IllegalArgumentException ("path is null" );
197- }
198- if (orig == null ) {
199- throw new IllegalArgumentException ("original sequence is null" );
200- }
201- if (rev == null ) {
202- throw new IllegalArgumentException ("revised sequence is null" );
203- }
189+ Objects .requireNonNull (path , "path is null" );
190+ Objects .requireNonNull (orig , "original sequence is null" );
191+ Objects .requireNonNull (rev , "revised sequence is null" );
204192
205193 Patch <T > patch = new Patch <>();
206194 if (path .isSnake ()) {
0 commit comments