code: public static String[] split(
      Functor<Integer, Integer> symbols, String text, int begin, int end, char delimiter, Functor<Integer, Integer> extra
      ) {
          List<String> list = new ArrayList<>();
          return split(list, symbols, text, begin, end, delimiter, extra).toArray(new String[list.size()]);
      }
docs: Splits a string around the specified character, returning the parts in an array.
  However, any occurrence of the specified character enclosed between balanced parentheses/brackets/braces is ignored.
  
  @param symbols an optional functor to provide the complete set of balancing symbols
  @param text a String
  @param begin a begin offset
  @param end an end offset
  @param delimiter the character to split the string around
  @param extra an optional functor to provide balancing symbols in addition to the standard ones
  @return a String array containing the split parts