private Iterable<YamlNode> cast(Iterable<Object> nodes) {
        return () -> new UnmodifiableIterator<YamlNode>() {
            private final Iterator<Object> iter = nodes.iterator();

            @Override
            public boolean hasNext() {
                return iter.hasNext();
            }

            @Override
            public YamlNode next() {
                return (YamlNode) iter.next();
            }
        };
    }
private Iterable < YamlNode > cast ( Iterable < Object > nodes ) { return ( ) -> new UnmodifiableIterator < YamlNode > ( ) { private final Iterator < Object > iter = nodes . iterator ( ) ; @ Override public boolean hasNext ( ) { return iter . hasNext ( ) ; } @ Override public YamlNode next ( ) { return ( YamlNode ) iter . next ( ) ; } } ; }
Transforms a {@code Iterable<Object>} into a {@code Iterable<YamlNode>}.

@param nodes the {@link YamlNode}s as {@code Object}s

@return the {@link YamlNode}s