code: public GenericType[] nextGenericTypes () {
  		int index = genericTypesSize;
  		if (index > 0) {
  			index--;
  			GenericType genericType = genericTypes[index];
  			if (genericType.arguments == null) return null;
  			// The depth must match to prevent the types being wrong if a serializer doesn't call nextGenericTypes.
  			if (depths[index] == kryo.getDepth() - 1) {
  				pushGenericType(genericType.arguments[genericType.arguments.length - 1]);
  				return genericType.arguments;
  			}
  		}
  		return null;
  	}
docs: Returns the current type parameters and {@link #pushGenericType(GenericType) pushes} the next level of type parameters for
  subsquent calls. Must be balanced by {@link #popGenericType()} (optional if null is returned). If multiple type parameters
  are returned, the last is used to advance to the next level of type parameters.
  <p>
  {@link #nextGenericClass()} is easier to use when a class has a single type parameter. When a class has multiple type
  parameters, {@link #pushGenericType(GenericType)} must be used for all except the last parameter.
  @return May be null.