public static synchronized Address getInstance(String addressType) {

		int index = -1;

		if (addresses == null) {
			addresses = new ArrayList<>();
			Address address = new Address(addressType);
			addresses.add(address);
			index = 0;
		} else {
			int counter = 0;
			for (Address address : addresses) {
				if (address.getAddressType().equals(addressType)) {
					index = counter;
					break;
				}
				counter++;
			}
			if (index == -1) {
				Address address = new Address(addressType);
				addresses.add(address);
				index = counter;
			}
		}

		return addresses.get(index);
	}