public static String supportReport(boolean abbrev) {
        ArrayList<Property> props= new ArrayList<Property>();
        for(Property p : MediaProperty.values() ) {
            props.add(p);
        }
        Collections.sort(props, new Sorter());
        String fmt;
        if(abbrev) {
        	fmt="%-40.40s|%-38.38s\n";
        } else {
        	fmt="%-40.40s|%-43.43s|%-20.20s|%-25.25s|%-33.33s\n";
        }
        
        String r=String.format(fmt,"Property","Description","Data type","Id3v2 field(s)","Vorbis field(s)");
        for(Property p : props ) {
            r+=String.format(fmt,
                    p.getName(),
                    p.getDescription(),
                    p.getDataType().getSimpleName(),
                    Registry.describeId3v2Support(p),
                    Registry.describeVorbisSupport(p));
        }
        return r;
    }