class IterableCoder extends IterableLikeCoder<T, Iterable<T>> {

  @Override
  public TypeDescriptor<Iterable<T>> getEncodedTypeDescriptor() {
    return new TypeDescriptor<Iterable<T>>() {}.where(
        new TypeParameter<T>() {}, getElemCoder().getEncodedTypeDescriptor());
  }

  protected  IterableCoder(Coder<T> elemCoder);

}