code: private AddressComponent copy(final AddressComponent in) {
          final AddressComponent out = new AddressComponent();
          out.longName = in.longName;
          out.shortName = in.shortName;
          out.types = Arrays.copyOf(in.types, in.types.length);
          return out;
      }
docs: Copy an address component. Since they are NOT immutable, I don't
  want to mess with the variability of the damn things.
  
  @param in the component to copy
  @return the copy