code: public Iterable<String> components() {
      ImmutableList.Builder<String> components = ImmutableList.builder();
      buildComponents(components);
      return components.build();
    }
docs: Returns the components of this name as an iterable of strings, starting at the root. For the
  qualified name foo.bar.baz, this returns ["foo", "bar", "baz"].