code: public String getClassificationId(ScopCategory category) {
  		if(classificationId == null || classificationId.isEmpty()) {
  			return null;
  		}
  
  		int numParts = 0;
  		switch(category) {
  		case Family:      numParts++;
  		case Superfamily: numParts++;
  		case Fold:        numParts++;
  		case Class:       numParts++; break;
  		default:
  			throw new IllegalArgumentException("Only Class, Fold, Superfamily, and Family are supported.");
  		}
  
  		int endChar = -1;
  		for(int i = 0;i<numParts-1;i++) {
  			endChar = classificationId.indexOf('.', endChar+1);
  			if(endChar<0) {
  				// Not enough items in the classification for this category
  				return null;
  			}
  		}
  		endChar = classificationId.indexOf('.', endChar+1);
  		if(endChar<0) {
  			// category goes to the end
  			return classificationId;
  		}
  		else {
  			return classificationId.substring(0, endChar);
  		}
  
  	}
docs: Return a portion of the classificationID corresponding to the specified
  category (class, fold, superfamily, family).
  
  <p>Example: for SCOP family "b.5.1.1",
  getClassificationId(ScopCategory.Superfamily) => "b.5.1"