code: public static FilterStreamType unserialize(String str)
      {
          if (str == null) {
              return null;
          }
  
          String wikiType = str;
          String data = null;
          String version = null;
  
          // Version
  
          int versionIndex = str.lastIndexOf('/');
  
          if (versionIndex == 0) {
              throw new IllegalArgumentException("'/' is invalid as first character: " + str);
          }
  
          if (versionIndex != -1) {
              version = wikiType.substring(versionIndex + 1);
              wikiType = wikiType.substring(0, versionIndex);
          }
  
          // Data
  
          int dataIndex = str.indexOf('+');
  
          if (dataIndex == 0) {
              throw new IllegalArgumentException("'+' is invalid as first character: " + str);
          }
  
          if (dataIndex != -1) {
              data = wikiType.substring(dataIndex + 1);
              wikiType = wikiType.substring(0, dataIndex);
          }
  
          return new FilterStreamType(SystemType.unserialize(wikiType), data, version);
      }
docs: Create a new {@link FilterStreamType} from a {@link String}.
  
  @param str the {@link String} to parse
  @return a {@link FilterStreamType}