code: @Override
      public StringConverter<?> findConverter(Class<?> cls) {
          if (cls.isArray()) {
              if (cls == Long[].class) {
                  return LongArrayStringConverter.INSTANCE;
              }
              if (cls == Integer[].class) {
                  return IntArrayStringConverter.INSTANCE;
              }
              if (cls == Short[].class) {
                  return ShortArrayStringConverter.INSTANCE;
              }
              if (cls == Double[].class) {
                  return DoubleArrayStringConverter.INSTANCE;
              }
              if (cls == Float[].class) {
                  return FloatArrayStringConverter.INSTANCE;
              }
          }
          return null;
      }
docs: Finds a converter by type.
  
  @param cls  the type to lookup, not null
  @return the converter, null if not found
  @throws RuntimeException (or subclass) if source code is invalid