public static <O>IndexedCollection<O> newAutoIndexedCollection(Iterable<Attribute<O,Comparable>> attributes){
  IndexedCollection<O> autoIndexedCollection=new ConcurrentIndexedCollection<O>();
  for (  Attribute<O,? extends Comparable> attribute : attributes) {
    @SuppressWarnings("unchecked") NavigableIndex<? extends Comparable,O> index=NavigableIndex.onAttribute(attribute);
    autoIndexedCollection.addIndex(index);
  }
  return autoIndexedCollection;
}

public static < O > IndexedCollection < O > newAutoIndexedCollection ( Iterable < Attribute < O , Comparable > > attributes ) { IndexedCollection < O > autoIndexedCollection = new ConcurrentIndexedCollection < O > ( ) ; for ( Attribute < O , ? extends Comparable > attribute : attributes ) { @ SuppressWarnings ( "unchecked" ) NavigableIndex < ? extends Comparable , O > index = NavigableIndex . onAttribute ( attribute ) ; autoIndexedCollection . addIndex ( index ) ; } return autoIndexedCollection ; }
creates an indexedcollection and adds navigableindexes for the given attributes .
