code: public static Pair<Descriptor,Component> fromFilename(File directory, String name)
      {
          Pair<Descriptor,String> path = Descriptor.fromFilename(directory, name);
  
          // parse the component suffix
          Type type = Type.fromRepresentation(path.right);
          // build (or retrieve singleton for) the component object
          Component component;
          switch(type)
          {
              case DATA:              component = Component.DATA;                         break;
              case PRIMARY_INDEX:     component = Component.PRIMARY_INDEX;                break;
              case FILTER:            component = Component.FILTER;                       break;
              case COMPRESSION_INFO:  component = Component.COMPRESSION_INFO;             break;
              case STATS:             component = Component.STATS;                        break;
              case DIGEST:            component = Component.DIGEST;                       break;
              case CRC:               component = Component.CRC;                          break;
              case SUMMARY:           component = Component.SUMMARY;                      break;
              case TOC:               component = Component.TOC;                          break;
              case CUSTOM:            component = new Component(Type.CUSTOM, path.right); break;
              default:
                   throw new IllegalStateException();
          }
  
          return Pair.create(path.left, component);
      }
docs: Filename of the form "<ksname>/<cfname>-[tmp-][<version>-]<gen>-<component>",
  @return A Descriptor for the SSTable, and a Component for this particular file.
  TODO move descriptor into Component field