int indexOf(String firstPart, @Nullable String secondPart, int offset) { if (secondPart == null) { secondPart = ""; } int totalLength = firstPart.length() + secondPart.length(); if (wildcardAtEnd && wildcardAtBeginning) { return indexOfIgnoreCase(firstPart, secondPart, matcher, ignoreCase, offset, totalLength); } else if (wildcardAtEnd) { return indexOfIgnoreCase(firstPart, secondPart, matcher, ignoreCase, 0, 1); } else if (wildcardAtBeginning) { return indexOfIgnoreCase(firstPart, secondPart, matcher, ignoreCase, totalLength - matcher.length(), totalLength); } else if (totalLength == matcher.length()) { return indexOfIgnoreCase(firstPart, secondPart, matcher, ignoreCase, 0, totalLength); } else { return -1; } }