public static <T> AList<T> create(Iterable<T> elements) {
        if (elements instanceof AList) {
            return (AList<T>) elements;
        }
        if(elements instanceof List) {
            return create((List<T>) elements);
        }
        AList<T> result = nil();

        for(T el: elements) {
            result = result.cons(el);
        }
        return result.reverse();
    }
public static <T> AList<T> create(Iterable<T> elements) {
        if (elements instanceof AList) {
            return (AList<T>) elements;
        }
        if(elements instanceof List) {
            return create((List<T>) elements);
        }
        AList<T> result = nil();

        for(T el: elements) {
            result = result.cons(el);
        }
        return result.reverse();
    }
public static < T > AList < T > create ( Iterable < T > elements ) { if ( elements instanceof AList ) { return ( AList < T > ) elements ; } if ( elements instanceof List ) { return create ( ( List < T > ) elements ) ; } AList < T > result = nil ( ) ; for ( T el : elements ) { result = result . cons ( el ) ; } return result . reverse ( ) ; }
Creates an AList based on the contents of an existing <code>java.util.Iterable</code>, copying its contents.
Creates an AList based on the contents of an existing <code > java . util . Iterable< / code > copying its contents .