public Document parse(String documentString) {
int begin = documentString.lastIndexOf('[') + 1;
int last = documentString.lastIndexOf(']');
if (begin < 0 || last < 0 || begin > last) return null;
Document retValue = null;
String number = documentString.substring(begin, last);
try {
retValue = read(Long.parseLong(number));
} catch (NumberFormatException ex) {
//incorrect number, could not happen