@@ -0,0 +1,2152 @@
+package com.op1.aiff;%0A%0Aimport com.op1.iff.Chunk;%0Aimport com.op1.iff.IffReader;%0Aimport com.op1.iff.types.ID;%0Aimport com.op1.iff.types.SignedLong;%0Aimport com.op1.util.Check;%0A%0Aimport java.io.IOException;%0Aimport java.util.Arrays;%0A%0Apublic class UnknownChunk implements Chunk %7B%0A%0A    private ID chunkId;%0A    private SignedLong chunkSize;%0A    private byte%5B%5D chunkData;%0A%0A    private UnknownChunk() %7B%0A    %7D%0A%0A    private UnknownChunk(UnknownChunk chunk) %7B%0A        this.chunkId = chunk.getChunkID();%0A        this.chunkSize = chunk.getChunkSize();%0A        this.chunkData = Arrays.copyOf(chunk.getChunkData(), chunk.getChunkData().length);%0A    %7D%0A%0A    @Override%0A    public ID getChunkID() %7B%0A        return chunkId;%0A    %7D%0A%0A    public SignedLong getChunkSize() %7B%0A        return chunkSize;%0A    %7D%0A%0A    public byte%5B%5D getChunkData() %7B%0A        return chunkData;%0A    %7D%0A%0A    public static class Builder %7B%0A%0A        private final UnknownChunk instance;%0A%0A        public Builder() %7B%0A            instance = new UnknownChunk();%0A        %7D%0A%0A        public UnknownChunk build() %7B%0A            Check.notNull(instance.chunkId, %22Missing chunkId%22);%0A            Check.notNull(instance.chunkSize, %22Missing chunkSize%22);%0A            Check.notNull(instance.chunkData, %22Missing chunkData%22);%0A            return new UnknownChunk(instance);%0A        %7D%0A%0A        public Builder withChunkId(ID chunkId) %7B%0A            instance.chunkId = chunkId;%0A            return this;%0A        %7D%0A%0A        public Builder withChunkSize(SignedLong chunkSize) %7B%0A            instance.chunkSize = chunkSize;%0A            return this;%0A        %7D%0A%0A        public Builder withChunkData(byte%5B%5D chunkData) %7B%0A            instance.chunkData = chunkData;%0A            return this;%0A        %7D%0A    %7D%0A%0A    public static UnknownChunk readUnknownChunk(IffReader iffReader, ID chunkId) throws IOException %7B%0A        final SignedLong chunkSize = iffReader.readSignedLong();%0A        final byte%5B%5D chunkData = iffReader.readBytes(chunkSize.toInt());%0A        return new UnknownChunk.Builder()%0A                .withChunkId(chunkId)%0A                .withChunkSize(chunkSize)%0A                .withChunkData(chunkData)%0A                .build();%0A    %7D%0A%7D%0A

Create UnknownChunk.java