Range r = findLastNumber(_default); if (r == null) { return new NewRevision(revision, _default, null, null);
if (revPrefix.length() > 0) { return new NewRevision(revision, revPrefix+(revPrefix.endsWith(".")?"0":".0"), null, "0");
	private NewRevision computeNewRevision(String revision) {		if (revision == null) {			Range r = findLastNumber(_default);			if (r == null) { // no number found				return new NewRevision(revision, _default, null, null);			} else {				long n = Long.parseLong(_default.substring(r.startIndex, r.endIndex));				return new NewRevision(revision, _default, null, String.valueOf(n));			}		}		String revPrefix = "latest.integration".equals(_revision)?"":_revision.substring(0, _revision.length() - 1);		if (!revision.startsWith(revPrefix)) {			throw new BuildException("invalid exception found in repository: '"+revision+"' for '"+revPrefix+"'");		}		Range r;		if (revPrefix.length() == 0)  {			r = findLastNumber(revision);			if (r == null) {				 return new NewRevision(revision, revision+(revision.endsWith(".")?"1":".1"), null, "1");			}		} else {			r = findFirstNumber(revision, revPrefix.length());			if (r == null) {				 return new NewRevision(revision, revPrefix+(revPrefix.endsWith(".")?"1":".1"), null, "1");			}		}		long n = Long.parseLong(revision.substring(r.startIndex, r.endIndex)) + 1;		return new NewRevision(				revision, 				revision.substring(0, r.startIndex)+n, 				String.valueOf(n-1), 				String.valueOf(n));	}