InputStream arquivos TAR

Olá a todos,

Tenho um arquivo tar que dentro dele existe um gz com alguns arquivos. Nao quero descompactar somente ler o conteudo do arquivo que apesar de nao ser um xml o mesmo é estruturado atraves de tags, quero ler o arquivo usando o SAXBuilder, já efetuei o teste com um arquivo descompactado e é possivel ler o arquivo normalmente. Bom agora vamos ao problema, vejam:

Tenho uma classe que tem um método onde passo um InputStream que no caso é o arquivo TAR. Como este arquivo possui varios arquivos GZ, percorro ele até achar o arquivo GZ que eu quero, então processo este ultimo. Quero que para cada entrada do meu TarInputStream seja carregado o arquivo, porém nao consigo fazer isto, segue o meu método:

public void getProfilePortDirectory(InputStream in) throws IOException, JDOMException {        
        
        TarInputStreamGvt tin = new TarInputStreamGvt(in);
        List<TarInputStreamGvt> tarProfilesPort = new ArrayList<TarInputStreamGvt>();
        TarEntry tarEntry = tin.getNextEntry();
        GZIPInputStream gzip = null;
        ZipEntry zipEntry;
        while (tarEntry != null) {
            if (tarEntry.getName().matches("profiles/Adsl2PortProfile.tar.gz")) {
                gzip = new GZIPInputStream(tin);
                break;
            }
            tarEntry = tin.getNextEntry();
        }        

        TarInputStreamGvt tarPort = new TarInputStreamGvt(gzip);
        TarEntry tarEntryPort = tarPort.getNextEntry();
        while (tarEntryPort != null) {            
            Document d = new SAXBuilder().build(tarPort);
            tarEntryPort = tarPort.getNextEntry();
        }
        tin.close();
        tarPort.close();
    }

Na linha onde eu faço o buid estou recebendo a seguinte exception:

Exception in thread "main" java.io.IOException: reading from an output buffer

Nao entendo pq o meu TarInputStreamGvt é de certa forma uma implementação de um InputStream já que ele herda da classe TarInputStream da lib javatar. Outro detalhe interessante é que eu consigo ler byte a byte e mostrar o conteudo, mas colocando no build o TarInputStreamGvt nao funciona, algum sabe o que pode estar ocorrendo?

Att,

Paulo