private static void check14() {
        if (!checked14) {
            checked14 = true;
            StringTokenizer st = new StringTokenizer(System.getProperty("java.specification.version"), ".");
            try {
                int major = Integer.parseInt(st.nextToken());
                int minor = Integer.parseInt(st.nextToken());
                is14 = major > 1 || (major == 1 && minor >= 4);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        if (!is14)
            throw new UnsupportedOperationException("this operation requires Java 1.4 or higher");
    }