boolean found = false;
do {
mMatcher.region(mPos, mMatcher.regionEnd());
if (!mMatcher.lookingAt()) {
if (alwaysReturn) {
return null;
}
throw new ParseException("Property or empty line expected", pos());
}
mPos = mMatcher.end();
if (mMatcher.group(1) != null) {
found = true;
}
} while (!found);
return new Property(mMatcher.group(2), mMatcher.group(3));