code: public Object invoke(String text) {
          if (_componentType != null) {
              if (text == null || text.length() == 0) {
                  return null;
              } else {
                  String[] texts = ARRAY_VALUE_SEPARATOR.split(text);
                  Object array = Array.newInstance(_componentType, texts.length);
                  for (int i = 0; i < texts.length; ++i) {
                      Array.set(array, i, convert(texts[i]));
                  }
                  return array;
              }
          } else {
              return convert(text);
          }
      }
docs: Converts a text into a value.
  <p>
  Note: If the text is an empty string, it is converted to
  <ul>
  <li>Empty string "", if the associated type is String</li>
  <li>null, otherwise</li>
  </ul>
  
  @param text the string to convert
  @return the converted object
  @throws IllegalArgumentException if the text cannot be converted into a value