/**
* TODO: fix bug to handle overwriting boolean field with arity = 0, e.g. "-parse -parse"
* */
private fun doParse() {
registeredObjects.add(this)
jc = JCommander.newBuilder()
.acceptUnknownOptions(acceptUnknownOptions)
.allowParameterOverwriting(allowParameterOverwriting)
.expandAtSign(expandAtSign).build()
registeredObjects.forEach { jc.addObject(it) }
if (argv.isNotEmpty()) {
jc.parse(*argv)
}
}