Bug 2444 - add missing API of some declared statements
[yangtools.git] / yang / yang-parser-spi / src / main / java / org / opendaylight / yangtools / yang / parser / spi / meta / AbstractDeclaredStatement.java
index 081ed56967a58f5a0af14e4dbc4ce0f52d392cab..db066080df2999a7e3d9ffb09187e703c8604c46 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.yangtools.yang.parser.spi.meta;
 
+import com.google.common.base.Optional;
 import com.google.common.base.Predicates;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableList;
@@ -44,7 +45,9 @@ public abstract class AbstractDeclaredStatement<A> implements DeclaredStatement<
     }
 
     protected final <S extends DeclaredStatement<?>> S firstDeclared(final Class<S> type) {
-        return type.cast(Iterables.find(substatements, Predicates.instanceOf(type)));
+        final Optional<? extends DeclaredStatement<?>> declaredSubstmt = Iterables.tryFind(substatements,
+                Predicates.instanceOf(type));
+        return declaredSubstmt.isPresent() ? type.cast(declaredSubstmt.get()) : null;
     }
 
     @Override