code: public <T> Iterable<T> map(final Function<int[], T> f) {
          return Iterables.transform(iterable, f);
      }
docs: Map the mappings to another type. Each mapping is transformed using the
  provided function.
  
  <blockquote><pre>{@code
  
  final IAtomContainer query;
  final IAtomContainer target;
  
  Mappings mappings = Pattern.findSubstructure(query)
  .matchAll(target);
  
  // a string that indicates the mapping of atom elements and numbers
  Iterable&lt;String&gt; strs = mappings.map(new Function<int[], String>() {
  public String apply(int[] input) {
  StringBuilder sb = new StringBuilder();
  for (int i = 0; i &lt; input.length; i++) {
  if (i > 0) sb.append(", ");
  sb.append(query.getAtom(i))
  .append(i + 1)
  .append(" -> ")
  .append(target.getAtom(input[i]))
  .append(input[i] + 1);
  }
  return sb.toString();
  }});
  
  }</pre></blockquote>
  
  @param f function to transform a mapping
  @return iterable of the transformed type