code: public static PrintFields from(final Iterable<String> fields) {
          return (fields instanceof PrintFields) ? (PrintFields)fields : new PrintFields(fields);
      }
docs: Converts an iterable of strings into a {@code PrintFields}. This method can be more efficient than using the
  equivalent constructor but the returned object might be backed by the object provided.
  
  @param fields The references to convert
  @return An equivalent instance of {@code PrintFields}