docs: public LineIdentifier assess(String line) {
  		log.trace("Assessing --> [" + line + "]");
  		
  		if (record) {
  			if (!StringUtils.hasLength(line)) {
  				record = false;
  				skip = false;
  				return LineIdentifier.EndOfRecord;
  				
  			} else if (skip) {
  				return LineIdentifier.Void;
  			
  			} else {
  				if (line.startsWith(CONTROL)) {
  					skip = true;
  					return LineIdentifier.Control;
  					
  				} else if (line.startsWith(CHANGE_TYPE)) {
  					skip = true;
  					return LineIdentifier.ChangeType;
  					
  				} else if (line.startsWith(COMMENT)) {
  					return LineIdentifier.Comment;
  					
  				} else if (line.startsWith(CONTINUATION)) {
  					return LineIdentifier.Continuation;
  					
  				} else {
  					return LineIdentifier.Attribute;
  				
  				}
  			}
  		} else {
  			if (StringUtils.hasLength(line) && line.matches(VERSION_IDENTIFIER) && !skip) {
  				//Version Identifiers are ignored by parser.
  				return LineIdentifier.VersionIdentifier;		
  				
  			} else if (StringUtils.hasLength(line) && line.matches(NEW_RECORD)) {
  				record = true;
  				skip = false;
  				return LineIdentifier.NewRecord;
  				
  			} else {
  				return LineIdentifier.Void;
  			}
  		}
  	}