protected long findLatestFileNameGeneration(Map<String,BlobMetaData> blobs){
  long generation=-1;
  for (  String name : blobs.keySet()) {
    if (!name.startsWith(DATA_BLOB_PREFIX)) {
      continue;
    }
    name=FileInfo.canonicalName(name);
    try {
      long currentGen=Long.parseLong(name.substring(DATA_BLOB_PREFIX.length()),Character.MAX_RADIX);
      if (currentGen > generation) {
        generation=currentGen;
      }
    }
 catch (    NumberFormatException e) {
      logger.warn("file [{}] does not conform to the '{}' schema",name,DATA_BLOB_PREFIX);
    }
  }
  return generation;
}

protected long findLatestFileNameGeneration ( Map < String , BlobMetaData > blobs ) { long generation = - 1 ; for ( String name : blobs . keySet ( ) ) { if ( ! name . startsWith ( DATA_BLOB_PREFIX ) ) { continue ; } name = FileInfo . canonicalName ( name ) ; try { long currentGen = Long . parseLong ( name . substring ( DATA_BLOB_PREFIX . length ( ) ) , Character . MAX_RADIX ) ; if ( currentGen > generation ) { generation = currentGen ; } } catch ( NumberFormatException e ) { logger . warn ( "file [{}] does not conform to the '{}' schema" , name , DATA_BLOB_PREFIX ) ; } } return generation ; }
finds the next available blob number
