class InstanceSelector {

    <R,E extends Exception> EnumMap<IndexSlot,R> map( ThrowingFunction<T,R,E> converter ) throws E
    {
        EnumMap<IndexSlot,R> result = new EnumMap<>( IndexSlot.class );
        for ( IndexSlot slot : IndexSlot.values() )
        {
            result.put( slot, converter.apply( select( slot ) ) );
        }
        return result;
    }

      InstanceSelector();
      InstanceSelector( EnumMap<IndexSlot,T> map );

}