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;
    }
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 ; }
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