public int find(final String uri, final String name, final int start) throws NullPointerException {
		if (start < 0) return -1;
		final boolean useUri = uri.length() != 0, useName = name.length() != 0;
		for (int i = start, length = this.length(); i < length; i++) {
			final BEXNode node = this.get(i);
			if (useUri && !node.uri().equals(uri)) {
				continue;
			}
			if (useName && !node.name().equals(name)) {
				continue;
			}
			return i;
		}
		return -1;
	}