private void splitHostNameAndMeta(){
  String[] hostnamemetaFlags=hostnameAndMeta.split(":",2);
  if (hostnamemetaFlags.length >= 1) {
    this.hostnameAndMeta=hostnamemetaFlags[0];
    int firstEnd=hostnameAndMeta.indexOf(',');
    if (firstEnd > 0) {
      hostname=hostnameAndMeta.substring(0,firstEnd);
      String attrStr=hostnameAndMeta.substring(firstEnd);
      String[] fields=attrStr.split(",");
      for (      String field : fields) {
        if (field.startsWith("S=")) {
          sizeString="," + field;
        }
      }
    }
 else {
      sizeString=null;
      hostname=this.hostnameAndMeta;
    }
  }
  if (hostnamemetaFlags.length >= 2) {
    this.flagsString=":" + hostnamemetaFlags[1];
  }
  if (isMessageNameStrictParse()) {
    if (sizeString == null) {
      throw new IllegalArgumentException("No message size found in message name: " + fullName);
    }
    if (flagsString == null) {
      throw new IllegalArgumentException("No flags found in message name: " + fullName);
    }
  }
}

private void splitHostNameAndMeta ( ) { String [ ] hostnamemetaFlags = hostnameAndMeta . split ( ":" , 2 ) ; if ( hostnamemetaFlags . length >= 1 ) { this . hostnameAndMeta = hostnamemetaFlags [ 0 ] ; int firstEnd = hostnameAndMeta . indexOf ( ',' ) ; if ( firstEnd > 0 ) { hostname = hostnameAndMeta . substring ( 0 , firstEnd ) ; String attrStr = hostnameAndMeta . substring ( firstEnd ) ; String [ ] fields = attrStr . split ( "," ) ; for ( String field : fields ) { if ( field . startsWith ( "S=" ) ) { sizeString = "," + field ; } } } else { sizeString = null ; hostname = this . hostnameAndMeta ; } } if ( hostnamemetaFlags . length >= 2 ) { this . flagsString = ":" + hostnamemetaFlags [ 1 ] ; } if ( isMessageNameStrictParse ( ) ) { if ( sizeString == null ) { throw new IllegalArgumentException ( "No message size found in message name: " + fullName ) ; } if ( flagsString == null ) { throw new IllegalArgumentException ( "No flags found in message name: " + fullName ) ; } } }
splits up the third part of the file name ( e . g . tim - erwin . de , s = 1000 : 2 , rs ) into its components hostname , size and flags and fills the respective variables .
