// by properties
if(!isVerb()) {
throw new ParserException("Expecting verb, current line is " + line);
}
CrankstartCommandLine result = null;
try {
// Parse verb and qualifier from first line
final String [] firstLine= takeLine().split(" ");
final String verb = firstLine[0];
final StringBuilder qualifier = new StringBuilder();
for(int i=1; i < firstLine.length; i++) {
if(qualifier.length() > 0) {
qualifier.append(' ');
}
qualifier.append(firstLine[i]);
}
// Parse properties from optional indented lines
// that follow verb line
Dictionary<String, Object> props = null;
while(line != null && !isVerb()) {
if(props == null) {
props = new Hashtable<String, Object>();
}
addProperty(props, takeLine());
}
result = new CrankstartCommandLine(verb, qualifier.toString(), props);
} catch(IOException ioe) {
line = null;
throw new ParserException("IOException in takeLine()", ioe);
}
return result;