question: 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 ) ; } } }
target:  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.