Shorten StatementMap$Regular.get(int)
[yangtools.git] / yang / yang-parser-reactor / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / StatementMap.java
index 6d3a5d746ee6217b188b9bd46741241a357dc643..7646282e077b7ff523a4875146ed7d557ab6287a 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.parser.stmt.reactor;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.AbstractIterator;
 import com.google.common.collect.ImmutableList;
 import java.util.AbstractCollection;
@@ -87,11 +86,7 @@ abstract class StatementMap {
 
         @Override
         StatementContextBase<?, ?, ?> get(final int index) {
-            if (index >= elements.length) {
-                return null;
-            }
-
-            return elements[index];
+            return index >= elements.length ? null : elements[index];
         }
 
         @Override
@@ -110,7 +105,7 @@ abstract class StatementMap {
 
         @Override
         Collection<StatementContextBase<?, ?, ?>> values() {
-            return new RegularAsCollection<>(elements);
+            return new RegularAsCollection<>(elements, size);
         }
 
         @Override
@@ -134,10 +129,11 @@ abstract class StatementMap {
 
     private static final class RegularAsCollection<T> extends AbstractCollection<T> {
         private final T[] elements;
-        private int size;
+        private final int size;
 
-        RegularAsCollection(final T[] elements) {
-            this.elements = Preconditions.checkNotNull(elements);
+        RegularAsCollection(final T[] elements, final int size) {
+            this.elements = requireNonNull(elements);
+            this.size = size;
         }
 
         @Override
@@ -149,11 +145,6 @@ abstract class StatementMap {
             }
         }
 
-        @Override
-        public boolean isEmpty() {
-            return size != 0;
-        }
-
         @Override
         public Iterator<T> iterator() {
             return new AbstractIterator<T>() {