if (i < segCount) return null;
	public StringMatcher.Position find(String text, int start, int end) {		if (text == null)			throw new IllegalArgumentException();					int tlen = text.length();		if (start < 0)			start = 0;		if (end > tlen)			end = tlen;		if (end < 0 ||start >= end )			return null;		if (fLength == 0)			return new Position(start, start);		if (fIgnoreWildCards) {			int x = posIn(text, start, end);			if (x < 0)				return null;			return new Position(x, x+fLength);		}		int segCount = fSegments.length;		if (segCount == 0)//pattern contains only '*'(s)			return new Position (start, end);							int curPos = start;		int matchStart = -1;  		for (int i = 0; i < segCount && curPos < end; ++i) {			String current = fSegments[i];			int nextMatch = regExpPosIn(text, curPos, end, current);			if (nextMatch < 0 )				return null;			if(i == 0)				matchStart = nextMatch;			curPos = nextMatch + current.length();		}		return new Position(matchStart, curPos);	}