handleEncodings(result);
    public static Properties normalize(String url, Properties props) throws SQLException {                Properties tempProps = new Properties();        tempProps.putAll(props);                convertUrlParams(url, tempProps);                Properties result = new Properties();                for (Iterator iter = tempProps.entrySet().iterator(); iter.hasNext();) {            Map.Entry entry = (Map.Entry) iter.next();            String propName = (String)entry.getKey();            String propValue = (String)entry.getValue();                        PropertyInfo propInfo = (PropertyInfo)aliases.get(propName);                        // check if alias is not used together with original property            if (propInfo != null) {                String originalName = propInfo.dpbName;                String shortName = propInfo.dpbName.substring(                    FBConnectionHelper.DPB_PREFIX.length());                                boolean hasDuplicate = tempProps.keySet().contains(originalName)                        || tempProps.keySet().contains(shortName);                                if (hasDuplicate)                    throw new FBSQLException("Specified properties contain " +                            "reference to a DPB parameter under original and " +                            "alias names: original name " + propInfo.dpbName +                             ", alias : " + propInfo.alias);            }                        // if the specified property is not an alias, check            // the full list            if (propInfo == null) {                String tempKey = propName;                if (!tempKey.startsWith(FBConnectionHelper.DPB_PREFIX))                    tempKey = FBConnectionHelper.DPB_PREFIX + tempKey;                                propInfo = (PropertyInfo)dpbMap.get(tempKey);            }                        // skip the element if nothing if found            if (propInfo == null)                continue;                        result.put(propInfo.dpbName, propValue);        }                return result;    }