code: static Positions newDisjointPositions(Matches matches, int position) {
  		if (matches == null) throw new IllegalArgumentException("null matches");
  		if (position < 0L) throw new IllegalArgumentException();
  		//TODO consider restoring dedicated size accessor on matches
  		if (position > matches.store().size()) throw new IllegalArgumentException();
  		int p = matches.first();
  		int s = matches.sequence().size();
  		while (p < position) {
  			p = matches.next(p + s);
  		}
  		return new BitStorePositions(matches, true, p);
  	}
docs: available via default BitStore method