code: public List<String> split(String input) {
          if (input == null) {
              throw new NullPointerException(makeNullArgumentErrorMsg("input"));
          }
          if (nullStringStrategy.isNullString(input, new NullStringStrategyHelper(targetType))) {
              return Collections.emptyList();
          }
          return splitStrategy.split(input, new SplitStrategyHelper(targetType));
      }
docs: Splits the {@code input} string into a list of sub-strings by using the {@link SplitStrategy}
  implementation (as registered with {@link TypeParserBuilder#setSplitStrategy(SplitStrategy)}
  ).
  <p/>
  If {@code input} is the <code>NullString</code> (See {@link NullStringStrategy}), an empty
  list is returned, without calling the registered {@link SplitStrategy}.
  <p/>
  For example the default {@link SplitStrategy} will split this string "1, 2, 3, 4" into ["1",
  " 2", " 3", " 4"].
  <p/>
  
  @param input pre-processed input string to parse. Can be a {@code NullString}.
  @return List of strings, or an empty List if the given <code>input</code> is the
  <code>NullString</code> (See {@link NullStringStrategy})
  @throws NullPointerException if given {@code input} is null.
  @throws RuntimeException for any other faults that happens within the {@link SplitStrategy}.
  @see NullStringStrategy
  @see SplitStrategy
  @see InputPreprocessor