code: public static Pair<Descriptor, String> fromFilename(Path directory, String name) {
          // tokenize the filename
          StringTokenizer st = new StringTokenizer(name, String.valueOf(separator));
          String nexttok;
  
          // all filenames must start with keyspace and column family
          String ksname = st.nextToken();
          String cfname = st.nextToken();
  
          // optional temporary marker
          nexttok = st.nextToken();
          boolean temporary = false;
          if (nexttok.equals(SSTable.TEMPFILE_MARKER)) {
              temporary = true;
              nexttok = st.nextToken();
          }
  
          // optional version string
          Version version = Version.LEGACY;
          if (Version.validate(nexttok)) {
              version = new Version(nexttok);
              nexttok = st.nextToken();
          }
          int generation = Integer.parseInt(nexttok);
  
          // component suffix
          String component = st.nextToken();
          directory = directory != null ? directory : new Path(".");
          return Pair.create(new Descriptor(version, directory, ksname, cfname, generation, temporary), component);
      }
docs: Filename of the form "<ksname>-<cfname>-[tmp-][<version>-]<gen>-<component>"
  
  @param directory The directory of the SSTable files
  @param name      The name of the SSTable file
  @return A Descriptor for the SSTable, and the Component remainder.