public <T> Converter<ResponseBody, T> nextResponseBodyConverter(
      @Nullable Converter.Factory skipPast, Type type, Annotation[] annotations) {
    """
	Returns a {@link Converter} for {@link ResponseBody} to {@code type} from the available
	{@linkplain #converterFactories() factories} except {@code skipPast}.
	
	@throws IllegalArgumentException if no converter available for {@code type}.
    """
    checkNotNull(type, "type == null");
    checkNotNull(annotations, "annotations == null");

    int start = converterFactories.indexOf(skipPast) + 1;
    for (int i = start, count = converterFactories.size(); i < count; i++) {
      Converter<ResponseBody, ?> converter =
          converterFactories.get(i).responseBodyConverter(type, annotations, this);
      if (converter != null) {
        //noinspection unchecked
        return (Converter<ResponseBody, T>) converter;
      }
    }

    StringBuilder builder = new StringBuilder("Could not locate ResponseBody converter for ")
        .append(type)
        .append(".\n");
    if (skipPast != null) {
      builder.append("  Skipped:");
      for (int i = 0; i < start; i++) {
        builder.append("\n   * ").append(converterFactories.get(i).getClass().getName());
      }
      builder.append('\n');
    }
    builder.append("  Tried:");
    for (int i = start, count = converterFactories.size(); i < count; i++) {
      builder.append("\n   * ").append(converterFactories.get(i).getClass().getName());
    }
    throw new IllegalArgumentException(builder.toString());
  }
public <T> Converter<ResponseBody, T> nextResponseBodyConverter(
      @Nullable Converter.Factory skipPast, Type type, Annotation[] annotations) {
    checkNotNull(type, "type == null");
    checkNotNull(annotations, "annotations == null");

    int start = converterFactories.indexOf(skipPast) + 1;
    for (int i = start, count = converterFactories.size(); i < count; i++) {
      Converter<ResponseBody, ?> converter =
          converterFactories.get(i).responseBodyConverter(type, annotations, this);
      if (converter != null) {
        //noinspection unchecked
        return (Converter<ResponseBody, T>) converter;
      }
    }

    StringBuilder builder = new StringBuilder("Could not locate ResponseBody converter for ")
        .append(type)
        .append(".\n");
    if (skipPast != null) {
      builder.append("  Skipped:");
      for (int i = 0; i < start; i++) {
        builder.append("\n   * ").append(converterFactories.get(i).getClass().getName());
      }
      builder.append('\n');
    }
    builder.append("  Tried:");
    for (int i = start, count = converterFactories.size(); i < count; i++) {
      builder.append("\n   * ").append(converterFactories.get(i).getClass().getName());
    }
    throw new IllegalArgumentException(builder.toString());
  }
public < T > Converter < ResponseBody , T > nextResponseBodyConverter ( @ Nullable Converter . Factory skipPast , Type type , Annotation [ ] annotations ) { checkNotNull ( type , "type == null" ) ; checkNotNull ( annotations , "annotations == null" ) ; int start = converterFactories . indexOf ( skipPast ) + 1 ; for ( int i = start , count = converterFactories . size ( ) ; i < count ; i ++ ) { Converter < ResponseBody , ? > converter = converterFactories . get ( i ) . responseBodyConverter ( type , annotations , this ) ; if ( converter != null ) { //noinspection unchecked return ( Converter < ResponseBody , T > ) converter ; } } StringBuilder builder = new StringBuilder ( "Could not locate ResponseBody converter for " ) . append ( type ) . append ( ".\n" ) ; if ( skipPast != null ) { builder . append ( "  Skipped:" ) ; for ( int i = 0 ; i < start ; i ++ ) { builder . append ( "\n   * " ) . append ( converterFactories . get ( i ) . getClass ( ) . getName ( ) ) ; } builder . append ( ' ' ) ; } builder . append ( "  Tried:" ) ; for ( int i = start , count = converterFactories . size ( ) ; i < count ; i ++ ) { builder . append ( "\n   * " ) . append ( converterFactories . get ( i ) . getClass ( ) . getName ( ) ) ; } throw new IllegalArgumentException ( builder . toString ( ) ) ; }
Returns a {@link Converter} for {@link ResponseBody} to {@code type} from the available
{@linkplain #converterFactories() factories} except {@code skipPast}.

@throws IllegalArgumentException if no converter available for {@code type}.
Returns a { @link Converter } for { @link ResponseBody } to { @code type } from the available { @linkplain #converterFactories () factories } except { @code skipPast } .