parseList(signature.substring(paramStartIdx, i), new Function<String, Type>() { @Override public Type apply(@Nullable String s) { ImmutableList.<Type>of(), ImmutableList.<Integer>of(), parseList(signature.substring(paramStartIdx, i), new Function<String, Field>() { @Override public Field apply(@Nullable String s) { return createType(baseType, ImmutableList.<Type>of(), parseList(signature.substring(paramStartIdx, i), new Function<String, Integer>() { @Override public Integer apply(@Nullable String s) {