private boolean startOfSignedNumber(final String text, final int position,
			final int length, final char first) {
		if (first != '+' && first != '-') {
			return false;
		}

		if (position + 1 >= length) {
			return false;
		}

		final char d = text.charAt(position + 1);
		if (isDigit(d)) {
			return true;
		}

		if (d != '.') {
			return false;
		}

		if (position + 2 >= length) {
			return false;
		}

		final char e = text.charAt(position + 2);

		return isDigit(e);
	}