}
}
LdifModSpecTypeLine modSpecTypeLine = new LdifModSpecTypeLine( modSpecTypeSpecToken.getOffset(),
getValueOrNull( modSpecTypeSpecToken ), getValueOrNull( modSpecTypeValueTypeToken ),
getValueOrNull( modSpecTypeAttributeDescriptionToken ), getValueOrNull( sepToken ) );
LdifModSpec modSpec = new LdifModSpec( modSpecTypeLine );
record.addModSpec( modSpec );
// clean line
if ( sepToken == null )
{
this.cleanupLine( modSpec );
}
// comment
checkAndParseComment( record );
// read attr-val lines
do
{
LdifAttrValLine line = this.getAttrValLine();
if ( line != null )
{
modSpec.addAttrVal( line );
// clean line
if ( "".equals( line.getRawNewLine() ) )
{
this.cleanupLine( record );
}
}
else
{
if ( !checkAndParseComment( record ) )
{
break;
}
}
}
while ( true );
// comments
checkAndParseComment( record );
// read sep line
LdifToken modSpecSepToken = this.scanner.matchModSep();
if ( modSpecSepToken != null )
{
LdifToken modSpecSepSepToken = this.scanner.matchSep();
LdifModSpecSepLine modSpecSepLine = new LdifModSpecSepLine( modSpecSepToken.getOffset(),
getValueOrNull( modSpecSepToken ), getValueOrNull( modSpecSepSepToken ) );
modSpec.finish( modSpecSepLine );
}
}
if ( modSpecTypeSpecToken == null )
{