public List<String> split(String s)
	{
		String[] parts = pattern.split(removePrefixAndSuffix(s), limit);
		List<String> results = new ArrayList<String>(parts.length);
		for (String part : parts) {
			String str = trim ? part.trim() : part;
			if (!str.isEmpty()) {
				results.add(str);
			} else if (!ignoreEmptyStrings) {
				results.add(forEmpty);
			}
		}
		return Collections.unmodifiableList(results);
	}
public List<String> split(String s)
	{
		String[] parts = pattern.split(removePrefixAndSuffix(s), limit);
		List<String> results = new ArrayList<String>(parts.length);
		for (String part : parts) {
			String str = trim ? part.trim() : part;
			if (!str.isEmpty()) {
				results.add(str);
			} else if (!ignoreEmptyStrings) {
				results.add(forEmpty);
			}
		}
		return Collections.unmodifiableList(results);
	}
public List < String > split ( String s ) { String [ ] parts = pattern . split ( removePrefixAndSuffix ( s ) , limit ) ; List < String > results = new ArrayList < String > ( parts . length ) ; for ( String part : parts ) { String str = trim ? part . trim ( ) : part ; if ( ! str . isEmpty ( ) ) { results . add ( str ) ; } else if ( ! ignoreEmptyStrings ) { results . add ( forEmpty ) ; } } return Collections . unmodifiableList ( results ) ; }
Splits the given {@code String} into parts according to its
configuration.

@param s the {@code String} to split.

@return the parts, as an unmodifiable {@code List}.

@throws NullPointerException if {@code s} is {@code null}.
Splits the given { @code String } into parts according to its configuration .