public void printMetadataInfo() throws IOException {
        if (flac instanceof FlacOggFile) {
            FlacOggFile ogg = (FlacOggFile)flac;
            System.out.println("FLAC-in-Ogg, in stream " + ogg.getSid());
        } else {
            System.out.println("FLAC Native");
        }

        // Output The information
        FlacInfo info = flac.getInfo();
        System.out.println(INDENT1 + "Min Block Size=" + info.getMinimumBlockSize());
        System.out.println(INDENT1 + "Max Block Size=" + info.getMaximumBlockSize());
        System.out.println(INDENT1 + "Min Frame Size=" + info.getMinimumFrameSize());
        System.out.println(INDENT1 + "Max Frame Size=" + info.getMaximumFrameSize());
        System.out.println(INDENT1 + "Num Channels=" + info.getNumChannels());
        System.out.println(INDENT1 + "Bits Per Sample=" + info.getBitsPerSample());
        System.out.println(INDENT1 + "Sample Rate=" + info.getSampleRate());
        System.out.println(INDENT1 + "Num Samples=" + info.getNumberOfSamples());
        System.out.println(INDENT1 + "Pre Skip=" + info.getPreSkip());

        // Output a comments summary
        FlacTags tags = flac.getTags();
        System.out.println(tags.getAllComments().size() + " Comments:");
        for (String tag : tags.getAllComments().keySet()) {
            System.out.println(INDENT1 + tag);
            for (String value : tags.getAllComments().get(tag)) {
                System.out.println(INDENT2 + value);
            }
        }
        System.out.println();
    }