public static IpInfo getIpInfo(final String ipAddress) {
        IpInfo ipLookup = new IpInfo();

        if (!IPAddressValidator.getInstance().validate(ipAddress)){
            ipLookup.setErrorMsg("Invalid IP Address");
        }else{
            sortServicesByPriority();
            try {
                for (int i = 0; i < serviceList.size(); i++) {
                    ipLookup = serviceList.get(i).getIpValue(ipAddress);
                    if (StringUtil.isNullSpacesOrEmpty(ipLookup.getErrorMsg())) {
                        return ipLookup;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return ipLookup;
    }