code: @Override
      public Iterable<T> doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) {
          if ( JsonToken.BEGIN_ARRAY == reader.peek() ) {
  
              Collection<T> result = new ArrayList<T>();
  
              reader.beginArray();
              while ( JsonToken.END_ARRAY != reader.peek() ) {
                  result.add( deserializer.deserialize( reader, ctx, params ) );
              }
              reader.endArray();
              return result;
  
          } else if ( ctx.isAcceptSingleValueAsArray() ) {
  
              Collection<T> result = new ArrayList<T>();
              result.add( deserializer.deserialize( reader, ctx, params ) );
              return result;
  
          } else {
              throw ctx.traceError( "Cannot deserialize a java.lang.Iterable out of " + reader.peek() + " token", reader );
          }
      }
docs: {@inheritDoc}