- public Optional<Entry<InstanceIdentifier<? extends DataObject>, DataObject>> toBinding(
- final @Nonnull Entry<YangInstanceIdentifier, ? extends NormalizedNode<?, ?>> normalized)
- throws DeserializationException {
- try {
- /*
- * This cast is required, due to generics behaviour in openjdk / oracle javac
- *
- * InstanceIdentifier has definition InstanceIdentifier<T extends DataObject>,
- * this means '?' is always <? extends DataObject>. Eclipse compiler
- * is able to determine this relationship and treats
- * Entry<InstanceIdentifier<?>,DataObject> and Entry<InstanceIdentifier<? extends DataObject,DataObject>
- * as assignable. However openjdk / oracle javac treats this two types
- * as incompatible and issues a compile error.
- *
- * It is safe to loose generic information and cast it to other generic signature.
- *
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- final Entry<InstanceIdentifier<? extends DataObject>, DataObject> binding = (Entry) codecRegistry.fromNormalizedNode(normalized.getKey(), normalized.getValue());
- return Optional.fromNullable(binding);
- } catch (IllegalArgumentException e) {
- return Optional.absent();
- }
+ @Override
+ public YangInstanceIdentifier toYangInstanceIdentifierBlocking(
+ final InstanceIdentifier<? extends DataObject> binding) {
+ return super.toYangInstanceIdentifierBlocking(binding);