code: @SuppressWarnings("unchecked")
      public static <M extends PMessage<M,F>, F extends PField, B extends PMessageBuilder<M,F>>
      List<B> mutateAll(Collection<M> messages) {
          if (messages == null) {
              return null;
          }
          return (List<B>) messages.stream()
                                   .map(PMessage::mutate)
                                   .collect(Collectors.toList());
      }
docs: Mutate all items of the collection containing messages. The list must not
  contain any null items.
  
  @param messages List of messages
  @param <M> The message type.
  @param <F> The field type.
  @param <B> The builder type.
  @return List of builders or null if null input.