@@ -0,0 +1,1473 @@
+package ceylon.language;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0Aimport com.redhat.ceylon.compiler.metadata.java.Ceylon;%0Aimport com.redhat.ceylon.compiler.metadata.java.Method;%0Aimport com.redhat.ceylon.compiler.metadata.java.Name;%0Aimport com.redhat.ceylon.compiler.metadata.java.Sequenced;%0Aimport com.redhat.ceylon.compiler.metadata.java.TypeInfo;%0Aimport com.redhat.ceylon.compiler.metadata.java.TypeParameter;%0Aimport com.redhat.ceylon.compiler.metadata.java.TypeParameters;%0A%0A@Ceylon%0A@Method%0Apublic final class join %7B%0A    %0A    private join() %7B%7D%0A    %0A    @TypeParameters(@TypeParameter(value=%22Element%22))%0A    @TypeInfo(%22ceylon.language.Empty%7Cceylon.language.Sequence%3CElement%3E%22)%0A    public static %3CElement%3E Iterable%3C? extends Element%3E join(%0A    @Name(%22sequences%22)%0A    @Sequenced%0A    @TypeInfo(%22ceylon.language.Empty%7Cceylon.language.Sequence%3Cceylon.language.Empty%7Cceylon.language.Sequence%3CElement%3E%3E%22)%0A    final ceylon.language.Iterable%3C? extends ceylon.language.Iterable%3C? extends Element%3E%3E sequences) %7B%0A%09%09List%3CElement%3E list = new ArrayList%3CElement%3E();%0A%09%09for (Iterator%3C? extends Iterable%3C? extends Element%3E%3E iter=sequences.getIterator(); %0A%09%09%09%09iter!=null; iter=iter.getTail()) %7B%0A%09%09%09Iterable%3C? extends Element%3E elem = iter.getHead();%0A%09%09%09for (Iterator%3C? extends Element%3E iter2=elem.getIterator(); %0A%09%09%09%09%09iter2!=null; iter2=iter2.getTail()) %7B%0A%09%09%09%09if (elem!=null) list.add(iter2.getHead());%0A%09%09%09%7D%0A%09%09%7D%0A        return new ArraySequence%3CElement%3E(list.toArray(), 0);%0A    %7D%0A%7D%0A

add join() method