@Nullable
  static Grib1Collection readFromIndex(String name, RandomAccessFile raf,
      FeatureCollectionConfig config, org.slf4j.Logger logger) {
    """
	read in the index, index raf already open; return null on failure
    """

    Grib1CollectionBuilderFromIndex builder = new Grib1CollectionBuilderFromIndex(name, config, logger);
    if (!builder.readIndex(raf))
      return null;

    if (builder.gc.getFiles().size() == 0) {
      logger.warn("Grib1CollectionBuilderFromIndex {}: has no files, force recreate ", builder.gc.getName());
      return null;
    }

    return new Grib1Collection(builder.gc);
  }
@Nullable
  static Grib1Collection readFromIndex(String name, RandomAccessFile raf,
      FeatureCollectionConfig config, org.slf4j.Logger logger) {

    Grib1CollectionBuilderFromIndex builder = new Grib1CollectionBuilderFromIndex(name, config, logger);
    if (!builder.readIndex(raf))
      return null;

    if (builder.gc.getFiles().size() == 0) {
      logger.warn("Grib1CollectionBuilderFromIndex {}: has no files, force recreate ", builder.gc.getName());
      return null;
    }

    return new Grib1Collection(builder.gc);
  }
@ Nullable static Grib1Collection readFromIndex ( String name , RandomAccessFile raf , FeatureCollectionConfig config , org . slf4j . Logger logger ) { Grib1CollectionBuilderFromIndex builder = new Grib1CollectionBuilderFromIndex ( name , config , logger ) ; if ( ! builder . readIndex ( raf ) ) return null ; if ( builder . gc . getFiles ( ) . size ( ) == 0 ) { logger . warn ( "Grib1CollectionBuilderFromIndex {}: has no files, force recreate " , builder . gc . getName ( ) ) ; return null ; } return new Grib1Collection ( builder . gc ) ; }
read in the index, index raf already open; return null on failure
read in the index index raf already open ; return null on failure